我有 2 个 mp3 文件(a.mp3 和 b.mp3),我想使用 ffmpeg 将它们重叠。如何将它们重叠,使 a.mp3 的音量较低,而 b.mp3 的音量较高,这样看起来就像 a.mp3 在 b.mp3 的后台运行?
答案1
您可以使用过滤器更改音频流的音量volume
。但是,使用过滤器时,您必须重新编码音频。如果您不想损失质量,您可以随时重新编码为未压缩格式(使用-c:a pcm_s16le
,但文件大小会更大)。或者,您可以进一步压缩文件并将其保留为 mp3 格式 - 但质量自然会降低...
此外,您可能想要尝试一下每个流的音量大小,但这里有一个示例,它将您的a.mp3
文件音量调至原始音量的 25%,同时保持b.mp3
的音量不变。在此示例中,我们将采用未压缩的音频路径并进入 .wav 容器。
ffmpeg -i a.mp3 -i b.mp3 -filter_complex "[0:a]volume=.25[A];[1:a][A]amerge[out]" -map [out] -c:a pcm_s16le out.wav