С ffmpeg я вижу, как добавить музыкальный файл в качестве фона для видео, но проблема заключается в том, как сделать аудио-цикл/повтор. Есть ли выход?
Добавление повторного фонового звука с помощью ffmpeg
Ответ 1
ffmpeg
имеет многообещающий флаг -loop_input
, но пока не поддерживает аудиовходы.
Я бы порекомендовал sox
и опцию -shortest
для ffmpeg
в качестве решения.
sox short_audio.mp3 looped_audio.mp3 repeat 1000 # adjust count as necessary
ffmpeg -i input_video.mp4 -i looped_audio.mp3 -shortest output_video.mp4
Команда sox зациклит ввод, а команда ffmpeg будет использовать его для аудио, но остановится, когда закончится видео для обработки.
Ответ 2
Я столкнулся с той же проблемой и сумел сделать это с помощью фильтров ffmpeg и concat [enate]. Вот пример того, как сделать это три раза:
ffmpeg -i audio.wav -filter_complex "[0:a]afifo[a0];[0:a]afifo[a1];[0:a]afifo[a2];[a0][a1][a2]concat=n=3:v=0:a=1[a]" -map "[a]" out.wav