FFMPEG更改音频和字幕的fps,并合并2个文件

时间:2019-12-12 13:37:14

标签: ffmpeg mkv

我有30个mkv文件,其中包含多个音频流和多个字幕。

对于每个文件,我都尝试:从该文件中提取荷兰语音频和字幕(25fps)
并将其与另一个mkv文件(23.976216fps)合并

使用此命令,似乎我将荷兰音频和字幕提取到了mkv中:

ffmpeg -y -r 23.976216 -i "S01E01 - Example.mkv" -c copy -map 0:m:language:dut S01E01.mkv

但是它不会将fps从25调整为23.976216。
我想我将使用mkvmerge合并两个mkv,但它们必须具有相同的帧速率
有人知道我该怎么做吗?谢谢! :)

2 个答案:

答案 0 :(得分:0)

视频的帧速率与音频的帧速率无关。他们是完全独立的。实际上,实际上并没有音频帧率之类的东西(是的,但这是编解码器的副产品)。如果要通过丢帧来更改视频帧速率,则不会更改视频时长,因此不应更改音频时长。如果您正在放慢视频的速度,则必须解码音频,放慢音频(可能使用音高校正),然后重新编码。

答案 1 :(得分:0)

类似的事情会将音频音调从标准PAL更改为NTSC帧速率(例如,如果您的音轨是列表中的第二音频,请使用-ffffeg -i video.mkv并参见-查看示例)

ffmpeg -i video.mkv -vn -map 0:1 -filter:a atempo = 0.95904 -y slowed-down-audio-to-23.976-fps.ac3

(23976/25000 = 0.95904,这是NTSC电影所需的转换后的帧速率)

相反,您可以弄清楚如何加快NTSC标准帧速率音频到PAL系统(1.0427094)的运行。

例如,如果您要添加从其他来源获得的质量更好的音轨,则此技巧有效。