ffmpeg:多个filter_complex的链,重用中间输出流

时间:2015-12-17 15:48:23

标签: ffmpeg

如何顺序应用两个filter_complex命令?

首先,我想将视频与图像混合 然后我想获取该过滤器的输出并将其拆分为4个图块,如本文Stackoverflow中所述。

我试过这个: (我的策略是从filter_complex [int]生成一个中间输出,我想重复使用该输出两次。

ffmpeg.exe 
-i videoIn.avi 
-i imageIn.avi 
-filter_complex "[1:0] setsar=sar=1 [1sared];[0:0][1sared]blend=all_mode='divide':repeatlast=1[int];
[int]crop=960:960:24:1055:[out1];
[int]crop=960:960:1056:1062:[out2]" 
-map [out1] out1.avi 
-map [out2] out2.avi

然而,我收到一个错误: 流说明符' int'在filtergraph描述[int] crop = 960:960:24:1055 [out1]; [int] crop = 960:960:1056:1062:[out2]匹配没有流

如果我只使用一个裁剪操作而不是两个裁剪操作,则此代码有效 - 所以我猜测中间流[int]无法像我尝试的那样重复使用?

如何多次重复使用中间流以用于后续过滤器?

1 个答案:

答案 0 :(得分:10)

您必须使用split过滤器来复制输入流。

示例:

[...] split [crop1][crop2];
[crop1] crop=960:960:24:1055 [out1];
[crop2] crop=960:960:1056:1062 [out2]