如何将 MKV 电影 5.1 音轨转换为 2.0(立体声)但保留原始音轨

How to convert MKV movies 5.1 audio tracks to 2.0 (Stereo) but keep the original ones

为了解决我遇到的 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"
)