我想提取 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
。这样做将允许过滤器自动选择适当的值,同时保留纵横比。这将防止输出图像纵横比的拉伸。