
У меня есть папка, полная изображений, которые идут от 0 до любого числа, и мне нужно превратить эти изображения в видео. Все они — файлы .PNG. Вот команда, которую я использую:
ffmpeg.exe -f image2 -framerate 30 -pattern_type sequence -start_number 1 -r 30 -i "img%%04d.jpg" -s 1280x720 test.avi
При запуске я получаю следующую ошибку:
[image2 @ 002be580] Could find no file with path 'img%04d.jpg' and index in the range 1-5
img%04d.jpg: No such file or directory
Что я могу изменить, чтобы это заработало?
решение1
последовательность шаблона
Тип шаблона по умолчанию. img%d.jpg
будет ожидать img1.jpg
, img2.jpg
и т.д. Использование img%04d.jpg
будет ожидать img0001.jpg
, img0002.jpg
и т.д.
ffmpeg -framerate 30 -i img%d.jpg -vf scale=1280:-1,format=yuv420p output.mp4
шаблон шара
Тип шаблона glob wildcard является гибким. Этот тип шаблона доступен, если libavformat был скомпилирован с поддержкой globing.
ffmpeg -framerate 30 -pattern_type glob -i "*.png" -vf scale=1280:-1,format=yuv420p output.mp4
Примечания
СмотритеДокументация по демультиплексору FFmpeg image2для получения дополнительной информации.
The
scale
фильтрв этом примере изменится ширина на 1280, а высота будет рассчитана автоматически для сохранения соотношения сторон.В зависимости от вашей версии, типа входных данных (например, PNG), кодировщика (в частности, libx264) и параметров кодирования,
ffmpeg
может быть предпринята попытка избежать или минимизировать цветовую субдискретизацию, но большинство проигрывателей, не основанных на FFmpeg, не смогут правильно декодировать вывод.format
фильтргарантирует, что на выходе будет использоваться схема цветовой субдискретизации, совместимая с этими проигрывателями.
решение2
Мне помогло только одно: запустив cmd в том же каталоге, получилось:
ffmpeg -framerate 20 -i Animation%3d.jpg -r 5 -y fileout.mp4
Для файлов с именами Animation000 – 999.jpg.
Мне это не помогло:
ffmpeg -framerate 20 -pattern_type glob -i "*.jpg" -vcodec libx264 out.mp4
Возникла ошибка:
Выбран тип шаблона «glob», но подстановка не поддерживается этой сборкой libavformat *.jpg: Функция не реализована