конвертировать последовательность изображений с помощью ffmpeg - PullRequest
3 голосов
/ 18 июля 2010

Я использовал ffmpeg для преобразования последовательности JPEG в видео, используя следующий синтаксис

ffmpeg -f image2 -i frame%d.jpg -vcodec mpeg4 -b 800k video.avi

это работает, но если имена файлов начинаются не с 0, а затем в порядке возрастания, я получаю странные результаты. например, первый файл в каталоге это frame1, а последний файл - fram 61. Я должен отметить, что я всегда использую список jpegs, которые добавляются в инрентальном порядке. например, список файлов с именами frame1, fram2, fram3 и т. д.

отлично работает следующее

frame1.jpg to frame9.jpg

frame1.jpg to frame10.jpg frame2.jpg to frame8.jpg frame2.jpg to frame10.jpg frame2.jpg to frame11.jpg frame2.jpg to frame17.jpg frame2.jpg to frame20.jpg frame2.jpg to frame30.jpg frame2.jpg to frame61.jpg

следующее не работает

26 to 57 fail

с 11 по 61 неудача От 10 до 61 провал От 20 до 61 провал От 24 до 61 не удается

Могу ли я изменить аргументы для ffmpeg, чтобы он делал видео независимо от имени файла? (кадр% d)

Ответы [ 2 ]

3 голосов
/ 18 июля 2010

Единственный способ, с помощью которого я получил это, - это присвоение имен файлам кадров с постоянной фиксированной шириной для счетчиков кадров.Если вы берете кадры с веб-камер, проверьте, может ли это быть сделано самой веб-камерой, в противном случае вам придется переименовать ее самостоятельно.Вы можете разработать службу Windows, которая использует класс FileWatcher в C #, который «прослушивает» папку, в которую записывается фрейм, а затем переименовывает ее в другую папку с указанным выше форматом.Это сработало для меня.

frame01.jpg
frame02.jpg
...
frame10.jpg
frame11.jpg
...
frame61.jpg

Затем, используя это:

ffmpeg.exe -r 1 -f image2 -i frame%02d.jpg -r 16 -vcodec mpeg4 -b 800k -y video.avi

-i frame% 02d.jpg: показывает 2 цифры для счетчика кадров

Я добавил -r 1 и -r16 как дополнительные частоты кадров, которые я проверяю, чтобы работать для меня.

1 голос
/ 18 июля 2010

Вы можете переименовать все файлы jpeg, чтобы нумерация всегда начиналась с нуля и пробелов не было.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...