1

У меня есть 2 mp3-файла (a.mp3 и b.mp3), и я хочу перекрыть их, используя ffmpeg. Как перекрыть их так, чтобы громкость a.mp3 была низкой, а громкость b.mp3 высокой, чтобы казалось, что a.mp3 работает на фоне b.mp3?

1 ответ1

0

Вы можете изменить громкость аудиопотоков, используя фильтр 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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .