ffmpeg: Kombinieren Sie zwei oder drei Audios zu einem, indem Sie die Lautstärke des anderen verringern

897
somya bhargava

Möchten Sie einige Audiodateien kombinieren, zB:

1) Eine lange Audiodatei, die als Hintergrundaudio fungiert. 2) Einige Audiodateien, die in bestimmten Intervallen wie z. B. 10 Sek. Der ersten ersetzt werden

Die endgültige Ausgabe ist also Audio-1 60 Sekunden Audio-2, beginnend mit 10 Sekunden bis 20 Sekunden mit Audio-1 bei 0,1 Lautstärke

2

1 Antwort auf die Frage

2
Gyan

Verwenden Sie für das in der Frage erwähnte Szenario

ffmpeg -i audio1 -i audio2 -filter_complex \ "[0]atrim=0:10[s1]; [0]atrim=10:20,asetpts=N/SR/TB,volume=0.1[s2]; [0]atrim=20,asetpts=N/SR/TB[s3]; [1]atrim=duration=10,adelay=10000|10000[v2]; [s1][s2][s3]concat=n=3:v=0:a=1[b]; [b][v2]amix[a]" -map [a] mixed.mp3 

Normalerweise möchten Sie den Sidechaincompress- Filter verwenden, um die Lautstärke des Musikstroms durch Analyse der Lautstärke des Vordergrundaudios adaptiv zu reduzieren.

Gibt es eine Möglichkeit, zu erkennen, ob der andere Ton stumm ist (verwenden Sie die Stummschaltung), und ändern Sie dann nur die Lautstärke somya bhargava vor 7 Jahren 0
Sidechaincompress macht das so: ändert das Volumen eines Streams entsprechend dem Volumen eines anderen Referenzstreams. Gyan vor 7 Jahren 0