来自视频的前x帧

时间:2012-06-27 15:37:33

标签: video ffmpeg imagemagick gif animated-gif

我需要从视频中获取前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。这里涉及许多不必要的步骤。

有没有人建议加快这个过程?

提前致谢!

1 个答案:

答案 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