ffmpeg将多个视频/直播流作为输入合并成单个画面输出

简介对于直播流,画质影响较大,流太多,延时也挺大的。慢5s左右,可能是因为转码开始时接收流导致的延迟。 FFmpeg命令行实现两路/多路视频拼接 合并 合成 同时播放:https://blog.csdn.net/a386115360/article/details/89465633 4个视频组成2x2窗格同时播放 ffmpeg -i out1.mp4 -i out2.mp4 -i out3.mp4 -i out4.mp4 -filter_comp

对于直播流,画质影响较大,流太多,延时也挺大的。慢5s左右,可能是因为转码开始时接收流导致的延迟。


FFmpeg命令行实现两路/多路视频拼接 合并 合成 同时播放:https://blog.csdn.net/a386115360/article/details/89465633


4个视频组成2x2窗格同时播放

ffmpeg -i out1.mp4 -i out2.mp4 -i out3.mp4 -i out4.mp4 -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" out.mp4


滤波器的设置,其中[0:v] [1:v]表示输入的第一个和第二个对象的编号。h、w分别表示第一个视频的宽度和高度。


pad用作边界扩充,iw、ih表示输入视频的width、height。
[0:v]pad=iw*2:ih*2[a]   此表示将第一个输入视频边界扩充到原视频的4倍,并将扩充好的命名为[a],方便后面操作。
[a][1:v]overlay=w*1   [a][1:v]表示将[1:v]叠加到[a]上去,并表示其从w*1位置开始,默认是width=w处,h未写,表示为0。

ffmpeg -rtsp_transport tcp -i “rtsp://localhost:5554/68” -rtsp_transport tcp -i “rtsp://localhost:5554/69” -rtsp_transport tcp -i “rtsp://localhost:5554/68” -rtsp_transport tcp -i “rtsp://localhost:5554/69” -rtsp_transport tcp -i “rtsp://localhost:5554/68” -rtsp_transport tcp -i “rtsp://localhost:5554/69” -rtsp_transport tcp -i “rtsp://localhost:5554/68” -rtsp_transport tcp -i “rtsp://localhost:5554/69”  -rtsp_transport tcp -i “rtsp://localhost:5554/68” -rtsp_transport tcp -i “rtsp://localhost:5554/69” -rtsp_transport tcp -i “rtsp://localhost:5554/68” -rtsp_transport tcp -i “rtsp://localhost:5554/69” -rtsp_transport tcp -i “rtsp://localhost:5554/68” -rtsp_transport tcp -i “rtsp://localhost:5554/69” -rtsp_transport tcp -i “rtsp://localhost:5554/68” -rtsp_transport tcp -i “rtsp://localhost:5554/69” -filter_complex “[0:v]pad=iw*4:ih*4[a];[a][1:v]overlay=w[b];[b][2:v]overlay=w*2[c];[c][3:v]overlay=w*3[d];[d][4:v]overlay=0:h[e];[e][5:v]overlay=w:h[f];[f][6:v]overlay=w*2:h[g];[g][7:v]overlay=w*3:h[h];[h][8:v]overlay=0:h*2[i];[i][9:v]overlay=w:h*2[j];[j][10:v]overlay=w*2:h*2[k];[k][11:v]overlay=w*3:h*2[l];[l][12:v]overlay=0:h*3[m];[m][13:v]overlay=w:h*3[n];[n][14:v]overlay=w*2:h*3[o];[o][15:v]overlay=w*3:h*3” -f rtsp -r 25 -s 2560*1600 -an rtsp://localhost:5554/live/room00


//将16个rtsp直播流拼成一个rtsp流。



新加评论 评论标题: