2017-02-28 168 views
0

我正在尝试使用ffmpeg创建一个圆形的电影覆盖图。FFmpeg中的圆形电影覆盖图

ffmpeg -i bg.mp4 -vf "movie=smaller.mp4[inner];[in][inner] overlay=92:460 [out]" final.mp4

我想创造这样的事情:

enter image description here

有人能帮我到目前为止,我使用下面的命令能够使方形圆形电影覆盖?

非常感谢!

回答

1

未精炼所示例改编自How to set circle mask using geq filter

imgur must be down

ffmpeg -i input.mp4 -filter_complex \ 
"trim=end_frame=1,geq='st(3,pow(X-(W/2),2)+pow(Y-(H/2),2));if(lte(ld(3),80*80),255,0)':128:128,loop=-1:1,setpts=N/FRAME_RATE/TB[alf]; \ 
[0:v][alf]alphamerge,scale=iw/2:-1[fg]; \ 
[0:v][fg]overlay=(W-w)/2:H-(h/2)-20-40:shortest=1" \ 
output.mp4 

你没有提供任何细节或文件信息等我做了一些假设:

  • 编辑80*80增加圆半径。
  • 圆形来源居中居中。
  • 叠加将水平居中。垂直方向将从bg.mp4的底部开始设置20个像素。
  • 音频没有被提及,所以我没有为此添加任何内容。
  • 周围没有白色边框。
  • “未定义”,因为我耗尽时间来完成此操作,但它应该可以按原样运行。稍后我可以重新访问它。
+0

非常感谢!我还有一些额外的问题。你能解释一下这个命令吗?我是FFmpeg的新手。 我看到你使用1个输入文件,是否有可能为圆圈使用不同的输入文件? 我希望得到的视频包含两个视频的音频。 如果背景视频短于圆形视频,会发生什么情况。这个圈子会继续玩吗? 圆形视频是一个方形视频,所以我希望圆形可以触摸方形视频的边框,以尽可能地保留原始视频。 – Thomas