Это простой ответ для таких людей, как я, которым нравятся простые рабочие объяснения. Это решение, когда вы копируете mkv в mp4 и хотите выбрать аудио потоки:
Вы должны написать -map 0:numberofstreamminusone перед -c: копия
Допустим, у видео есть 3 потока (вы можете увидеть это в mediainfo). Первый поток - это видео, второй - аудио по умолчанию, а третий - аудио не по умолчанию на нужном вам языке. Таким образом, вы должны написать -карту 0:2 НЕ -карту 0:3
Кроме того, вы должны написать -map 0:0 перед копией -c:v, потому что если вы этого не сделаете, ffmpeg не будет копировать видеопоток, а вы получите только аудиопоток (если у видео есть два видеопотока и вы хотите скопировать второй, вам нужно написать -карту 0:1)
Итак, последняя командная строка выглядит так:
ffmpeg -i "inputpath\input.mkv" -map 0:0 -c:v copy -map 0:2 -c:a copy "outputpath\output.mp4"
В этом случае вы получите первый видеопоток и третий аудиопоток
Другой пример:
ffmpeg -i "inputpath\input.mkv" -map 0:1 -c:v copy -map 0:6 -c:a copy "outputpath\output.mp4"
В этом случае вы должны получить второй видеопоток и седьмой аудиопоток
надеюсь, это поможет