Сначала запустить:
ffmpeg -i имя_файла
чтобы получить список stream-ов, который будет выглядеть приблизительно так:
Stream #0:0(eng): Video: h264 (High), yuv420p, 1920x800, 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
Stream #0:1(ger): Audio: dts (DTS), 48000 Hz, 5.1(side), s16, 1536 kb/s (default)
Stream #0:2(eng): Audio: dts (DTS), 48000 Hz, 5.1(side), s16, 1536 kb/s
Stream #0:3(ger): Subtitle: text (default)
Потом - собственно извлечь:
ffmpeg -i имя_файла -map 0:1 -c:a copy имя_выходного_аудиофайла
Значение параметра
-map
берёте из списка. В таком варианте, канал будет просто скопирован без изменений. Если вам требуется его еще и пересжать, то нужно вместо
-copy
задать параметры сжатия.
Для того, чтобы отделить стереоканалы, команда будет такой:
ffmpeg -i имя_аудиофайла -map_channel 0.0.0 left.wav -map_channel 0.0.1 right.wav
Не уверен, что параметр
-map_channel
будет работать, если вызвать его прямо для видеофайла, так что, возможно, вам придется сначала извлечь аудиопоток, а потом извлечь из него нужный канал второй командой.