如何使用 ffmpeg 提取具有特定 fps 和缩放比例的帧

如何使用 ffmpeg 提取具有特定 fps 和缩放比例的帧

我想提取 fps=25 的帧并将帧重新缩放为 320x240。

我已尝试过:

ffmpeg -i video.avi -vf scale="320x240" fps=25   frames/c01_%04d.jpeg

它返回fps=25: Invalid argument

但是当我使用 fps 或 scale 运行它时它可以工作。

ffmpeg -i video.avi -vf scale="320x240"    frames/c01_%04d.jpeg

或者

ffmpeg -i video.avi -vf  fps=25   frames/c01_%04d.jpeg

可以了。如何使用 scale 和 fps 过滤器运行 ffmpeg?

答案1

使用逗号连接简单的过滤器:

ffmpeg -i video.avi -vf "scale=320:240,fps=25" frames/c01_%04d.jpeg

每秒帧数

使用 fps 过滤器提取帧时请注意,如果输入帧速率:

  • 与 fps 值相同,则过滤器不执行任何操作,您可以将其删除。

  • 高于 fps 值,则将省略一些帧以匹配 fps 值。如果是这种情况,则在缩放之前使用 fps,过程将更快。

  • 低于 fps 值,则一些帧将被复制以匹配 fps 值。

如果你想要简单地提取全部然后删除帧数过滤器。

规模

考虑只声明宽度或者高度并使用-1作为另一个的值,例如320:-1-1:240。这样做将允许过滤器自动选择适当的值,同时保留纵横比。这将防止输出图像纵横比的拉伸。

JPEG格式

使用-q:v-qscale:v控制质量

相关内容