ffmpeg实现视频流的多路拼接

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根据在画布的绝对位置 具体看图
经验分享 程序员 微信小程序 职场和发展