Я проверил, была ли подобная тема, но, похоже, ее не было, или я плохо ищу. Ну ладно, к делу.
Я хотел создать видеофайл с разными звуковыми дорожками, где каждая звуковая дорожка в основном одинакова, но на разных языках. У меня есть пять звуковых дорожек в *.wav, и мне нужно объединить их с видео, чтобы выходной файл был видео, в котором пользователь сможет выбрать одну из 5 доступных звуковых дорожек для воспроизведения вместе с видео, как выбор языка в DVD. Я не уверен, стоит ли мне попробовать «map», «concat» или что-то совершенно другое?
Буду признателен за любую помощь в этом вопросе.
Ваше здоровье.
решение1
ffmpeg -i video -i audio1 -i audio2 -i audio3 -i audio4 -i audio5 \
-map 0:v -map 1:a -map 2:a -map 3:a -map 4:a -map 5:a \
-metadata:s:a:0 language=eng -metadata:s:a:0 title="Title 1" \
-metadata:s:a:1 language=sme -metadata:s:a:1 title="Title 2" \
-metadata:s:a:2 language=ipk -metadata:s:a:2 title="Title 3" \
-metadata:s:a:3 language=nob -metadata:s:a:3 title="Title 4" \
-metadata:s:a:4 language=swa -metadata:s:a:4 title="Title 5" \
-c:v copy -c:a libopus output.mkv
В этом случае вы не можете полагаться на значение по умолчанию.выбор потокаповедение, поэтому используйте
-map
вариантдля выбора каждого желаемого потока.Вы можете задать язык и/или метаданные заголовка для каждого аудиопотока. СмотретьИСО 639-2/Тдля трехбуквенного кода.
Этот пример будетпотоковое копирование(ремультиплексировать) видео вместо его перекодирования.
Вы не указали требуемые форматы вывода, поэтому я просто выбрал кодировщик libopus и формат выходного контейнера Matroska.