FFMPEG - 过滤器卷具有未连接的输出

时间:2017-08-21 04:04:56

标签: ffmpeg

我有以下FFMPEG命令:

 ffmpeg -i ./master_video.mp4 -i ./temp/temp1.mp4 -i ./temp/temp2.mp4 -y -filter_complex [0:v]setpts=PTS-STARTPTS[v0];[1:a]asetpts=PTS-STARTPTS,volume=0.1[aud1];[1:v]setpts=PTS-STARTPTS+5/TB,fade=t=in:st=5:d=1:alpha=1,fade=t=out:st=14:d=1:alpha=1[v1];[2:a]asetpts=PTS-STARTPTS,volume=0.1[aud2];[2:v]setpts=PTS-STARTPTS+10/TB,fade=t=in:st=10:d=1:alpha=1,fade=t=out:st=19:d=1:alpha=1[v2];[v0][v1]overlay=eof_action=pass[out1];[out1][v2]overlay=eof_action=pass[out2] -map [out2] -map [aud1][aud2] temp.mp4

但是当我运行它时,我收到以下错误:

错误:ffmpeg退出代码1:过滤器卷的输出未连接

出现错误的原因是什么?

1 个答案:

答案 0 :(得分:0)

如果您想混合音频输出,则需要在滤镜图中完成。

使用

ffmpeg -y -i ./master_video.mp4 -i ./temp/temp1.mp4 -i ./temp/temp2.mp4 -filter_complex
"[0:v]setpts=PTS-STARTPTS[v0];
 [1:a]asetpts=PTS-STARTPTS,volume=0.1[aud1];
 [1:v]setpts=PTS-STARTPTS+5/TB,fade=t=in:st=5:d=1:alpha=1,fade=t=out:st=14:d=1:alpha=1[v1];
 [2:a]asetpts=PTS-STARTPTS,volume=0.1[aud2];
 [2:v]setpts=PTS-STARTPTS+10/TB,fade=t=in:st=10:d=1:alpha=1,fade=t=out:st=19:d=1:alpha=1[v2];
 [v0][v1]overlay=eof_action=pass[out1];
 [out1][v2]overlay=eof_action=pass[vout];
 [aud1][aud2]amix[aout]"
   -map [vout] -map [aout] temp.mp4

请注意,主视频中的任何音频都会被忽略,就像您的原始命令有效一样。此外,由于setpts表达式不同,临时视频中的音频和视频不再同步。