Richten Sie mit Hilfe von ffmpeg richtig 5.1 auf Stereo herunter

24401
forthrin

Ich habe eine 5.1-Audiospur aus einem Film, in der vorne links und rechts vorne Musik enthalten ist und in der Mitte Dialog enthalten ist. Wenn Sie den 5.1-Titel in VLC spielen, fügt sich alles gut zusammen.

Ich versuche, die 5.1-Spur mit Hilfe von Stereo in Stereo umzuwandeln ffmpeg -ac 2, jedoch ist die Stereomischung viel schwächer als die native Wiedergabe der 5.1-Spur.

Durch -af "pan=stereo|c0=FL|c1=FR"das Hinzufügen wird die richtige Lautstärke erreicht, es erfolgt jedoch kein Dialog, da der Center-Kanal nicht enthalten ist.

Die Lösung ist also, Links / Center / Rechts in Stereo zu mischen und die Back-End-Subwoofer-Kanäle zu entfernen. (Ich vermute hier ...)

Die Frage ist also: Wie mache ich ffmpeg downmix 5.1 auf Stereo genauso wie VLC, mit der gleichen starken Lautstärke im Endergebnis?

15
Sind Sie sicher, dass VLC die zusätzlichen Kanäle tatsächlich abspielt? Das Heruntermischen kann zu einer Normalisierung führen, so dass die Summe jedes Eingangs pro Ausgangskanal nicht zu einer Überlastung führt, so dass ein Clipping verhindert wird. Dadurch kann es leiser klingen. LordNeckbeard vor 9 Jahren 0
Die Grundlagen: Meine Datei ist 5.1. Meine Lautsprecher sind Stereo. Ich weiß nicht, was VLC macht, aber es ergibt ein großartiges Endergebnis in meinen Stereolautsprechern aus den 5.1-Quelldaten (starke Lautstärke, sowohl Musik als auch Dialog). ffmpeg hingegen erzeugt bei Verwendung von "-ac 2" ein "geringes Volumen". Ich frage also, wie man mit ffmpeg das gleiche gute Ergebnis erzielen kann wie VLC. forthrin vor 9 Jahren 0

5 Antworten auf die Frage

17
Gregory

Ich fand die Antwort, die Shane gegeben hatte, um zu wenig von den anderen Kanälen und zu viel vom Zentrum bereitzustellen. Filme mit Kopfhörern klangen aus dem Gleichgewicht, alle Dialoge und nicht genug Hintergrundmusik / Effekte.

Gemäß den ATSC-Standards (Abschnitt 7.8, Seite 91) wird die folgende Formel verwendet, um 5.1 auf herkömmliches Stereo (im Gegensatz zu Matrix) herunterzumischen:

Lo = 1.0 * L + clev * C + slev * Ls ; Ro = 1.0 * R + clev * C + slev * Rs ; 

clev und slev sollten laut den Tabellen 5.9 und 5.10 des oben genannten Dokuments 0,707 sein, vorausgesetzt, dass der Center / Surround-Mix-Pegel 0 ist. In diesen Tabellen sind andere Werte angegeben, die die Menge des Center-Mix verringern, was ich nicht finde sinnvoll.

Vor diesem Hintergrund erzeugt die folgende Option ffmpeg einen guten ausgewogenen Klang mit hörbarem Dialog. Beachten Sie, dass die Angabe der Audiokanäle nicht erforderlich ist.

-af "pan=stereo|FL < 1.0*FL + 0.707*FC + 0.707*BL|FR < 1.0*FR + 0.707*FC + 0.707*BR" 

Ein Hinweis zur Verwendung des Symbols "weniger als" aus der Pan-Filter-Dokumentation :

Wenn das '=' in einer Kanalspezifikation durch '<' ersetzt wird, werden die Verstärkungen für diese Spezifikation umnormiert, so dass die Summe 1 ist, wodurch Abschneidegeräusche vermieden werden.

9
Shane Harrelson

Versuchen Sie diesen Downmix:

-ac 2 -af "pan=stereo|FL=FC+0.30*FL+0.30*BL|FR=FC+0.30*FR+0.30*BR" 

wie in vorgeschlagen:
Dialog Nightmode Downmix-Voreinstellung für 5.1 DTS auf 2.0 AAC Stereo mit ffmpeg und qaac

Was bedeuten all diese Optionen? Wenn Sie sie erklären, können die Leute Ihre Antwort verwenden, um verschiedene Probleme zu lösen, anstatt nur das Kopieren und Einfügen vorzunehmen. David Richerby vor 8 Jahren 1
@DavidRicherby -ac = Audiokanäle (2 für Stereo), -af = Audiofilter Cestarian vor 8 Jahren 2
Versuchte dies für einen 5.1-Film und zumindest das Ausgangssignal Stereo klang für mich vollkommen in Ordnung. Ein klarer Dialog und nichts schien zu fehlen. Wäre super, wenn jemand mit VLC-Kenntnissen genau mitteilen könnte, was dort standardmäßig mit dem Downmix 5.1 bis 2.0 gemacht wird. forthrin vor 8 Jahren 2
@DavidRicherby: Die Optionen im Audiofilter (-af) sind: FL = Vorne links; BL = hinten links; FC = Front-Mitte; FR = vorne rechts; BR = Rückwärts-Rechts. Die Floats sind lineare Faktoren, um die Lautstärke des multiplizierten Kanals zu verringern (<1) oder zu erhöhen (> 1). FL = FC + 0,30 * FL + 0,30 * BL setzt den Front-Left-Kanal auf den Front-Center-Kanal plus 30% der Front-Left- und 30% der Back-Left-Kanäle. kronenpj vor 7 Jahren 1
FWIW: Ich finde, diese Mischung macht Dialoge im Vergleich zu Musik und Umgebungsgeräuschen viel zu laut. Die technisch korrektere Mischung in Tarc's Antwort gefällt mir viel mehr. Ich denke, Sie müssen vielleicht versuchen, was für Sie am besten funktioniert, es hängt von der Situation ab. jlh vor 6 Jahren 1
Es wurde möglicherweise bearbeitet, @jlh: Die Filtereinstellungen sind jedoch in beiden Antworten identisch. Es gibt keinen Grund, warum sie anders klingen sollten. psouza4 vor 6 Jahren 0
4
Tarc

Durch die Kombination von @Shane Harrelson's mit @Jordan Harris ' Antwort auf eine andere Frage - bei aktiviertem Lazy-Modus - hier also, was erforderlich ist, um input_51.mkv(5.1) in output_stereo.mkv(Stereo) zu konvertieren :

ffmpeg -i input_51.mkv -c:v copy \ -ac 2 -af "pan=stereo|FL=FC+0.30*FL+0.30*BL|FR=FC+0.30*FR+0.30*BR" \ output_stereo.mkv 

Der -c:v copyTeil bedeutet, dass der Videostrom nicht berührt wird (ich glaube, dass die v ideo c ODEC Einstellungen werden cop ied). Ohne das dauert es viel länger. Wenn Sie nur die obige Antwort wiederholen, -ac 2bedeutet dies zwei Audiokanäle und -afeinen Audiofilter.

Nachdem ich mir den Befehl ein wenig angesehen hatte, stellte ich fest, dass er die Zusammensetzung der beiden Stereokanäle einstellt. Der FL(vorderer linker Kanal) wird vom Original FC(vorderer Mittelpunkt) plus 0.30*FL(30% von links vorne) plus 0.30*BL(30% von links hinten) usw. übernommen.

Wird der Center-Kanal dadurch konsistent und hörbar bleiben? Freedo vor 7 Jahren 0
0
Mephisto

Wenn Sie mit der Option -ac 2 einen ausgeglichenen Downmix erhalten, bei dem weder Musik noch Sprache mehr klingen als die anderen Komponenten, müssen Sie nur die Lautstärke erhöhen

-vol 512 

Ich habe im Beispiel 512 verwendet, wodurch der Sound zweimal lauter wird. Die Regel ist, dass 256 100% entspricht.

Gehen Sie nicht zu hoch mit dem Wert, und überprüfen Sie die Ergebnisse in diesen Bereichen des Films mit Explosionen oder lauten Geräuschen. Es ist sehr einfach, Verzerrungen durch Verwendung eines zu hohen Wertes einzuführen.

0
Dave_750

Dies ist jetzt eine alte Frage, die mich jedoch in die richtige Richtung zeigte und mein Ergebnis teilen wollte. Locker folgt Gregors Antwort:

pan=stereo|FL=0.5*FC+0.707*FL+0.707*BL+0.5*LFE|FR=0.5*FC+0.707*FR+0.707*BR+0.5*LFE 

Wenn Sie die Hälfte des FC und des LFE nach links und rechts platzieren, erhalten Sie von beiden Lautsprechern insgesamt 1 für die effektive Lautstärke. Durch die Verwendung von .707 * Front / Back Left / Right werden diese Kanäle auf ein gutes Niveau heruntergefahren, so dass sie die Mitte nicht überfordern.