如何将多个ffmpeg流组合成一个4x4拼贴?

Cor*_*ryG 8 linux ffmpeg cctv ffserver

我有一个服务器有16个视频采集卡频道进入它并希望用ffmpeg流式传输,是否有可能有另一个流出去,这是16个独特频道的4x4拼贴?

编辑:添加赏金,因为还没有提交工作答案 - 将奖励它到第一个可以显示代码以生成16个实时频道的4x4网格(输入设备为http:// localhost:8090/x.mpg其中x =数字0-15,352x288 MPEG1VIDEO格式视频,YUV420P颜色为24-30FPS) - 或代码引导我到该解决方案 - 输出将位于http:// localhost:8090/all.mpg和将是一个1408x1152英里/加仑的直播.

Dig*_*ata 9

我想你正在寻找ffmpeg覆盖过滤器,下面是一些带有一些例子的文档.下面是2x1示例的副本,但您必须对流格式,帧大小和更多面板进行调整.

ffmpeg -i left.avi -i right.avi -filter_complex " 
nullsrc=size=200x100 [background]; 
[0:v] setpts=PTS-STARTPTS, scale=100x100 [left]; 
[1:v] setpts=PTS-STARTPTS, scale=100x100 [right]; 
[background][left]       overlay=shortest=1       [background+left];
[background+left][right] overlay=shortest=1:x=100 [left+right]
"
Run Code Online (Sandbox Code Playgroud)

或者,还有一种方法可以用VLC产生一种mosiac .

  • 另请参阅[FFmpeg社区贡献文档Wiki]上的[2x2网格中的多输入覆盖](https://ffmpeg.org/trac/ffmpeg/wiki/FilteringGuide#multipleinputoverlayin2x2grid)示例(https://ffmpeg.org/trac/FFMPEG /维基). (3认同)