【问题标题】:How to specify the exact number of output image frames with ffmpeg?如何使用 ffmpeg 指定输出图像帧的确切数量?
【发布时间】:2020-11-14 21:57:02
【问题描述】:

我有 N 个输入动画帧作为文件夹中的图像,我想在帧之间创建插值以创建长度为 N * M 的更平滑的动画,即对于每个输入帧我想创建 M 逐渐变形到下一帧的输出帧,例如使用minterpolate 过滤器。

换句话说,我想增加 FPSM 倍,但我没有使用时间,因为我没有使用任何视频格式,包括输入和输出是存储为图像文件的图像序列。

我试图结合-rFPS 选项,但没有成功,因为我不知道它们如何协同工作。例如:

  • 我有 12 个输入帧。
  • 我想用minterpolate滤镜达到120帧。
  • 我使用命令ffmpeg -i frames/f%04d.png -vf "fps=10, minterpolate" -r 100 interpolated_frames/f%04d.png
  • 我得到的结果是 31 个输出帧。

我应该使用-rFPS 的特定组合吗?还是有其他方法可以实现我的需要?

谢谢!

【问题讨论】:

    标签: animation ffmpeg


    【解决方案1】:

    FFmpeg 将 25 的帧率分配给没有固有帧率的格式,例如图像序列。

    图像序列解复用器具有设置帧速率的选项。并且 mininterpolate 过滤器有一个目标 fps 的选项。

    ffmpeg -framerate 12 -i frames/f%04d.png -vf "minterpolate=fps=120" interpolated_frames/f%04d.png
    

    【讨论】:

    • 谢谢!出于某种原因,这会产生 101 帧,但如果我使用 -framerate 1fps=12,我会得到 121 帧,几乎就在那里。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多