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
ffmpeg
saída completa do console de cada comando.Respostas:
Como
amix
se pretende manter o mesmo volume máximo que as entradas para evitar o corte, normaliza o áudio antes da mixagem (assim,amixing
as 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 umvolume
filtro: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!
fonte