Two-Pass-Encoding in FFmpeg
Wählen Sie die Zielgröße, rechnen Sie sie in eine Bitrate um und führen Sie dann zwei Durchgänge aus. Beispiel: Ein 10-minütiges Video soll in 100 MB passen: 100 × 8.000 ÷ 600 s ≈ 1.333 kbps insgesamt; abzüglich 128 kbps für den Ton bleiben etwa 1.200 kbps für das Video.
ffmpeg -y -i input.mkv -c:v libx264 -preset medium -b:v 1200k -pass 1 -an -f null /dev/null— Durchgang 1 (nur Analyse). Unter Windows schreiben SieNULstatt/dev/null.ffmpeg -i input.mkv -c:v libx264 -preset medium -b:v 1200k -pass 2 -c:a aac -b:a 128k output.mp4— Durchgang 2 (die eigentliche Kodierung).
Beide Durchgänge müssen dieselben Videoeinstellungen verwenden. FFmpeg schreibt die Analyse in ffmpeg2pass-0.log im aktuellen Ordner; Durchgang 2 liest sie aus, danach können Sie die Datei löschen.
Der grundlegende Unterschied
CRF und Two-Pass-Encoding lösen dasselbe Problem — die Balance zwischen Qualität und Dateigröße — aber von entgegengesetzten Richtungen:
- CRF (Constant Rate Factor): „Ich will diese Qualitätsstufe. Gib mir die Dateigröße, die dafür nötig ist.“ Sie steuern die Qualität, die Dateigröße ist die Variable.
- Two-Pass: „Ich will diese Dateigröße (Zielbitrate). Gib mir die beste Qualität, die hineinpasst.“ Sie steuern die Dateigröße, die Qualität ist die Variable.
| Merkmal | CRF | Two-Pass |
|---|---|---|
| Sie steuern | Qualitätsniveau (CRF-Wert) | Zielbitrate / Dateigröße |
| Variable | Dateigröße | Qualität |
| Durchläufe | 1 (Single-Pass) | 2 (Analyse + Encoding) |
| Geschwindigkeit | 1x (Referenz) | ~2x langsamer |
| Vorhersagbarkeit der Dateigröße | Unvorhersagbar | Vorhersagbar |
| Qualitätskonstanz | Konstante Qualität pro Frame | Optimale Bitverteilung |
Wie CRF funktioniert
CRF-Encoding ist ein Single-Pass-Prozess. Der Encoder verarbeitet jeden Frame und fragt: „Wie viele Bits brauche ich, um dieses Qualitätsniveau für diesen bestimmten Frame zu erreichen?"
- Hochkomplexe Frames (Explosionen, schnelle Bewegungen) erhalten mehr Bits
- Niedrigkomplexe Frames (statische Aufnahmen, Titelkarten) erhalten weniger Bits
- Die Qualität bleibt konstant; die Bitrate schwankt
Das Ergebnis ist eine VBR-Datei, bei der jeder Frame genau die Bits erhält, die er benötigt — keine Verschwendung bei einfachen Szenen, kein Mangel bei komplexen. Deshalb liefert CRF das optimale Qualitäts-Größen-Verhältnis für Offline-Encoding.
Wie Two-Pass funktioniert
Two-Pass-Encoding verarbeitet das Video zweimal:
- Pass 1 (Analyse): Der Encoder scannt das gesamte Video, ohne eine Ausgabe zu erzeugen. Er erstellt eine Frame-für-Frame-Komplexitätskarte — welche Szenen einfach oder komplex sind, wo Szenenwechsel stattfinden.
- Pass 2 (Encoding): Anhand der Analyse aus Pass 1 verteilt der Encoder die Zielbitrate optimal auf alle Frames. Komplexe Szenen erhalten mehr vom Bitratebudget; einfache Szenen erhalten weniger.
Das Ergebnis: eine Datei, die die Zielbitrate präzise trifft und die Qualität so gleichmäßig wie möglich über alle Szenen verteilt.
Qualitätsvergleich
Bei sinnvollen Einstellungen liefern CRF und Two-Pass nahezu identische Qualität. Die Unterschiede sind subtil:
- CRF-Vorteil: Jeder Frame erhält genau die Bits, die er benötigt. Kein Frame wird je ausgehungert. CRF kann eine etwas bessere durchschnittliche Qualität liefern, da es nicht durch ein Bitratebudget eingeschränkt ist.
- Two-Pass-Vorteil: Bessere Bitverteilung bei extremen Inhalten (lange Videos mit stark schwankender Komplexität). Der Analysedurchlauf hilft dem Encoder, sich auf bevorstehende komplexe Szenen vorzubereiten.
In der Praxis ist der Qualitätsunterschied zwischen CRF und einem gut kalibrierten Two-Pass-Encode für die meisten Inhalte vernachlässigbar. Sie würden eine Frame-für-Frame-VMAF-Analyse benötigen, um Unterschiede zu erkennen.
Geschwindigkeitsvergleich
Der Geschwindigkeitsunterschied ist eindeutig:
- CRF: 1x Encodingzeit (ein Durchlauf durch das Video)
- Two-Pass: ~1.7–2x Encodingzeit (der erste Durchlauf ist schnell, da er keine Ausgabe erzeugt, benötigt aber trotzdem Zeit)
Für ein 10-minütiges 1080p-Video auf einer modernen CPU:
- CRF mit medium: etwa 10 Minuten bei einer Kodiergeschwindigkeit von ~30 fps (18.000 Bilder ÷ 30 fps = 600 s)
- Two-Pass mit medium: etwa 17–20 Minuten, da der erste Durchgang schneller läuft als der zweite. Ein schnelleres Preset verkürzt beide Durchgänge; unser Leitfaden zu FFmpeg-Presets: Geschwindigkeit vs. Dateigröße zeigt den Kompromiss.
Wann Sie CRF verwenden sollten
CRF ist die bessere Wahl für fast alle gängigen Szenarien:
- Dateikonvertierung: MKV zu MP4, MOV zu MP4, jede Formatkonvertierung, bei der Sie die beste Qualität wünschen
- Persönliche Archivierung: Speichern Ihrer Videobibliothek bei konstanter Qualität
- Web-Upload: YouTube, soziale Medien und die meisten Plattformen akzeptieren VBR-Dateien
- Weitergabe: Wenn die Dateigröße nicht exakt sein muss, liefert CRF optimale Qualität
- Stapelverarbeitung: Eine Einstellung (CRF 23) funktioniert gut für alle Inhaltstypen
Deshalb verwendet unser Converter CRF — es liefert die beste Qualität, ohne dass Benutzer Zielbitraten berechnen müssen.
Wann Sie Two-Pass verwenden sollten
Two-Pass-Encoding ist die bessere Wahl, wenn die Dateigröße vorhersagbar sein muss:
- DVD-/Blu-ray-Authoring: Der Inhalt muss auf eine bestimmte Disc-Kapazität passen
- Streaming mit begrenzter Bandbreite: Adaptives Bitrate-Streaming (HLS/DASH) erfordert präzise Zielbitraten für jede Qualitätsstufe
- Dateigrößenlimits: Plattformen mit strengen Upload-Limits (Discord 10 MB ohne Nitro, E-Mail 25 MB), bei denen garantiert sein muss, dass die Ausgabe passt
- Professioneller Rundfunk: Sendeabläufe verlangen oft CBR oder präzise VBR-Zielwerte
Das Beste aus beiden Welten: Capped CRF
Es gibt einen hybriden Ansatz namens Capped CRF (eingeschränkte Qualität), der die Vorteile beider Methoden kombiniert:
ffmpeg -i input.mkv -c:v libx264 -crf 23 -maxrate 4000k -bufsize 8000k -c:a aac output.mp4
Das sagt dem Encoder: „Ziele auf die Qualität von CRF 23, aber bleib bei höchstens etwa 4 Mbps (gemittelt über den Puffer von 8.000 kbit, also etwa 2 Sekunden).“ In der Praxis:
- Einfache Szenen: mit CRF 23-Qualität encodiert (deutlich unter 4 Mbit/s)
- Komplexe Szenen: mit CRF 23-Qualität encodiert, es sei denn, dies würde 4 Mbit/s überschreiten – in diesem Fall wird die Qualität leicht reduziert, um innerhalb der Grenze zu bleiben
Capped CRF ist ideal für Streaming-Anwendungen, bei denen Sie Bandbreitenvorhersagbarkeit benötigen, ohne CRFs qualitätsorientiertem Ansatz aufzugeben.
VBR 1-Pass vs. 2-Pass in Premiere Pro, Media Encoder und HandBrake
- Premiere Pro und Adobe Media Encoder: In den H.264-Exporteinstellungen bietet die Bitratencodierung CBR, „VBR, 1 Durchgang“ und „VBR, 2 Durchgänge“. VBR mit 2 Durchgängen dauert länger und verteilt die Bits bei gleichem Zielwert meist besser.
- HandBrake: Wechseln Sie im Tab Video von „Constant Quality“ zu Avg Bitrate und aktivieren Sie dann Two-Pass (je nach Version als „2-Pass“ oder „Multi-Pass Encoding“ bezeichnet).
- Faustregel: Bei großzügigen Bitraten sehen 1-Pass und 2-Pass gleich aus; der zweite Durchgang lohnt sich, wenn die Bitrate für den Inhalt knapp bemessen ist.