android:ffmpeg命令-视频叠加

命令:

 ffmpeg -i %s -itsoffset 6.16 -i %s -filter_complex  [1:v]split[m][a];[a]geq='if(gt(lum(X,Y),16),255,0)'[al];[m][al]alphamerge[ckout];[ckout]scale=390:320[test];[0:v][test]overlay=-200+t*35:-120+t*20:eof_action=pass -b:v 10000k -s 1920x1080 -f mp4 %s

下面来看每部分的意思:
ffmpeg -i %s 输入第一层视频文件s,即背景视频,
-itsoffset 6.16 -i %s 在第6.16秒输入第二个视频文件,即覆层视频,时间可以是浮点数,
-filter_complex是滤镜处理,
[1:v]split[m][a];是把输入的两个视频是数组的形式编号为0,1,2,这里处理第二个视频,
把这个操作后命名为m和a,给起了两个名字,
[a]geq='if(gt(lum(X,Y),16),255,0)'[al];对a进行操作设置覆层视频黑色部分完全透明,命名为al,
[m][al]alphamerge[ckout];把m和al合并,
[ckout]scale=390:320[test];设置覆层大小为390x320,命名为test,
[0:v][test]overlay=-200+t35:-120+t20:eof_action=pass 把test覆盖在背景视频,位置是200, -120的位置,随时时间移动速率 x是35,y是20,此时覆层视频是运动的,有位移,
eof_action=pass设置覆层视频只播放一次,
-b:v 10000k输出视频码率是10000k,
-s 1920x1080输入视频分辨是1920x1080,
-f mp4输出视频是mp4格式,
%s是输出的视频路径文件。

如果大家厚爱,后续会继续更新。有错误,请指正,吾学习修正。

你可能感兴趣的:(android:ffmpeg命令-视频叠加)