使用 ffmpeg 创建带背景的平铺图像

使用 ffmpeg 创建带背景的平铺图像

我需要导出带有背景图像的平铺图像。

没有背景我可以使用以下命令生成它

ffmpeg -loop 1 -t 2.56 -i flower.jpg -filter_complex tile=8x4:margin=32:padding=32 output_0.png

这是花的图像

输出 无背景

但是当我尝试使用以下命令将背景添加到图块时,没有成功。有人可以纠正我的命令吗?

ffmpeg -loop 1 -t 2.56 -i bg.jpg -i flower.jpg -filter_complex '[0:v]scale=1280:720,setsar=1[in1],[1:v]tile=8x4:margin=32:padding=32[in2];[in1][in2]' -map '[in1]' -map '[in2]' output_0.png

答案1

a) 您需要使用覆盖过滤器将一个流绘制在另一个流上 b) 输入的选项位于该输入之前。

ffmpeg -i bg.jpg -loop 1 -t 1.60 -i flower.jpg -filter_complex '[0:v]scale=1280:720,setsar=1[in1];[1:v]tile=8x4:margin=32:padding=32[in2];[in1][in2]overlay=x=(W-w)/2:y=(H-h)/2' output_0.png

如果希望平铺照片之间的空间透明,请添加color=black@0到平铺过滤器。

相关内容