ffmpeg 实现多宫格效果,视频拼接合成

通过FFmpeg建立画布,以多宫格方式展现

一下为执行命令

  -re  -i  1.mp4 
  -re  -i  2.mp4 
  -re  -i  3.mp4 
  -re  -i  4.mp4 
 -filter_complex 
"nullsrc=size=640x480 [base]; 
[0:v] setpts=PTS-STARTPTS,scale=320x240 [upperleft];
[1:v] setpts=PTS-STARTPTS, scale=320x240 [upperright]; [2:v] setpts=PTS-STARTPTS, scale=320x240 [lowerleft]; [3:v] setpts=PTS-STARTPTS, scale=320x240 [lowerright]; [base][upperleft] overlay=shortest=1[tmp1]; [tmp1][upperright] overlay=shortest=1:x=320 [tmp2]; [tmp2][lowerleft] overlay=shortest=1:y=240 [tmp3]; [tmp3][lowerright] overlay=shortest=1:x=320:y=240" -c:v libx264 out.mp4

 简单明了,1.2.3.4.mp4为文件路径,out.MP4为输出文件路径,通过nullsrc创建overlay画布,画布大小640:480,

使用[0:v][1:v][2:v][3:v]将输入的4个视频流去除,分别进行缩放处理,然后基于nullsrc生成的画布进行视频平铺,

命令中自定义upperleft,upperright,lowerleft,lowerright进行不同位置平铺。

平铺步骤如图所示:

最终实现效果:

同理,实现多种风格拼接:

转载请注明出入来源:https://www.cnblogs.com/famhuai/p/10276081.html

原文地址:https://www.cnblogs.com/famhuai/p/10276081.html