ffmpeg-用圆角覆盖视频

ffmpeg-用圆角覆盖视频,ffmpeg,Ffmpeg,我成功地将一个缩放的(较小的)视频叠加在一个较大的视频上,但我很难理解如何给这个小视频一个圆角遮罩 编辑 感谢@loogan comment,我已成功获得一个工作命令,该命令创建并应用了一个圆形掩码: ffmpeg -i main.mp4 -i vignette.mp4 -filter_complex [1:v]scale=300:-1[scaled]; [scaled]split [scaled0][scaled11]; [

我成功地将一个缩放的(较小的)视频叠加在一个较大的视频上,但我很难理解如何给这个小视频一个圆角遮罩

编辑

感谢@loogan comment,我已成功获得一个工作命令,该命令创建并应用了一个圆形掩码:

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