缩放和堆叠 2 个视频

Gam*_*007 1 ffmpeg

我有 2 个输入,我想同时缩放、裁剪它们并将它们放在一起。我的命令应该是这样的:

ffmpeg -i input1 -i input2 -filter_complex crop=10000:5000:1000:0,scale=3840:1536 vstack output.mp4
Run Code Online (Sandbox Code Playgroud)

我知道我需要使用链接(?),但我试图在网上查找它并且无法真正让它工作。

那么,缩放和裁剪两个输入然后将它们垂直放在彼此之上,同时只使用一次“-filter_complex”的正确语法是什么?

llo*_*gan 6

您需要告诉每个过滤器使用哪种蒸汽作为输入并标记每个过滤器的输出。用逗号连接每个过滤器以制作过滤器。用分号连接每个过滤器链。

ffmpeg -i input0 -i input1 -filter_complex \
"[0:v]crop=10000:5000:1000:0,scale=3840:1536[top]; \
 [1:v]crop=10000:5000:1000:0,scale=3840:1536[bottom]; \
 [top][bottom]vstack[v]" -map "[v]" output.mp4
Run Code Online (Sandbox Code Playgroud)

如果您还想合并来自两个输入的音频:

ffmpeg -i input0 -i input1 -filter_complex \
"[0:v]crop=10000:5000:1000:0,scale=3840:1536[top]; \
 [1:v]crop=10000:5000:1000:0,scale=3840:1536[bottom]; \
 [top][bottom]vstack[v]; \
 [0:a][1:a]amerge[a]" -map "[v]" -map "[a]" -ac 2 output.mp4
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅FFmpeg 过滤器文档:过滤器图语法