我需要在FFMpeg中启用哪些编码器/解码器/复用器/解复用器/解析器才能将mp4视频转换为gif?

时间:2018-05-31 10:47:38

标签: ffmpeg android-ffmpeg

我正在使用自定义选项构建FFMpeg以减少android上的.so文件的最终大小。我想将mp4文件转换为gif。我已经设置了一些选项,因为我正在对mp4视频和aac音频进行其他处理。现在我被困在成功将mp4视频转换为gif。

以下是我指定的选项

 --disable-everything
 --enable-decoder=mpeg4,mpegvideo,aac,gif
 --enable-parser=aac,mpeg4video,mpegaudio,mpegvideo,gif
 --enable-demuxer=mpegvideo,aac,mov,gif
 --enable-muxer=mp4,gif,mov
 --enable-protocol=file
 --enable-encoder=mpeg4,mov,gif
 --enable-filter=scale,fps,copy,palettegen,vflip,paletteuse,crop

成功运行此命令需要添加哪些其他选项?

ffmpeg -y -i input.mp4 -vf "fps=15,scale=320:-1:flags=lanczos" -pix_fmt rgb24 output.gif

1 个答案:

答案 0 :(得分:0)

启用日志后,我发现我缺少h264的解码器。这是更新的选项。将h264添加到解码器,解析器,编码器,解复用器,复用器(虽然添加到所有这些都是不必要的但它可以工作)arm的组合.so文件小于3MB。

 --disable-everything
 --enable-decoder=mpeg4,mpegvideo,aac,gif,h264
 --enable-parser=aac,mpeg4video,mpegaudio,mpegvideo,gif,h264
 --enable-demuxer=mpegvideo,aac,mov,gif,h264
 --enable-muxer=mp4,gif,mov,h264
 --enable-protocol=file
 --enable-encoder=mpeg4,mov,gif,h264
 --enable-filter=scale,fps,copy,palettegen,vflip,paletteuse,crop