Как всегда, есть несколько способов выполнения таких задач в FFmpeg.
Больше всего мне знакомо использование channelsplit
фильтра для разделения ваших аудиопотоков и определения меток для каждого из них. Таким образом, вы можете выполнить различные фильтры для любого из каналов по отдельности и отобразить выходные данные для включения любой комбинации каналов, которую вы хотите.
Фильтр будет выглядеть примерно так:
ffmpeg -i [INPUT_video] -i [INPUT_3channel_audio] -filter_complex "[1:a]channelsplit[1][2][3];...."
В этом примере мы разделили каждый из 3 каналов на новые метки: [1]
[2]
и [3]
. Эти метки теперь можно вызывать последними и проталкивать через другие фильтры и / или отображать на конечный результат.
Надеюсь это поможет!