1

我需要从视频(通常是 FLV)中获取前 x 帧并将其转换为 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。这里涉及很多不必要的步骤。

有人对加快此过程有什么建议吗?

提前致谢!

4

1 回答 1

1

FFMPEG不太擅长创建动画 gif。根据文档,它们将被解压缩。但是在读取不同的视频编解码器时,ffmpeg 非常通用。

ImageMagick可以创建好的动画 gif,但视频功能非常有限。但是,它显然具有基本的 .avi 支持。

您可以通过将输入视频转换为通用 avi 流ffmpeg并将其直接通过管道传输到convert.

这对我有用:

ffmpeg -i movie.mov -t 1 -f avi -|convert -delay 1 - preview.gif
于 2012-06-27T15:49:27.360 回答