VP9-Encoding-Modi
Konstante Qualität (CRF + b:v 0)
Unser empfohlener Ansatz für die Dateikonvertierung. Legen Sie ein Qualitätsziel mit CRF fest und lassen Sie den Encoder die Bitrate pro Frame bestimmen. Das Flag -b:v 0 ist erforderlich, um den reinen CRF-Modus zu aktivieren (sonst wendet FFmpeg eine Standard-Bitratenobergrenze an).
Befehl: ffmpeg -i input.mp4 -c:v libvpx-vp9 -crf 30 -b:v 0 output.webm
Eingeschränkte Qualität (CRF + Bitratenlimit)
Kombiniert CRF-Qualitätsziel mit einer maximalen Bitrate. Nützlich für Streaming, wenn Sie innerhalb von Bandbreitengrenzen bleiben und gleichzeitig die Qualität halten müssen.
Befehl: ffmpeg -i input.mp4 -c:v libvpx-vp9 -crf 30 -b:v 2M output.webm
Variable Bitrate (VBR)
Zielt auf eine bestimmte durchschnittliche Bitrate ab. Wird für Broadcast und Streaming verwendet, wenn die Bandbreite vorhersagbar sein muss.
Befehl: ffmpeg -i input.mp4 -c:v libvpx-vp9 -b:v 2M output.webm
CRF-Werte für VP9
Die CRF-Skala von VP9 reicht von 0 (verlustfrei) bis 63 (schlechteste Qualität). Höhere Zahlen bedeuten mehr Komprimierung und geringere Qualität.
| CRF-Bereich | Qualität | Anwendungsfall |
|---|---|---|
| 0 | Verlustfrei | Archivierung (riesige Dateien) |
| 15–20 | Hohe Qualität | Master-Kopien, hochwertige Auslieferung |
| 30–35 | Guter Kompromiss (Standard) | Web-Auslieferung, allgemeine Nutzung |
| 40–50 | Niedrigere Qualität | Vorschauen, Thumbnails |
| 50–63 | Schlechte Qualität | Selten sinnvoll |
Unser Standard ist CRF 30, was eine visuelle Qualität liefert, die etwa H.264 CRF 23 entspricht – bei 30 bis 50 % kleineren Dateigrößen.
Geschwindigkeitseinstellungen (cpu-used)
Der Parameter cpu-used steuert das Verhältnis zwischen Encoding-Geschwindigkeit und Komprimierungseffizienz. Bereich: 0 bis 8.
| cpu-used | Relative Geschwindigkeit | Komprimierungsverlust | Anwendungsfall |
|---|---|---|---|
| 0 | 1x (Referenz) | Keiner (bester) | Offline-Stapelverarbeitung |
| 1 | ~2x | ~2 % | Hochwertiges Encoding |
| 3 | ~8x | ~5 % | Online-Konverter (unsere Einstellung) |
| 5 | ~15x | ~10 % | Schnelle Vorschauen |
| 8 | ~30x | ~20 % | Echtzeit / niedrigste Latenz |
Multithreading (row-mt)
Das Flag -row-mt 1 aktiviert zeilenbasiertes Multithreading, das auf Multi-Core-Systemen eine 2- bis 4-fache Beschleunigung ohne Qualitätsverlust bringen kann. Das ist ein reiner Geschwindigkeitsgewinn und sollte immer aktiviert sein.
Audio: Opus-Einstellungen
WebM kombiniert VP9-Video mit Opus-Audio, das bei vergleichbaren Bitraten AAC überlegen ist:
- 64 kbps: gut für Sprache und Podcasts
- 128 kbps: transparent für die meisten Inhalte (unser Standard)
- 192 kbps: hohe Qualität für Musik
Two-Pass vs. Single-Pass
Single-Pass-CRF (unser Ansatz) liefert das optimale Verhältnis von Qualität zu Dateigröße für die Dateikonvertierung. Der Encoder passt die Bitrate pro Frame je nach Komplexität an, was die bestmögliche Qualität beim gewählten CRF ergibt.
Two-Pass-Encoding wird nur benötigt, wenn Sie eine bestimmte Ziel-Bitrate treffen müssen (Streaming, Broadcast). Der erste Durchlauf analysiert den Inhalt, der zweite codiert mit optimaler Bitverteilung.
Die VP9-Pipeline unseres Konverters
Der vollständige FFmpeg-Befehl, den unser Konverter verwendet:
ffmpeg -i input.mp4 -c:v libvpx-vp9 -crf 30 -b:v 0 -cpu-used 3 -row-mt 1 -c:a libopus -b:a 128k output.webm
Flag für Flag:
-c:v libvpx-vp9— VP9-Videocodec verwenden-crf 30— Qualitätsziel (entspricht H.264 CRF 23)-b:v 0— reiner CRF-Modus, keine Bitratenobergrenze-cpu-used 3— ausgewogene Geschwindigkeit für Online-Konvertierung-row-mt 1— zeilenbasiertes Multithreading für schnelleres Encoding-c:a libopus— Opus-Audiocodec-b:a 128k— transparente Audioqualität
Von Google empfohlene Einstellungen nach Auflösung
| Auflösung | Empfohlener CRF | Ziel-Bitrate (VBR) |
|---|---|---|
| 360p | 36–40 | 200–400 kbps |
| 480p | 33–36 | 500–900 kbps |
| 720p | 30–33 | 1–2 Mbps |
| 1080p | 28–32 | 2–4 Mbps |
| 2160p (4K) | 25–30 | 8–16 Mbps |