【问题标题】:how to set frame delay when use ffmpeg to convert images to gif [closed]使用ffmpeg将图像转换为gif时如何设置帧延迟[关闭]
【发布时间】:2019-04-25 12:25:48
【问题描述】:

我想将图像序列转换为 gif,并且希望每一帧持续一定的时间,但我找不到如何执行此操作的示例。

我知道这个基本命令有效

ffmpeg -y -i %0d_Frame.jpg output.gif

但是我怎样才能让每一帧停留 1 秒呢?

【问题讨论】:

    标签: ffmpeg gif encode


    【解决方案1】:

    答案很简单: ffmpeg -framerate X -y -i %0d_Frame.jpg output.gif

    命令的顺序很重要,我一直将-framerate 放在-y -i 之后,但它不起作用。

    【讨论】:

    • 如果帧的持续时间不同怎么办?
    【解决方案2】:

    使用 ffmpeg 创建 gif 的关键管理帧延迟很简单:setpts

    在我的代码中,我将一个 mp4 文件转换为 gif。

    ffmpeg -y -i "input.mp4" -filter_complex "[0:v]fps=5,split[a][b];[b]palettegen[p];[a][p]paletteuse,setpts=0.5*PTS[v]" -map '[v]' "output.mp4"
    

    通过 fps,我们选择了多少帧以及我们用于 gif 的帧数

    通过setpts,我们选择了帧之间的延迟。 0.5 将帧之间的延迟减少到原始文件(input.mp4)中的一半

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-27
      • 2015-03-14
      • 2019-11-24
      • 2013-10-24
      • 2021-10-07
      • 2021-05-05
      相关资源
      最近更新 更多