У меня есть сценарий, который успешно объединяет изображения различной ширины, но с одинаковой высотой в одно линейное изображение, используя рекурсивную следующую команду, всегда внося изменения в выходной файл по одному изображению за раз.

ffmpeg -i 20170609T200001Z-DC.jpg -i 20170609T200010Z-DC.jpg -filter_complex hstack output.jpg

Я хотел бы иметь возможность использовать ввод шаблона glob и вывод в один файл, но у меня возникают трудности с пониманием сообщения об ошибке вывода для этой команды.

ffmpeg -pattern_type glob -i "*.jpg" -filter_complex hstack output.jpg

Input #0, image2, from '*.jpg':
  Duration: 00:00:01.04, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: mjpeg, yuvj444p(pc, bt470bg/unknown/unknown), 1136x720 [SAR 72:72 DAR 71:45], 25 fps, 25 tbr, 25 tbn, 25 tbc
    Cannot find a matching stream for unlabeled input pad 1 on filter Parsed_hstack_0

1 ответ1

0

Вы не можете использовать фильтры стека для этого. Они работают с различными входами. Последовательность изображений по-прежнему является одним входом. Вместо этого используйте фильтр плитки.

ffmpeg -pattern_type glob -i "*.jpg" -vf tile=15x1 output.jpg

где 15 - количество изображений. Если вы не знаете заранее, используйте достаточно большое число. А затем обрезать вывод. (Некоторое число должно быть указано.)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .