要求ffmpeg以原始帧速率提取帧

时间:2011-09-28 14:14:52

标签: ffmpeg

在FFmpeg文档(herehere)上,我读到,默认情况下,FFmpeg选择以每秒25帧的速度提取帧(否则您可以指定帧率) -r选项)

我的问题是我有一个包含数十个视频的文件夹,每个视频都以不同的帧速率录制,所以我的问题是:

有没有办法让FFmpeg“原生”帧速率(即录制视频的原始帧速率)从视频中提取帧?

如果重要,我正在处理MP4个文件

1 个答案:

答案 0 :(得分:2)

获取原始帧速率:

ffmpeg -i file.mp4 2>&1 | grep -o '[0-9]\{1,3\}\sfps'

示例输出:

25 fps

您可以将其发送至sed ... | sed 's/\sfps//'以仅保留25,并将其存储到变量中,以便您可以使用该变量转换视频,例如ffmpeg -r $originalFps

grep -o将提取匹配,而不是包含匹配的整行。

[0-9]\{1,3\}将匹配一到三位

\sfps将匹配空格,后跟'fps'