早期的视频文件将多语言放在了左右声道,手机上播放时,很多播放器并没有切换声道的功能,所以需要做分离
导出单声道视频
ffmpeg -i 01.rmvb -c:v h264 -af pan="stereo| c0=FR | c1=FR" -acodec aac 01.mp4
这里的FR是右声道,如果需要左声道,则改成FL。但这个丢了一个声道数据,并不完美
导出为多音轨
ffmpeg -i 01.rmvb -map 0:0 -map 0:1 -map_channel 0.1.1:0.1 -map 0:1 -map_channel 0.1.0:0.2 -c:v h264 -c:a:0 aac -b:a:0 128k -c:a:1 aac -b:a:1 128k 01.mkv
这里将右声道放到了第一音轨,如果需要放左声道放到第一音轨,则调换两个-map_channel后的参数即可。
如果需要处理多个文件,可以做成批处理
for %%G in (*.rmvb) do ffmpeg -i "%%~G" -map 0:0 -map 0:1 -map_channel 0.1.1:0.1 -map 0:1 -map_channel 0.1.0:0.2 -c:v h264 -c:a:0 aac -b:a:0 64k -c:a:1 aac -b:a:1 64k "%%~nG.mkv"