#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
Предполагается, что файлы изображений имеют одинаковую ширину и высоту, а аудиофайлы имеют одинаковую компоновку канала и частоту дискретизации.
Более сложный метод заключается в использовании фильтра объединения, который позволяет вам делать все это одной командой, но вам придется вводить длительность каждого сегмента изображения, чтобы соответствовать соответствующей длительности звука.