Объедините несколько изображений, чтобы сформировать полосу изображений ffmpeg
Я хочу объединить несколько изображений в одну полосу изображений, используя FFMPEG.
Я пытался найти эту вещь в Google, но не смог найти ничего полезного. Все ссылки приводят меня к местам, где несколько изображений объединяются, чтобы дать видео вывод.
Предполагая, что все файлы имеют одинаковую ширину и высоту, как я могу объединить их, чтобы получить одну полосу изображений. Кто-нибудь может мне помочь?
2 ответа
Пример использования scale
а также tile
видеофильтр в ffmpeg:
$ ls *.png
001.png 002.png 003.png 004.png 005.png
$ ffmpeg -i %03d.png -filter_complex scale=120:-1,tile=5x1 output.png
Если у вас есть имена файлов в ненумерованном последовательном порядке, вы можете использовать тип шаблона glob:
$ ffmpeg -pattern_type glob -i "*.png" -filter_complex tile=5x1 output.png
Пример вывода, где каждое отдельное входное изображение является уникальным сплошным цветом (всего 248 байт!):
Вы также можете добавить поле (пространство между внешними границами) и отступ (пространство между кадрами):
$ ffmpeg -i %03d.png -filter_complex scale=120:-1,tile=5x1:margin=10:padding=4 output.png
Возможна вертикальная ориентация: tile=1x5
для этого примера:
Если у вас есть сделать это с ffmpeg
тогда я не знаю Если вы хотите выполнить свою работу и готовы использовать другую программу, подходящую для этой задачи, тогда convert
является частью ImageMagick.
convert sepimage-0.png sepimage-1.png sepimage-2.png -channel RGB \
-combine imagecopy.png