Я пытаюсь написать команду так, чтобы ffmpeg выполнял заданную инструкцию для первого аудиопотока в файле и другую инструкцию для всех остальных. Например, в приведенном ниже тестовом примере я хочу, чтобы первый поток был скопирован в выходной файл, а все остальные преобразованы в моно. Если я напишу это так
ffmpeg -i INPUT -map 0 -c copy -map 0:a:0 -c:a:0 copy -map -0:a:0? -c:a libfdk_aac -ac 1 OUTPUT
первый аудиопоток игнорируется, когда сопоставление переопределяется позже в командной строке. Но если я переместу инструкцию для этого потока к другим
ffmpeg -i INPUT -map 0 -c copy -map -0:a:0? -c:a libfdk_aac -ac 1 -map 0:a:0 -c:a:0 copy OUTPUT
он больше не игнорируется, но становится последним аудиопотоком в файле. Я знаю, что я здесь близко; Я просто не вижу, что я делаю не так.