如何在 FFmpeg 中混合音频以实现画外音音乐,以便音乐仅在叙述期间安静下来?

如何在 FFmpeg 中混合音频以实现画外音音乐,以便音乐仅在叙述期间安静下来?

通常,当有背景音乐时,当旁白说话时,背景音乐会变得更安静。旁白开始前不久,背景音乐会略微淡出,然后在任何旁白结束后不久淡回全音量。我还没有找到任何方法可以用 ffmpeg 指定淡出和淡入的时间(除非采用高度手动的方法,将音乐分成不同音量的单独文件,然后再与语音混合,但这种方法不适合处理大量文件)。

我知道我可以使用 adelay 调整时间,使用 amix 和 weights 参数调整相对音量,但这会为音频文件的整个持续时间设置相对音量,而不仅限于旁白期间和旁白前后的时间段。有没有办法让混音仅在指定的时间间隔内使音乐曲目安静下来,这样我就可以让音乐在人声周围安静下来?

例如:

  • 5 分钟的音乐决定了总音频时间跨度

  • 2 篇叙述:

    1. 一个从 0:34 开始,持续 45 秒。
    2. 另一场从 4:00 开始,持续 15 秒。

音乐应以最大音量播放直至 0:32 秒(淡出应在旁白开始前约 2 秒开始),然后淡出至 20% 音量直至 1:20(0:34 + 45 秒 + 1 秒后开始返回),然后取消淡出回到最大音量直至 3:58,淡出回到 20%,然后在 4:16 取消淡出。

笔记:我不是问如何在有旁白时让音乐自动静音(因为我认为这是不可能的,如果有办法做到这一点,我也很想知道),只是如何指定在合并过程中淡入到某个级别的时间,然后恢复到最大音量的时间。理想情况下,我可以指定设置淡入和恢复速率的时间。

相关内容