FFmpeg объединяет видео с аудио, повторяет аудио, пока видео не закончится

FFmpeg объединяет видео с аудио, повторяет аудио, пока видео не закончится

Я использую

ffmpeg -i concatWithnoSound.mp4 -i music.mp4 -c:v copy -c:a aac -strict experimental -map 0:v:0 -map 1:a:0 output.mp4

Чтобы объединить видео с аудиофайлом, у меня возникла проблема: мой видеофайл динамический, поэтому его продолжительность может составлять 15 секунд или 2 минуты. Мне нужно повторять аудиофайл до тех пор, пока воспроизводится видео. Возможно ли это?

решение1

Это довольно просто. Лучший поддерживаемый способ (не требуется новых ffmpegверсий) — создать файл concat:

file 'music.mp4'
file 'music.mp4'
file 'music.mp4'
...

достаточно долго, чтобы убедиться, что ваш звук повторяется достаточно часто для желаемой продолжительности видео.

Тогда используйте

ffmpeg -i concatWithnoSound.mp4 -f concat -i concatfile -c:v copy -c:a aac -map 0:v:0 -map 1:a:0 -shortest output.mp4

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