如何使用 ffmpeg 将多个音频文件(过滤一个)添加到视频中?

How do I add multiple audio files (filtering one) to a video with ffmpeg?

我正在尝试将视频静音并向其中添加两个音频文件。一种是语音旁白,第二种是将音乐过滤到正常音量的 0.5 倍。

我看到我收到一条错误消息,提示我无法将 -filter 与 -c:a 结合使用,但删除 -c:a 没有帮助。音频添加没有问题,但是过滤不起作用。

ffmpeg -ss $START -i "$VIDEO" -i "$AUDIO1" -i "$AUDIO2" -filter:a "volume=1.5" -t $AUDIOLENGTH -map 0:v -map 1:0 -map 2:0 -c:v copy -c:a aac -b:a 256k -shortest "./Output/${AUDIONAME}/${AUDIONAME}.mp4" -y

我的这段代码似乎只合并了一个音频文件。最重要的是,如果我编辑它只添加一个音频文件,-filter 开关似乎不起作用。请帮忙,它越来越严重了!!

当您需要以某种组合过滤多个输入时,必须使用过滤图,通过 -filter_complex 调用。在这个特定的使用中,可以使用 amix 过滤器。

ffmpeg -ss $START -i "$VIDEO" -i "$AUDIO1" -i "$AUDIO2" -filter_complex "[1][2]amix=inputs=2:weights='2 1'[a]" -t $AUDIOLENGTH -map 0:v -map '[a]' -c:v copy -c:a aac -b:a 256k "./Output/${AUDIONAME}/${AUDIONAME}.mp4" -y

(如果您提供输出持续时间 -t,-shortest 可以删除)