我需要从视频中获取前x帧(通常是FLV)并将其转换为GIF。我们的想法是使用这些GIF作为真实内容的简短预览。
目前,我们正在使用ffmpeg和imagemagick来做到这一点:
ffmpeg -y -i movie.flv -pix_fmt rgb32 -r fps extracted/%d.png
convert extracted/0.png ... extracted/50.png -delay 4 -loop 0 \
-set dispose Background -sample 256x256> preview.gif
所以基本上,首先提取帧,转换为PNG,然后将PNG再次组合成GIF。这里涉及许多不必要的步骤。
有没有人建议加快这个过程?
提前致谢!
答案 0 :(得分:1)
FFMPEG 并不擅长制作GIF动画。根据{{3}},它们将是未压缩的。但是ffmpeg在阅读不同的视频编解码器时非常通用。
ImageMagick 可以创建出色的动画GIF,但视频功能非常有限。但是,the docs
您可以在没有中间png文件的情况下将输入视频转换为ffmpeg
的通用avi流,并直接将其输入convert
。
这对我有用:
ffmpeg -i movie.mov -t 1 -f avi -|convert -delay 1 - preview.gif