2

Я сталкивался с определенной проблемой и нигде не мог найти решение, поэтому:

У меня есть два файла, f1.mp3, который является обычным mp3-файлом, некоторые звуки и все, и f2.mp3, который в основном беззвучный, но имеет одну часть с некоторым звуком в середине. Оба файла продолжительностью 1 минута. Проблема в том, что когда я пытаюсь слить его, я получаю громкость f1.mp3 ниже. Этот процесс повторяется несколько раз, поэтому в результате первые звуки становятся совершенно бесшумными. Как я могу сделать это без этой проблемы? В настоящее время я проверил эти две инструкции:

ffmpeg -i f1.mp3 -i f2.mp3 -filter_complex amix=inputs=2:duration=first out.mp3

а также

ffmpeg -i f1.mp3 -i f2.mp3 -filter_complex \"[0:a][1:a]amerge[aout]\" -map \"[aout]\" -ac 2 out.mp3

1 ответ1

1

Поскольку amix предназначен для поддержания той же максимальной громкости, что и входы, чтобы предотвратить ограничение, он нормализует звук перед микшированием (таким образом, при amixing тех же двух входов будет получен один и тот же выход вместо увеличения его громкости). Если вам нужно добавить исходную громкость обоих входов, вы должны применить фильтр volume :

ffmpeg -i f1.mp3 -i f2.mp3 -filter_complex '[0][1] amix=inputs=2:duration=first [a];[a] volume=volume=2 [b]' -map [b] out.mp3

Обратите внимание, что если вам нужно более двух аудио, вам необходимо применить усиление для соответствующего кодирования.

Примечание: выход может быть обрезан из-за этого второго фильтра, проверьте результат!

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