for %G in (*.mkv) do ffmpeg -i "%~G" -map 0:v -map 0:a -map 0:s? -ac 2 -y "%~nG立体声.mkv"
命令说明:
-i input_video.mkv
:指定输入文件。-map 0:v
:映射视频文件中的视频轨(0:v
表示视频文件中的所有视频流)。-map 0:a
:映射视频文件中的音频轨(0:a
表示视频文件中的所有音频流,0开始计数,如果只想要其中第二个音轨,可以使用-map 0:a:1)。- -map 0:s?:映射字幕轨,其中?用于确保没有字幕时不会出错
-ac 2
:设置音频通道数为2,实现从5.1声道到2.0立体声的转换。output_video.mkv
:指定输出文件,在命令最后。- 示例中文件名表示当前目录所有符合的后缀全部转换,可以根据实际需求修改
当然,也有大佬根据实际声道系数给出了详细的运算转换(https://lacozzi.blogspot.com/2017/04/how-to-sum-5.1-to-stereo.html)
转载如下:
ffmpeg -i 來源影片檔名(含副檔名) -c:v copy -af "pan=stereo|c0 = 1FL + 0.5FC + 0.6BL|c1 = 1FR + 0.5FC + 0.6BR" 輸出影片檔名(含副檔名)命令式非常簡單(相對於另外一篇在講取代影片聲音的批次命令...)
其中c0 = 1FL + 0.5FC + 0.6BL,和c1 = 1FR + 0.5FC + 0.6BR是左聲道(c0)和右聲道(c1)的係數和運算式。在目前的係數中表示”新的左聲道”的聲音來自”1份左前聲道 + 0.5份中間聲道 + 0.6份左後聲道”的組合。右聲道係數相同。
係數不是絕對,這個例子只是其中一組常用的係數,請依照實際情況調整。
ffmpeg -i 00083.mts -c:v copy -af "pan=stereo|c0 = 1FL + 0.5FC + 0.6BL|c1 = 1FR + 0.5FC + 0.6BR" 00083st.mts所以如果以00083.mts為來源,輸出影片為00083st.mts的話,命令式會長這樣: