ffmpeg - 缩放和堆叠2个视频?

时间:2016-05-25 14:57:19

标签: ffmpeg

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

ffmpeg -i input1 -i input2 -filter_complex crop=10000:5000:1000:0,scale=3840:1536 vstack output.mp4

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

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

谢谢!

1 个答案:

答案 0 :(得分:4)

您需要告诉每个过滤器使用哪个蒸汽作为输入,并标记每个过滤器的输出。使用逗号加入每个过滤器以生成过滤链。用分号加入每个过滤链。

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

如果你想合并两个输入的音频:

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

有关详细信息,请参阅FFmpeg Filters Documentation: Filtergraph Syntax