如何使用ffmpeg从视频中提取单个帧?

时间:2015-11-13 20:26:37

标签: video ffmpeg video-streaming

我有从Youtube下载的一堆视频,我想从中提取帧。我正在使用的当前命令是:

ffmpeg -i input.mp4 -an -s qvga %06d.png

但我也想设置-r和-t选项。我希望fps是每个视频的fps,持续时间是它们的持续时间。我知道如果我没有设置-r选项,则默认值为25 fps。

所以有人可以帮忙吗?如何添加-r和-t选项?是否有更好,更准确的方法从视频中获取单个帧?非常感谢。

1 个答案:

答案 0 :(得分:1)

输出图像时,无需设置持续时间(inv(X'*X)*(X'*Y))或帧速率(-t)。默认情况下,-r将输出所有图像。

其他说明:

  • 如果您想限制持续时间,例如只需要前3秒的图片,请使用ffmpeg

  • 如果您想限制输出帧数,例如只需要前100帧,请使用-t 3

  • 单个图像没有帧速率。如果您添加-frames:v 100,则-r会在ffmpeg与输入帧速率不同时复制或丢弃帧。省略-r将输出所有图像。

  • 输出图像时不需要-r

  • 使用scale filter-an更灵活。它可以防止拉伸,因为它可以保持纵横比:-s