ffmpeg-用圆角覆盖视频
我成功地将一个缩放的(较小的)视频叠加在一个较大的视频上,但我很难理解如何给这个小视频一个圆角遮罩 编辑 感谢@loogan comment,我已成功获得一个工作命令,该命令创建并应用了一个圆形掩码:ffmpeg-用圆角覆盖视频,ffmpeg,Ffmpeg,我成功地将一个缩放的(较小的)视频叠加在一个较大的视频上,但我很难理解如何给这个小视频一个圆角遮罩 编辑 感谢@loogan comment,我已成功获得一个工作命令,该命令创建并应用了一个圆形掩码: ffmpeg -i main.mp4 -i vignette.mp4 -filter_complex [1:v]scale=300:-1[scaled]; [scaled]split [scaled0][scaled11]; [
ffmpeg
-i main.mp4
-i vignette.mp4
-filter_complex
[1:v]scale=300:-1[scaled];
[scaled]split [scaled0][scaled11];
[scaled0]trim=end_frame=1,geq='st(3,pow(X-(W/2),2)+pow(Y-(H/2),2));if(lte(ld(3),780*780),255,0)':3:3,loop=-1:1,setpts=N/FRAME_RATE/TB[mask];
[scaled1][mask]alphamerge[cutout];
[0][cutout]overlay=x=W-w:y=0[v];
-map [v]
-map [a]
output.mp4
但是如何从一个圆到一个圆形的矩形仍然让我迷茫。无法完全获得geq期望的参数以及生成这些参数的数学
假设需要遮罩的视频为200*300,并且角点的半径应为5px,是否有geq命令可以创建此遮罩?也许是椭圆
或者更好的方法是使用预先制作的png作为遮罩
任何惰性方法都要使用过滤器:
渐晕遮罩示例
调整
角度
和纵横比
[scaled]
已使用,因此如果要进行倍数计算,请使用拆分过滤器。这是否回答了您的问题?
ffmpeg -i main.mp4 -i vignette.mp4 -filter_complex "color=c=white,vignette=angle=PI/2:aspect=4/3[mask];[1][mask]alphamerge[fg];[2][fg]overlay[v]" -map "[v]" -map 0:a -c:a copy output.mp4