并排加入视频

ar2*_*015 3 video ffmpeg avconv

我可以通过什么方式并排连接这四个视频(左右边距为 10 像素。顶部和底部之间没有边距)?

  • 左上.mp4

  • 右上.mp4

  • 左下角.mp4

  • 右下角.mp4

Kdenlive 实在是太糟糕了,让我发疯了。欢迎任何命令行方法。

llo*_*gan 5

仅视频

左右之间有 10px 边框

在此输入图像描述

有多种方法可以做到这一点,但使用hstackvstackpad可能是最简单的:

ffmpeg -i top_left.mp4 -i bottom_left.mp4 -i top_right.mp4 -i bottom_right.mp4 -filter_complex \
"[0:v][1:v]vstack,pad=iw+10:ih[l]; \
 [2:v][3:v]vstack[r]; \
 [l][r]hstack" \
output.mp4
Run Code Online (Sandbox Code Playgroud)
  • 输入必须具有相同的宽度、高度和“像素格式”。如果不使用缩放和/或格式过滤器来为 *stack 过滤器准备流。

  • *stack=shortest=1如果您希望过滤器输出在最短输入终止时终止,请使用。

左右之间 10 像素边框,顶部和底部之间 3 像素边框

在此输入图像描述

ffmpeg -i top_left.mp4 -i bottom_left.mp4 -i top_right.mp4 -i bottom_right.mp4 -filter_complex \
"[0:v]pad=iw:ih+3[tl]; \
 [tl][1:v]vstack,pad=iw+10:ih[l]; \
 [2:v]pad=iw:ih+3[tr]; \
 [tr][3:v]vstack[r]; \
 [l][r]hstack" \
output.mp4
Run Code Online (Sandbox Code Playgroud)

具有组合音频

amerge过滤器将组合所有输入通道,然后-ac 2将它们缩混为立体声:

ffmpeg -i top_left.mp4 -i bottom_left.mp4 -i top_right.mp4 -i bottom_right.mp4 -filter_complex \
"[0:v][1:v]vstack,pad=iw+10:ih[l]; \
 [2:v][3:v]vstack[r]; \
 [l][r]hstack[v]; \
 [0:a][1:a][2:a][3:a]amerge=inputs=4[a]"
-map "[v]" -map "[a]" -ac 2 output.mp4
Run Code Online (Sandbox Code Playgroud)
  • 使用 amerge,组合的音频将仅与最短的输入一样长。如果这是一个问题,那么使用amix