Como Tom Yan mencionou em seu comentário, você pode usar ffprobe
para obter os índices de fluxo:
$ ffprobe -loglevel error -select_streams a -show_streams -show_entries stream=index,codec_name:tags=:disposition= -of csv input.mkv
stream,1,vorbis
stream,2,aac
stream,3,mp3
Suponho que você esteja usando o Linux, portanto, adicionar awk
fornecerá apenas o (s) índice (s) do (s) fluxo (s) aac. Neste exemplo, o resultado mostra o fluxo aac como índice de fluxo 2
:
$ ffprobe -loglevel error -select_streams a -show_streams -show_entries stream=index,codec_name:tags=:disposition= -of csv input.mkv | awk -F',' '/aac/ {print $2}'
2
Em seguida, use -map 0:2
no seu comando ffmpeg
.