使用分屏功能合并视频

使用分屏功能合并视频

我正在寻找一个命令来合并两个视频文件,但是我希望视频以分屏、逐帧的方式合并,而不是一个接一个地合并。

有什么想法吗?似乎使用 ffmpeg 无法实现这一点。

答案1

使用最新版本的 ffmpeg(假设两个视频的分辨率相同):

ffmpeg -i input1.mp4 -i input2.mp4 \
 -filter_complex \
    "[0:v]pad=iw*2:ih[int]; \
     [int][1:v]overlay=W/2:0[vid]" \
-map "[vid]" \
-c:v libx264 -crf 23 \
output.mp4

这实际上使 input1.mp4 的大小增加了一倍填充右侧的黑色部分与原始视频大小相同,然后将 input2.mp4 放在黑色区域的顶部,覆盖筛选。

如果您的某个视频包含需要添加到输出的音轨,请添加-map 0:a第一个文件的音频或-map 1:a第二个文件的音频的选项。

如果您想要混合两个音轨,请使用以下amix过滤器:

ffmpeg -i input1.mp4 -i input2.mp4 \
 -filter_complex \
    "[0:v]pad=iw*2:ih[int]; \
     [int][1:v]overlay=W/2:0[vid]; \
     [0:a][1:a]amix=inputs=2:duration=longest[aud]" \
-map "[vid]" \
-map "[aud]" \
-c:v libx264 -crf 23 \
-c:a aac -b:a 192k \
output.mp4

答案2

这可以通过 SOC 版本的 libavfilter 和一些巧妙的方法来实现

相关内容