FFMPEG为视频添加圆形蒙版,转换为黑白并连接

时间:2018-04-30 17:03:51

标签: video ffmpeg video-editing

大家好,我是初学者,感谢您的帮助。

我正在制作一个移动应用程序,根据用户从手机拍摄的视频生成自定义视频简历,用户必须从移动应用程序向服务器上传5个不同的视频,在服务器端,我想:< / p>

  • 为每个视频添加.png圆形遮罩。
  • 将每个视频设为黑白。
  • 将视频与其他现有的标题视频连接起来 (例如[userVideo1] [title1] [userVideo2] [title2] ...)Visual Example

    [编辑:我想要更多功能]

  • 添加背景音乐
  • 在中间添加水印徽标
  • 从开头和结尾删除无声素材
  • 某些输入视频可能会被旋转,我想将视频旋转后恢复正常。

到目前为止,我设法添加圆形蒙版,使视频变为黑白并连接3个视频,包括预制的标题视频,但第二个用户视频在输出中没有声音。

这是我最终的脚本:

ffmpeg -i uservid1.mov -i uservid2.mp4 -i mask.png -i title1.mp4  -preset 
ultrafast -filter_complex "

[2:v][0:v]scale2ref[s1][s2];     
[s2][s1]overlay[vid1];  
[2:v][1:v]scale2ref[s3][s4]; 
[s4][s3]overlay[vid2];  
[vid1]hue=s=0[v0]; 
[vid2]hue=s=0[v1];  
[v0]scale=720x400[in0]; 
[v1]scale=720x400[in1]; 
[3:v]scale=720x400[in3]; 
[in0]setsar=sar=0[final0]; 
[in1]setsar=sar=0[final1];      
[in3]setsar=sar=0[final3]; 
[final0][final3][final1]concat=n=3;"

-codec:a copy finalCV.mp4  

1 个答案:

答案 0 :(得分:1)

使用

var onInit = functtion (bus) {
  // Message bus created and ready to be used,
  window.bus = bus;
}

音频也需要连接在一起。我假设标题视频没有音频,所以我设置了一个虚拟静音1秒流作为最后一个输入。