加入分屏视频

hoj*_*oju 9 video linux ffmpeg command-line

我正在寻找加入两个视频文件的命令,但是我希望视频逐帧加入分屏,而不是一个接一个。

有任何想法吗?似乎这对于 ffmpeg 是不可能的。

evi*_*oup 18

使用最新版本的 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
Run Code Online (Sandbox Code Playgroud)

这实际上是通过在右侧填充与原始视频大小相同的黑色来使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
Run Code Online (Sandbox Code Playgroud)