将多个图像组合成一条图像 ffmpeg

Man*_*anu 8 ffmpeg combine images

我希望使用 FFMPEG 将多个图像组合成一条图像。

我一直试图在谷歌上搜索这个东西,但找不到任何有用的东西。所有链接都将我带到多个图像组合以提供视频输出的地方。

假设所有文件的宽度和高度都相同,我如何将它们连接起来以获得单条图像。有谁能够帮助我?

llo*_*gan 17

使用瓷砖过滤器

瓦

使用带有输入文件的缩放平铺视频过滤器001.png005.png

ffmpeg -i %03d.png -filter_complex "scale=120:-1,tile=5x1" output.png
Run Code Online (Sandbox Code Playgroud)

如果您的文件名按非编号顺序排列,您可以使用glob 模式类型(Windows 不支持):

ffmpeg -pattern_type glob -i "*.png" -filter_complex tile=5x1 output.png
Run Code Online (Sandbox Code Playgroud)

边距/边框

您还可以添加边距(外边框空间)和填充(帧之间的空间):

带有边距和填充的平铺

ffmpeg -i %03d.png -filter_complex "scale=120:-1,tile=5x1:margin=10:padding=4" output.png
Run Code Online (Sandbox Code Playgroud)

默认颜色为黑色。color如果要更改边框/边距颜色,请添加该选项:

ffmpeg -i %03d.png -filter_complex "scale=120:-1,tile=5x1:margin=10:padding=4:color=white" output.png
Run Code Online (Sandbox Code Playgroud)

垂直方向是可能的。tile=1x5对于这个例子:

垂直瓷砖

更多信息

请参阅磁贴过滤器文档


cyb*_*ard 5

如果你必须这么做的话ffmpeg我不知道。如果您想完成工作并愿意使用适合该任务的其他程序,那么ImageMagickconvert是一部分。

convert sepimage-0.png sepimage-1.png sepimage-2.png -channel RGB \
-combine imagecopy.png
Run Code Online (Sandbox Code Playgroud)