У меня есть куча изображений, которые следуют этому шаблону.
0001.png
0004.png
0007.png
0010.png
0013.png
0016.png
0019.png
...
Они в правильном порядке, но FFMPEG игнорирует что-либо после первого файла, потому что не может найти 0002.png
. Как я могу заставить его присоединиться к этим файлам?
Я пытался
ffmpeg -i %04d.png out.avi
Ответы:
с ffmpeg 0.11.1 это так же просто, как:
Со
man
страницы, в примере в разделе «Преобразование формата видео и аудио файлов»:Обновление по комментариям: в последних версиях вы должны использовать
-i '*.png'
синтаксис.источник
glob_sequence
шаблона устарел, ноglob
тип шаблона - нет. Ответ Малвьи и Питера Кордеса работает.Pattern type 'glob_sequence' is deprecated: use pattern_type 'glob' instead
Pattern type 'glob_sequence' is deprecated
...): команда, приведенная выше rymo (в частности,-i %*.png
), вызовет предупреждение. Чтобы устранить это, используйте немного другой синтаксис в ответе Питера Кордеса (-i '*.png'
).Помимо обходного пути в моем комментарии, вы должны быть в состоянии использовать этот синтаксис из документации ffmpeg :
Кавычки важны, вам нужен ffmpeg, чтобы увидеть
*
, а не заставлять его расширять оболочку.источник
*.png
в одинарные кавычки (чтобы'*.png'
), чтобы он не расширялся оболочками в стиле Unix (то есть OSX, Linux и т. Д.).С http://www.ffmpeg.org/faq.html : Если у вас есть большое количество картинок для переименования, вы можете использовать следующую команду, чтобы облегчить бремя. Команда, используя синтаксис оболочки Bourne, символически связывает все файлы в текущем каталоге, которые соответствуют * jpg, с каталогом / tmp в последовательности 'img001.jpg', 'img002.jpg' и так далее.
x=1; for i in *jpg; do counter=$(printf %03d $x); ln -s "$i" /tmp/img"$counter".jpg; x=$(($x+1)); done
источник
seqA-[0001-n].png
,seqB-[0001-n].png
и т.д. Намного проще , чем возиться с IMAGE2 и строятся по Concat фильтра.for i in *jpg
сfor i in /full/path/*jpg
, потому что все алиасы были разбитыЯ бы на самом деле предложил то же самое, что предложил Малвя. Всякий раз, когда мне нужно было делать подобные вещи при работе с 3D-рендерингами анимации, я переименовывал файлы, чтобы сделать их последовательными. Так проще работать с множеством разных программ, если по какой-то причине вам не нужно сохранять имена файлов. Total Commander также является отличным инструментом для многократного переименования.
источник
Для недостающей части последовательности я использовал 2 вкладыша
Надеюсь, что это поможет кому-то в будущем
источник