根据特定类型的流进行映射

根据特定类型的流进行映射

考虑以下文件

从‘infile.mp4’输入 #0, mov,mp4,m4a,3gp,3g2,mj2:
流#0:0(und):视频:h264 (高) (avc1 / 0x31637661),yuv420p,1920x1038
流 #0:1(eng):音频:aac(mp4a / 0x6134706D),48000 Hz,5.1,fltp,386 kb/s
流 #0:2(eng):音频:aac(mp4a / 0x6134706D),48000 Hz,立体声,fltp,124 kb/s

我想运行一个使用视频和立体声音频的命令。对于这个特定的文件,我只需运行

ffmpeg -i infile.mp4 -c copy -map v -map :2 outfile.mp4

但是如果音频流被切换,这将不起作用。我如何告诉 FFmpeg 仅使用 2 声道音频?

答案1

ffprobe -v 0 -of csv -show_streams infile.mp4 | awk '/stereo/, $0 = ":" $2' FS=,

结果

:2

相关内容