FFmpeg生成画中画
1、overlay图层画中画
ffmpeg -re -i 222.mp4 -vf "movie=111.mp4,scale=96x64[test];[in][test]overlay[out]" -vcodec libx264 output.flv
该命令是将111.mp4缩放成宽96、高64的视频,然后显示在222.mp4的x坐标为0、y坐标为0的位置,从而实现画中画的效果。
2、设置画中画位置
如果希望子视频显示在指定位置,需要用到overlay中x坐标与y坐标的内部变量,如显示在画面的右下角:
ffmpeg -re -i 222.mp4 -vf "movie=111.mp4,scale=96x64[test];[in][test]overlay=x=main_w-96:y=main_h-64[out]" -vcodec libx264 output.flv
3、视频跑马灯
除了以上的静态处理方式,overlay还可以配合正则表达式进行跑马灯式画中画处理,动态改变子视频的x坐标与y坐标:
ffmpeg -re -i 222.mp4 -vf "movie=111.mp4,scale=96x64[test];[in][test]overlay=x='if(gte(t,2),-w+(t+2)*20,NAN)':y=0[out]" -vcodec libx264 output.flv
该命令执行后,子视频会从主视频的左侧开始渐入从左向右滚动。
网友评论