изменить соотношение сторон в ffmpeg, но сохранить два аудиопотока и субтитры

изменить соотношение сторон в ffmpeg, но сохранить два аудиопотока и субтитры

Я пытаюсь изменить видео AR с помощью ffmpeg следующим образом:

ffmpeg -i in.mp4 -aspect 16:9 -c copy out.mp4

...и хотя это в принципе работает, теряется второй аудиопоток, который присутствует в источнике, а также субтитры. Как это сделать, ничего не потеряв?

решение1

Карта всех потоков

ffmpeg -i in.mp4 -aspect 16:9 -map 0 -c copy out.mp4

По умолчанию FFmpeg выбереттолько одинвидео и аудио поток из источника, без карты.

решение2

Используйте mapпараметр для выбора аудиопотоков и копирования потоков по каждому потоку отдельно. Пример (пожалуйста, не копируйте пример как есть в вашей командной строке с комментариями, сначала необходимо удалить комментарии и отформатировать его как одну строку или соединить разрывы строк символом \!):

ffmpeg -i input.mp4
    -map 0:0 -map 0:1  # Include both (2) audio streams  
    -aspect 16:9       # Change video aspect ratio
    -c:v copy          # Copy audio codec settings
    -c:a copy          # Copy audio codec settings
    -c:s copy          # Copy subtitles
    output.mp4

или

ffmpeg -i input.mp4
    -map 0:?           # Include all audio streams  
    -aspect 16:9       # Change video aspect ratio
    -c:v copy          # Copy audio codec settings
    -c:a copy          # Copy audio codec settings
    -c:s copy          # Copy subtitles
    output.mp4

Связанный контент