Как создать видео с изображениями с помощью FFmpeg?

ffmpeg -r 1/5 -start_number 2 -i img%03d.png -c:v libx264 -r 30 -pix_fmt yuv420p out.mp4 

Эта строка работала нормально, но я хочу создать видеофайл из изображений в другой папке. Имена изображений в моей папке:

 img001.jpg img002.jpg img003.jpg ... 

Как я могу вводить файлы изображений из другой папки? Пример: C:\mypics

Я попробовал эту команду, но ffmpeg создал видео только с первым изображением (img001.jpg).

 ffmpeg -r 1/5 -start_number 0 -i C:\myimages\img%03d.png -c:v libx264 -r 30 -pix_fmt yuv420p out.mp4 

См. « Создание слайд-шоу для видео с изображений» – FFmpeg

Если ваше видео не отображает фреймы правильно. Если у вас возникли проблемы, например, первое изображение пропущено или отображается только для одного кадра, используйте фильтр видео fps вместо -r для выходной частоты кадров

 ffmpeg -r 1/5 -i img%03d.png -c:v libx264 -vf fps=25 -pix_fmt yuv420p out.mp4 

В качестве альтернативы, фильтр формата изображения может быть добавлен в фильтр-цепочку для замены -pix_fmt yuv420p, например «fps = 25, format = yuv420p» . Преимущество этого метода заключается в том, что вы можете контролировать, какой фильтр идет первым

 ffmpeg -r 1/5 -i img%03d.png -c:v libx264 -vf "fps=25,format=yuv420p" out.mp4 

Я тестировал ниже параметры, он работал для меня

 "e:\ffmpeg\ffmpeg.exe" -r 1/5 -start_number 0 -i "E:\images\01\padlock%3d.png" -c:v libx264 -vf "fps=25,format=yuv420p" e:\out.mp4 

ниже также работают параметры, но он всегда пропускает первое изображение

 "e:\ffmpeg\ffmpeg.exe" -r 1/5 -start_number 0 -i "E:\images\01\padlock%3d.png" -c:v libx264 -r 30 -pix_fmt yuv420p e:\out.mp4 

создание видео с изображений, размещенных в разных папках

Сначала добавьте пути изображения к imagepaths.txt, как показано ниже.

 # this is a comment details https://trac.ffmpeg.org/wiki/Concatenate file 'E:\images\png\images__%3d.jpg' file 'E:\images\jpg\images__%3d.jpg' 

Пример использования образца;

 "h:\ffmpeg\ffmpeg.exe" -y -r 1/5 -f concat -safe 0 -i "E:\images\imagepaths.txt" -c:v libx264 -vf "fps=25,format=yuv420p" "e:\out.mp4" 

-safe 0 предотвращает ошибку небезопасного имени файла

Ссылки по теме

FFmpeg делает видео с изображений, размещенных в разных папках

FFMPEG Промежуточное руководство / последовательность изображений

Конкатенация – FFmpeg

-pattern_type glob

Этот отличный вариант облегчает выбор изображений во многих случаях:

 ffmpeg -framerate 1 -pattern_type glob -i '*.jpg' -c:v libx264 \ -r 30 -pix_fmt yuv420p out.mp4 

Обратите внимание, что, несмотря на имя, это не так общее, как шаблоны оболочки, например: -i '*' failed: https://trac.ffmpeg.org/ticket/3620 (по-видимому, поскольку тип файла выводится из расширения).

-r 30 – это преодоление ошибок в таких проигрывателях, как VLC для низких кадров: проблемы с воспроизведением в VLC с низким fps видео с изображений с использованием ffmpeg

Смотрите также:

Протестировано на ffmpeg 2.8.6, Ubuntu 16.04.

Interesting Posts

CSV-анализ в Java – рабочий пример ..?

Иерархическая firebase database MySQL Closure Table – Как вывести информацию в правильном порядке

сравнить два изображения в android

Что такое lambda-выражение в C ++ 11?

jQuery bind click * НИЧЕГО * но * ELEMENT *

Совместное использование данных между расширением общего доступа iOS 8 и основным приложением

Можно использовать тип Nullable как общий параметр?

Как проверить, что жесткий диск заполнен нулями в Linux?

если два слова являются анаграммами друг друга

Как использовать jQuery для отображения / скрытия divs на основе выбора переключателя?

Уровни DAO и Service (JPA / Hibernate + Spring)

Проверьте, доступно ли свойство для динамической переменной

Как я могу увеличить дату на один день в Java?

Массив для разметки указателя и передачи многомерных массивов в функции

Как преобразовать строку даты с необязательными дробными секундами, используя Codable в Swift4

Давайте будем гением компьютера.