У меня есть фотографии с названием
pic_0_new.jpg
pic_10_new.jpg
pic_20_new.jpg
...
pic_1050_new.jpg
который я хочу превратить в видео (Ubuntu ffmpeg). Я пробовал следующее
ffmpeg -start_number 0 -i pic_%d_new.jpg -vcodec mpeg4 test.avi
но я не знаю, как установить размер шага и конечный номер. Как это сделать?
Спасибо за помощь :)
Если ваши файлы названы с начальными нулями, вы можете использовать встроенную функцию подстановки. Если нет (как ваш), вы можете создать список файлов и указать его в качестве входных данных, как объяснено здесь.
Еще вам нужно установить входную частоту кадров, которая сообщает FFmpeg, какую частоту кадров следует принимать для изображений (обратите внимание, что этот параметр опережает параметр ввода -i
).
Итак, команда должна выглядеть так:
ffmpeg -framerate 25 -i pic_%04d_new.jpg <encoding_settings> test.avi
Также обратите внимание, что вы можете использовать расширение имени файла для файлов с начальными нулями или без них (спасибо @Gyan за указание на это):
совпадать с регулярно пронумерованными файлами: %d
(это то, что вы используете)
img_%d.png // This will match files with any number as a postfix starting from img_0.png
соответствие начальным нулям: %0<number_of_digits>d
img_%03d.png // This will match files ranging from img_000.png to img_999.png
Кроме того, mpeg4 / avi - не самый удобный кодировщик / контейнер для использования ...
Спасибо, не запомнил, всегда использую ведущие нули. Я соответствующим образом изменил свой ответ.
%d
- правильный формат, когда нумерация не имеет заполнения.