如何在一个屏幕上使用ffmpeg合并四个视频

时间:2016-01-27 10:29:07

标签: video ffmpeg

我有一个视频test.mp4,我需要在屏幕上一次显示四次。 Here我找到了一个命令,一次显示两个视频

ffmpeg -i input0.avi -vf "movie=input1.avi [in1]; [in]pad=640*2:352[in0]; [in0][in1] overlay=640:0 [out]" out.avi

但它不适用于mp4视频,我一次需要四个视频。提前谢谢

1 个答案:

答案 0 :(得分:6)

四种不同的输入

enter image description here

ffmpeg -i input0 -i input1 -i input2 -i input3 -filter_complex \
"[0:v][1:v]hstack[top]; \
 [2:v][3:v]hstack[bottom]; \
 [top][bottom]vstack,format=yuv420p[v]; \
 [0:a][1:a][2:a][3:a]amerge=inputs=4[a]" \
-map "[v]" -map "[a]" -ac 2 output.mp4

两个hstack个实例构成顶部和底部,然后vstack组合这些实例。 amerge组合了所有音频流,然后-ac 2将它们全部缩混为立体声。

相同输入

enter image description here

ffmpeg -i input \
-filter_complex "[0:v][0:v]hstack,split[top][bottom];[top][bottom]vstack,format=yuv420p[v]" \
-map "[v]" -map 0:a output.mp4

注意

您没有提供有关您的输入或ffmpeg版本的任何信息,因此做出了假设,这些命令可能对您不起作用。这些命令假定您的所有输入具有相同的宽度,高度,帧速率,音频通道数,音频采样率等,并且您使用的是最近的ffmpeg