使用FFmpeg匹配评论轨道的响度

时间:2016-06-02 18:31:57

标签: ffmpeg

我正在使用FFmpeg将包含评论音轨的MP3文件混合到多媒体文件的音轨中。到目前为止,我在使用FFmpeg的sidechaincompress filterauto-duck音轨之前取得了巨大的成功,然后才在评论中混音。即使电影中发出嘈杂的音乐或爆炸声,你也可以清楚地听到评论。

真棒。

然而,我现在遇到的问题是在非常安静的场景中。当配乐非常安静时,评论似乎太大了。如果我调整整个评论音轨的音量,使其在安静的场景中听起来正确,那么在嘈杂的场景中听不到它。

我目前的想法是以某种方式使用sidechaincompress过滤器来躲避评论音轨,最后将其混合到音轨中。问题是sidechaincompress在声源很大的时候会压缩目标的音量,但我需要在音源静音时压缩音量。

我不得不承认我在这个领域是一个安静的新手,所以我可能会对此完全错误。我很高兴你能提供任何建议!

1 个答案:

答案 0 :(得分:1)

我最近遇到了类似的问题,似乎sidechaincompress完全符合我们在这种情况下的需求。 我使用以下命令将评论[0:2]轨道与主轨道[0:1]

合并
ffmpeg -i "multi-audio-track-source.mkv" -filter_complex "\
    [0:1]aformat=sample_fmts=s16:channel_layouts=stereo[main];\         # these eliminate warnings about mismatching tracks.
    [0:2]aformat=sample_fmts=s16:channel_layouts=stereo[commentarytmp];\   # these eliminate warnings about mismatching tracks.
    [commentarytmp]asplit=2[commentarycmpr][commentary];\                  # same connecting pin cannot be used in 2 filters so we have to make a copy of the commentary audio track for later mixing.
    [main][commentarycmpr]sidechaincompress[cmpr]; \        
    [cmpr][commentary]amix[final]" \ 
 -map "0:0" -map "[final]" \
 -c:v copy -c:a aac single-audio-track-output.mkv