使用ffmpeg从jpeg图像生成gif

8
我希望从jpeg图片列表中创建一个gif图像,一切都正常,但是我如何减慢动画速度?
这是我的代码:
<?php
exec('ffmpeg -f image2 -i thumb/%001d.jpg -vf scale=480x240  out.gif');
?>
2个回答

6

要减缓图像序列的速度,请降低其帧率。

ffmpeg -f image2 -framerate 10 -i thumb/%001d.jpg -vf scale=480x240  out.gif

0

您需要使用-r标志来设置帧率(以每秒帧数为单位)。根据官方文档:

-r[:stream_specifier] fps (input/output,per-stream)

设置帧率(Hz值、分数或缩写)。

作为输入选项,忽略文件中存储的任何时间戳,并生成假定恒定帧速率fps的时间戳。这与用于某些输入格式(如image2或v4l2)的-framerate选项不同(在旧版本的FFmpeg中曾经相同)。如果有疑问,请使用输入选项-r代替-framerate。

作为输出选项,复制或删除输入帧以实现恒定的输出帧速率fps。

例如,将其设置为30 fps:

ffmpeg -f image2 -i thumb/%001d.jpg -vf scale=480x240 -r 30 out.gif

注意:如果您想将-r参数应用于输出文件,则必须在输入文件之后出现。


只有在显示-r 1设置时才能工作,仅显示2帧。在缩略图目录中,我有6张图片,我想全部显示,并且每个图片都显示1秒钟。 - wojttaa
尝试在 out.gif 之前加上 -frames:v 6 - MTCoster

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接