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根据在画布的绝对位置
    • 具体看图
    • ffmpeg实现视频流的多路拼接_第1张图片

你可能感兴趣的:(ffmpeg,ffmpeg)