Генерировать видео из изображений и аудио

#audio #video #ffmpeg #photo #video-editing

#Аудио #Видео #ffmpeg #фотография #редактирование видео

Вопрос:

У меня есть список изображений: 1.png, 2.png... и список аудиофайлов 1.mp3, 2.mp3...

Я хотел бы сгенерировать видеофайл, в котором аудиоклипы объединяются, и каждое изображение отображается поверх соответствующего аудиоклипа: пример изображения

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

Существуют ли какие-либо фреймворки, которые позволили бы мне это сделать? Я бы хотел использовать FFmpeg CLI или что-то более высокоуровневое, если это возможно.

Комментарии:

1. ffmpeg на итерации входных данных с последующим объединением может это сделать .. n.png и n.mp3 являются входными данными для создания отдельных выходных данных (1,2,3.mp4), затем выполняется шаг объединения для объединения этих 3 файлов mp4. в документах ffmpeg есть 2 отдельных раздела, описывающих, как комбинировать входные данные статической фотографии со аудио и как объединять видеофайлы.

Ответ №1:

Ленивый метод заключается в том, чтобы создать каждый сегмент, а затем объединить его с помощью демультипликатора concat:

 ffmpeg -loop 1 -i 1.png -i 1.mp3 -c:v libx264 -preset stillimage -vf format=yuv420p -c:a aac -shortest 1.mp4
ffmpeg -loop 1 -i 2.png -i 2.mp3 -c:v libx264 -preset stillimage -vf format=yuv420p -c:a aac -shortest 2.mp4
ffmpeg -loop 1 -i 2.png -i 2.mp3 -c:v libx264 -preset stillimage -vf format=yuv420p -c:a aac -shortest 2.mp4
ffmpeg -f concat -i input.txt -c copy -movflags  faststart output.mp4
  

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

Более сложный метод заключается в использовании фильтра объединения, который позволяет вам делать все это одной командой, но вам придется вводить длительность каждого сегмента изображения, чтобы соответствовать соответствующей длительности звука.