为了解决5.1电影之间确实存在对话的问题,我使用FFMPEG将我的MKV电影的每个音频轨道转换为具有音频标准化的2.0轨道,而视频和字幕保持不变。

该命令如下所示:

for /r %%i in (*.mkv) do (
    @ffmpeg.exe -hide_banner -v 32 -stats -y -i "%%i" -map 0:v -map 0:a -map 0:s? -c:s copy -c:v copy -acodec ac3 -ac 2 -ar 48000 -ab 640k -af %aproc2%  -f matroska "%%~ni [Stereo].mkv"
)

我现在想做的就是将这些转换后的音轨添加到5.1音轨中的MKV中,而不是替换将来可能需要的原始音轨。

我并不是FFMPEG的专家,所以我正在寻求帮助。

最佳答案

使用

for /r %%i in (*.mkv) do (
    @ffmpeg.exe -hide_banner -v 32 -stats -y -i "%%i" -map 0:v -map 0:a -map 0:a -map 0:s? -c:s copy -c:v copy -c:a:0 ac3 -ac:a:0 2 -ar:a:0 48000 -ab:a:0 640k -filter:a:0 %aproc2% -c:a:1 copy -f matroska "%%~ni [Stereo].mkv"
)

音频被映射两次。所有音频选项都附加了输出流说明符,因此它们仅适用于第一个音频输出,并且第二个音频输出的编解码器设置为复制。

对于具有多个轨道的输入,您将需要多个命令
for /r %%i in (*.mkv) do (
    @ffmpeg.exe -hide_banner -v 32 -stats -y -i "%%i" -map 0:a -c:a ac3 -ac 2 -ar 48000 -ab 640k -filter:a %aproc2% -f matroska "%%~dpni [Stereo].mka"
    @ffmpeg.exe -hide_banner -v 32 -stats -y -i "%%i" -i "%%~dpni [Stereo].mka" -map 0:v -map 0:a -map 1:a -map 0:s? -c copy -f matroska "%%~ni [Stereo].mkv"
)

关于audio - 如何将MKV电影5.1音轨转换为2.0(立体声)但保留原始音轨,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49718217/

10-15 22:51