Misturando dois sons no ffmpeg dando errado


2

Eu me deparei com um certo problema e não consegui encontrar uma solução em nenhum lugar, então:

Eu tenho dois arquivos, f1.mp3, que é um arquivo mp3 comum, alguns sons que são tudo, e f2.mp3, que é principalmente o silêncio, mas tem uma parte com algum som no meio dela. Ambos os arquivos têm 1 minuto de duração. O problema é que, quando tento mesclar, fico com o volume f1.mp3 mais baixo. Esse processo é repetido várias vezes, portanto, primeiro os sons ficam completamente silenciosos. Como posso fazer isso sem esse problema? Atualmente testei estas duas instruções:

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

e

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

Por favor, inclua a ffmpegsaída completa do console de cada comando.
llogan

Respostas:


1

Como amixse pretende manter o mesmo volume máximo que as entradas para evitar o corte, normaliza o áudio antes da mixagem (assim, amixingas mesmas duas entradas renderizariam a mesma saída em vez de aumentar seu volume). Se você precisar do volume original de ambas as entradas, você deve aplicar um volumefiltro:

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

Observe que, se você precisar de mais de dois áudios, precisará aplicar o ganho correspoding.

Nota: a saída pode ser cortada por causa desse segundo filtro, verifique o resultado!

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.