首页 > 其他分享 >ffmpeg多路视频合并

ffmpeg多路视频合并

时间:2024-03-15 15:48:39浏览次数:23  
标签:视频 多路 ffmpeg overlay mp4 complex pad

2,3,4路视频拼接可以参考下面:

https://blog.csdn.net/tianshan2010/article/details/104737576
https://blog.csdn.net/Gary__123456/article/details/88742705

4路拼接【上下左右】:

ffmpeg -i 1.mp4 -i 2.mp4 -i 3.mp4 -i 4.mp4 -filter_complex "[0:v]pad=iw2:ih2[a];[a][1:v]overlay=w[b];[b][2:v]overlay=0:h[c];[c][3:v]overlay=w:h" output.mp4

5路视频,竖拼:
ffmpeg -i 1.mp4 -i 2.mp4 -i 3.mp4 -i 4.mp4 -i 5.mp4 -filter_complex "[0:v]pad=iw:ih*5[a];[a][1:v]overlay=0:h[b];[b][2:v]overlay=0:2.0*h[c];[c][3:v]overlay=0:3.0*h[d];[d][4:v]overlay=0:4.0*h" output.mp4
5路视频,横拼:
ffmpeg -i 1.mp4 -i 2.mp4 -i 3.mp4 -i 4.mp4 -i 5.mp4 -filter_complex "[0:v]pad=iw*5:ih*1[a];[a][1:v]overlay=w[b];[b][2:v]overlay=2.0*w[c];[c][3:v]overlay=3.0*w[d];[d][4:v]overlay=4.0*w" output.mp4
5路视频,上3下2拼接:
ffmpeg -i 1.mp4 -i 2.mp4 -i 3.mp4 -i 4.mp4 -i 5.mp4 -filter_complex "[0:v]pad=iw*3:ih*2[a];[a][1:v]overlay=w[b];[b][2:v]overlay=2.0*w[c];[c][3:v]overlay=0:h[d];[d][4:v]overlay=w:h" output.mp4
6路视频,上3下3拼接:
ffmpeg -i 1.mp4 -i 2.mp4 -i 3.mp4 -i 4.mp4 -i 5.mp4 -i 6.mp4 -filter_complex "[0:v]pad=iw*3:ih*2[a];[a][1:v]overlay=w[b];[b][2:v]overlay=2.0*w[c];[c][3:v]overlay=0:h[d];[d][4:v]overlay=w:h[e];[e][5:v]overlay=2.0*w:h" output.mp4

其中核心的是-filter_complex参会后面的每一个用;分开的部分;[0:v];[1:v];[2:v]分别代表第几个视频;
overlay=0:h[d]后面的0:h[d]表示当前视频在大的视频中的坐标;视频拼接就是核心理解overlay的含义,然后不管几路都可以拼接了。
还有一点 第一个[0:v]pad=iw3:ih2[a] ;=前面是固定的,后的表示长度分成几份,宽度分成几份;我就是这么理解的

标签:视频,多路,ffmpeg,overlay,mp4,complex,pad
From: https://www.cnblogs.com/netstat/p/18075552

相关文章