我想使用参数将叠加图像添加到视频中
1: w:h --> 是视频上图像的宽度和高度
2: r --> 弧度是图像的旋转
3: center (x,y) --> 是视频中图像的中心点
这是我的 FFMPEG 命令:
-i video.mp4 -i image.png filter_complex [1:v]scale=w:h[scale];[scale]rotate=r:ow=iw:oh=ih[rotate];[0:v][rotate]overlay=x-(w/2):y-(h/2)
但结果不正确。它仅适用于 scale=1 和 rotate=0 弧度
我怎样才能做到这一点 ?
最佳答案
利用
[1:v]scale=w:h,pad=iw+4:ih+4:black@0[scale];[scale]rotate=r:ow='rotw(r)':oh='roth(r)'[rotate]
在旋转之前,会在图像中添加一些透明填充。这是因为旋转过滤器将使用输入的边框像素颜色填充 Canvas 中的空白。此外,必须调整输出大小以适应旋转后的整个图像。见docs用于旋转过滤器。
关于image - 使用 FFMPEG 将带有缩放 + 旋转的图像添加到视频叠加层?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53335880/