FFmpeg生成画中画
1、overlay图层画中画
ffmpeg -re -i 222.mp4 -vf "movie=111.mp4,scale=96x64[test];[in][test]overlay[out]" -vcodec libx264 output.flv
![](https://img.haomeiwen.com/i11386185/b3969136f4c6a144.png)
该命令是将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
![](https://img.haomeiwen.com/i11386185/26c418c334104f8d.png)
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
![](https://img.haomeiwen.com/i11386185/a1c4ce5946a02e24.png)
![](https://img.haomeiwen.com/i11386185/c251a73852ba13f6.png)
该命令执行后,子视频会从主视频的左侧开始渐入从左向右滚动。
网友评论