使用 FFMPEG filter_complex 静音选定的音频通道时出现“无法找到匹配的流”错误

使用 FFMPEG filter_complex 静音选定的音频通道时出现“无法找到匹配的流”错误
ffmpeg  -i stereoaudio.wav -filter_complex "[0:a]atrim=start=0:duration=5[a1];[0:a]atrim=start=5:duration=17,asetpts=PTS-STARTPTS[b2];[b2]pan=stereo|c1=c1[c3];[a1][c3]concat=n=3:v=0:a=1[d4];[0:a]atrim=start=22:duration=0,asetpts=PTS-STARTPTS[e5];[d4][e5]concat=n=3:v=0:a=1[out1]" -map [out1] muteLeftfor17seconds.wav


ffmpeg  -i stereoaudio.wav -filter_complex 
"[0:a]atrim=start=0:duration=5[a1];
[0:a]atrim=start=5:duration=17,asetpts=PTS-STARTPTS[b2]; 
[b2]pan=stereo|c1=c1[c3];
[a1][c3]concat=n=3:v=0:a=1[d4];
[0:a]atrim=start=22:duration=0,asetpts=PTS-STARTPTS[e5];
[d4][e5]concat=n=3:v=0:a=1[out1]" -map [out1] muteLeftfor17seconds.wav

我编写了上述 ffmpeg 命令,希望能够接收立体声 wav 文件,并在选定的时间内使选定的频道静音。

每当我运行上述命令时,我都会收到一条错误消息,提示“无法在过滤器 Parsed_concat_4 上找到未标记输入 pad 2 的匹配流”

我对此进行了一些研究,发现“无法找到匹配的流”通常发生在流标签未正确对齐时,这可能是这种情况,但是我已经查看命令很长时间了,以至于一切都开始一起运行了,哈哈。任何想法都将不胜感激。

答案1

[a1][c3]concat=n=3:v=0:a=1[d4]和中[d4][e5]concat=n=3:v=0:a=1[out1]n值必须与输入的数量相匹配,实际上是如图所示的 2。

无论如何,对于给定的用例,您只需使用 aeval 过滤器。

ffmpeg  -i in.wav -af "aeval=0|val(1):c=same:enable='between(t\,5\,22)'" out.wav

相关内容