ffmpeg - Audio-Lautstärke gleich dem abgespielten Video aufnehmen

813
ADH

Ich verwende den folgenden Befehl, um Video auf meinem Desktop mit dem Audio auf der Soundkarte aufzunehmen. Die Lautstärke der Audioaufnahme ist jedoch viel niedriger als sie sein sollte. Wie kann ich das Audio so aufnehmen, dass es auf dem Pegel wiedergegeben wird, auf dem es abgespielt wurde, als Video und Audio aufgenommen wurden?

ffmpeg -f gdigrab -framerate ntsc -video_size 1920x1080 -i desktop -f dshow -i audio="Microphone (Realtek High Definition Audio)" -vcodec libx264 -pix_fmt yuv420p -preset ultrafast D:\output.mp4 

Ich habe versucht, die Lautstärke zu erhöhen, nachdem das Video mit dem folgenden Befehl erstellt wurde. Aber es klingt nicht richtig, es gibt eine Art "Wah-Wah", den ich jetzt hören kann.

ffmpeg -i F:\input.mp4 -vcodec copy -af "volume=30dB" F:\output.mp4 
0
30db klingt zu hoch. Machen Sie eine Aufnahme ohne den Volumenfilter. Führen Sie nach der Aufnahme `ffmpeg -i ausgabe -af volumedetect -vn -f null -` aus, um das mittlere Volumen anzuzeigen. Erhöhen Sie es dann, aber stellen Sie sicher, dass es nicht über 0 dB hinaus normalisiert wird. Gyan vor 5 Jahren 3

1 Antwort auf die Frage

1
slhck

Standardmäßig wird auf demselben Volume aufgenommen. Stellen Sie sicher, dass die Ausgangslautstärke des Windows-Soundmixers korrekt ist. Wenn Ihre Soundkarte dies zulässt, können Sie eine Mikrofonverstärkung aktivieren, aber nicht bei 0 dB schneiden. (Siehe auch diese Frage .)

Sie können auch ffmpeg-normalizeden Ausgang ausführen, um die Spitze auf 0 dB zu normalisieren:

ffmpeg-normalize input.mp4 -nt peak -t 0 -c:a aac -b:a 192k -o output.mp4 

Oder noch besser, verwenden Sie EBU R128, um die Lautstärke zu normalisieren (dies ist die Standardeinstellung):

ffmpeg-normalize input.mp4 -c:a aac -b:a 192k -o output.mp4 

(Haftungsausschluss: Ich bin der Autor dieses Tools.)