Animation 如何使用ffmpeg指定输出图像帧的确切数量?

Animation 如何使用ffmpeg指定输出图像帧的确切数量?,animation,ffmpeg,Animation,Ffmpeg,我有N个输入动画帧作为文件夹中的图像,我想在帧之间创建插值,以创建长度为N*M的更平滑的动画,即,对于每个输入帧,我想创建M个输出帧,这些帧逐渐变形到下一帧,例如,使用minterpolate过滤器 换句话说,我想增加FPS M倍,但我不使用时间,因为我不使用任何视频格式,输入和输出都是存储为图像文件的图像序列 我试图将-r和FPS选项组合在一起,但没有成功,因为我不知道它们是如何协同工作的。例如: 我有12个输入帧 我想使用minterpolate过滤器实现120帧 我使用命令ffmpeg-

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

换句话说,我想增加FPS M倍,但我不使用时间,因为我不使用任何视频格式,输入和输出都是存储为图像文件的图像序列

我试图将
-r
FPS
选项组合在一起,但没有成功,因为我不知道它们是如何协同工作的。例如:

  • 我有12个输入帧
  • 我想使用
    minterpolate
    过滤器实现120帧
  • 我使用命令
    ffmpeg-I frames/f%04d.png-vf“fps=10,minterpolate”-r 100插值的_frames/f%04d.png
  • 我得到的结果是31个输出帧
是否有我应该使用的
-r
FPS
的特定组合?或者有没有其他方法可以满足我的需求


谢谢大家!

FFmpeg为没有固有帧速率的格式(如图像序列)指定25的帧速率

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

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

谢谢由于某种原因,这会产生101帧,但是如果我使用
-framerate1
fps=12
,我会得到121帧,几乎就是这样。