ffmpeg实现视频流的多路拼接
用4X4的拼接举例子来说,
命令如下
ffmpeg -i 流1 -i 流2 -i 流3 -i 流4 -an -f flv -filter_complex”[0:v]pad=iw*2:ih*2[a];[a][1:v]overlay=w[b];[b][2:v]overlay=0:h[c];[c][3:v]overlay=w:h” -f flv 输出流
-an是消除声音
-f是指定输出格式,格式为flv
-filter_complex 是拼接参数,
后面的参数格式[0:v] [1:v]是输入的第几个视频流,编号根据前面的输入流,依次往下排就好
第一个pad=iw*2:ih*2[a]pad用作边界扩充,设置画布(画布就是边界扩充后的大小)一共有多大,这里iw*2表示横者有2个第一个视频流大小,ih*2表示竖着者有2个第一个视频流大小,[a]表示这是这个视频流的别称,方便后面使用。
[a][1:v]overlay=w[b]第二个视频流[1:v]接在[a]上,视频流的左上角在画布的坐标是(w,0)没写h就默认是0
后面以此类推[a][1:v]“[b][2:v]……依次写就好,然后后面的overlay=w和h根据在画布的绝对位置
具体看图
————————————————
版权声明:本文为CSDN博主「液压姬」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/crazty/article/details/107671992