Mischen Sie mit ffmpeg eine beliebige Anzahl von Audiodateien zu einer einzigen Stereo-Audiodatei

Mischen Sie mit ffmpeg eine beliebige Anzahl von Audiodateien zu einer einzigen Stereo-Audiodatei

Ich arbeite derzeit an einer Karaoke-Anwendung und muss eine beliebige Anzahl (von 1 bis 12) von Eingabespuren mit einer Songspur zu einer einzigen Ausgabe-Audiodatei in Stereo zusammenführen.

Ich habe versucht, die Filter amerge und amix zu verwenden. Sie funktionierten großartig, hatten aber beide ein Problem: Die Lautstärke im resultierenden Mix war niedriger als in den Quelldateien. Der von mir verwendete Befehl war:

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

Ich habe auch versucht, den Pan-Filter zu verwenden, und er hat bei 2 Dateien mit
pan=stereo:c0=c0+c1:c1=c0+c1 prima funktioniert – das Ergebnis war genau das, was ich brauchte, aber ich habe es nicht mit mehr als 2 Dateien zum Laufen gebracht (und ich muss bis zu 12 zusammenführen können).

Antwort1

Zur künftigen Bezugnahme: Wie von llogan gesagt, benötigen Sie zuerst Amerge:

ffmpeg -i Eingabe1.mp3 -i Eingabe2.mp3 -filter_complex "[0:a][1:a]amerge=inputs=2[a]" -map "[a]" -ac 2 Ausgabe.mp3

verwandte Informationen