Atualmente estou trabalhando em um aplicativo de karaokê e preciso mesclar um número arbitrário de faixas de entrada (de 1 a 12) com uma faixa de música em um único arquivo de áudio de saída que deve ser estéreo.
Tentei usar os filtros amerge e amix, eles funcionaram muito bem, mas ambos tiveram um problema - o volume na mixagem resultante era menor do que nos arquivos de origem. O comando que usei foi:
ffmpeg.exe -y -i song.mp3 -i track1.mp3 .... -i track[N].mp3 -filter_complex amerge=inputs=[N] -c:a libmp3lame -ar 44100 -q:a 1 mix.mp3
Também tentei usar o filtro pan e funcionou muito bem para 2 arquivos com
pan=stereo:c0=c0+c1:c1=c0+c1 - o resultado foi exatamente o que eu precisava mas não consegui fazer funcionar com mais de 2 arquivos (e preciso mesclar até 12).
Responder1
Para referência futura: Como dito por llogan, você precisa mesclar primeiro:
ffmpeg -i input1.mp3 -i input2.mp3 -filter_complex "[0:a][1:a]amerge=inputs=2[a]" -map "[a]" -ac 2 output.mp3