VP9-Codec Einstellungen in XMedia Recode: Tipps und Techniken
Der VP9-Codec ist ein von Google entwickelter Videokompressionsstandard. Er ist der Nachfolger des VP8-Codecs und wird häufig für das Streaming von Videos im Internet verwendet, insbesondere auf Plattformen wie YouTube.
VP9 bietet eine bessere Kompression als VP8 und kann etwa 30 bis 50 % effizienter sein als ältere Codecs wie H.264. Das bedeutet, dass weniger Daten übertragen werden müssen, während die gleiche Videoqualität erhalten bleibt.
Verwendungszweck des VP9 Codec
Nahezu alle Videos in 4K-Auflösung werden auf YouTube mit VP9 (oder dem Nachfolger AV1) ausgeliefert.
Netflix verwendet VP9 vor allem für mobiles Streaming auf Android-Geräten, um Datenvolumen zu sparen.
H.264 vs. H.265 vs. AV1: Video-Codec-Vergleich
| Merkmal | VP8 | H.264 (x264) | VP9 | H.265 (x265) | AOM AV1 (libaom) | SVT-AV1 |
|---|---|---|---|---|---|---|
| Bildqualität | Befriedigend | Standard (Basis) | Gut | Sehr gut (+50% vs. H.264) | Exzellent (Referenz) | Exzellent (Optimiert) |
| Kodier-Geschwindigkeit | Schnell | Extrem Schnell | Mittel | Mittel | Sehr Langsam | Mittel bis Schnell (Multi-Core) |
| Effizienz (Dateigröße) | Gering | Niedrig | Hoch | Hoch | Sehr Hoch | Sehr Hoch |
| Bildqualität pro MB | Gering | Gering | Hoch | Hoch | Sehr Hoch | Sehr Hoch |
| Hardware-Support | Sehr Breit (Legacy) | Universal (Alt & Neu) | Breit (Web/Android) | Sehr Breit | Eingeschränkt (Neuere GPUs) | Eingeschränkt (Neuere GPUs) |
| Primärer Fokus | Web-Legacy (WebM) | Kompatibilität & Live | Web-Streaming (YouTube) | 4K / HDR / Blu-ray | Maximale Kompression | Performance & Streaming |
| Empfehlung | Nicht mehr zeitgemäß | Für alte Geräte | Web-Video Alternativen | Für lokale Archivierung | Wissenschaftliche Tests | Moderne Web-Inhalte |
Mode
Legt fest ob das Video konvertiert oder kopiert wird.
- Convert (convert video stream)
- Copy (copy video stream)

Codec
Legt fest welcher Video Codec zum kodieren verwendet wird.
Sprache
Legt die Sprache fest, die beim Abspielen im Player anzeigt wird.

Framerate
Legt die Framerate in Frames pro Sekunde fest.
Level
Die Einstellung „Level“ legt die Grenzwerte für verschiedene Parameter fest, z. B. die maximale Auflösung, die maximale Bitrate und die maximale Anzahl an Kacheln, die beim Codieren verwendet werden können.
Höhere Level erfordern leistungsfähigere Hardware, sowohl für die Codierung als auch für die Decodierung.

Tune
Die Tune-Funktion im VP9-Codec optimiert die Codierung hinsichtlich bestimmter Qualitätsmetriken.
- PSNR: Diese Einstellung zielt darauf ab, den PSNR-Wert zu maximieren.
- SSIM: Diese Einstellung zielt darauf ab, den SSIM-Wert zu maximieren.

Tune centent type
Der Inhaltstyp „Tune“ beeinflusst, wie der Codec das Video verarbeitet und welche Prioritäten beim Codieren gesetzt werden.
- Standard
Es werden keine spezifischen Anpassungen für den Inhalt vorgenommen. Dies ist eine allgemeine Einstellung, die für die meisten Videos gut geeignet ist.
- Bildschirm
Ist für Bildschirmaufnahmen oder Videos mit Text und feinen Details.
- Film
Optimiert den Codec für die Codierung herkömmlicher Videoinhalte.

Quality
Beim VP9-Codec legt die Qualitätsfunktion fest, ob Geschwindigkeit oder Qualität Priorität hat.
- Echtzeit (Schnelle Verarbeitung und geringer Ressourcenverbrauch, jedoch mit etwas geringerer Qualität)
- Gut (Bessere Qualität als Echtzeit, jedoch mit einem moderaten Geschwindigkeitsverlust)
- Optimal

Min GOP (Group Of Pictures) length
Minimale GOP-Länge, der minimale Abstand zwischen I-Frames.
Keyframe Interval
Dies bestimmt den maximalen Abstand zwischen I-Frames.
Sehr hohe GOP-Längen führen zu einer etwas effizienteren Komprimierung, erschweren aber das Suchen im Video.
CPU Used
Mit dieser Einstellung können Sie festlegen, wie intensiv die CPU für die Videocodierung genutzt wird.
0: Dies ist der niedrigste Wert und bedeutet, dass die Codierung mit höchstmöglicher Qualität und minimalem Ressourcenverbrauch erfolgt. Der Algorithmus nutzt nur wenig Parallelisierung und beansprucht nicht alle CPU-Kerne intensiv. Die Codierung ist langsamer, das Ergebnis jedoch von höchster Qualität.
7 und 8: Diese Werte stellen die höchste Optimierung für Geschwindigkeit dar und maximieren die Nutzung der CPU-Ressourcen. Bei diesen Einstellungen ist die Codierung deutlich schneller, die Qualität kann jedoch merklich beeinträchtigt sein. Diese Werte eignen sich hauptsächlich für Szenarien, in denen Geschwindigkeit wichtiger ist als Qualität, wie z. B. Echtzeit-Streaming oder schnelle Videoverarbeitungsaufgaben.

Max Number of Frames to Lag
Diese Einstellung beeinflusst, wie viele Frames der Encoder in seinem Look-Ahead-Puffer berücksichtigen kann, um Vorhersagen zu treffen und die optimale Codierung für die komprimierten Frames zu finden.
Bei der Videocodierung ist es üblich, einen Frame nicht nur anhand der Informationen des vorherigen Frames (I-Frames) oder der benachbarten Frames (P-Frames und B-Frames) zu codieren. Der Encoder kann mehrere Frames analysieren, um die beste Codierungsstrategie für zukünftige Frames zu ermitteln.
Durch die Einbeziehung weiterer Frames kann der Encoder effizienter arbeiten, was zu einer höheren Komprimierungsrate ohne Einbußen bei der Bildqualität führt.

Display mode
- Progressiv
- Interlaced TFF (Top field first)
- Interlaced BFF (Bottom field first)
Farbmodus
Ermöglicht Ihnen, Änderungen an den Farbeinstellungen vorzunehmen.
Welchen Farbmodus Sie wählen können hängt vom verwendeten Video Codec ab.
Threads
Ermöglicht parallele Codierung durch die Verwendung mehrerer Threads, um die Geschwindigkeit auf Mehrkernsystemen zu erhöhen.
Tile Columns
Durch die Kachelung wird das Video in rechteckige Bereiche unterteilt, was die gleichzeitige Verarbeitung durch mehrere Threads beim Codieren und Decodieren ermöglicht.
Die Anzahl der Kacheln ist immer eine Zweierpotenz. 0 = 1 Kachel, 1 = 2, 2 = 4, 3 = 8, 4 = 16, 5 = 32.

Tile Rows
Die Einstellung „Kachelreihen“ bestimmt die Anzahl der vertikalen „Kachelreihen“, in die das Bild unterteilt wird.
Die Anzahl der Kacheln ist immer eine Zweierpotenz: 1, 2, 4, 8, 16, 32.
Je mehr Kachelzeilen Sie auswählen, desto mehr parallele Verarbeitungseinheiten können genutzt werden, was im Allgemeinen die Kodierungsleistung verbessert, insbesondere auf Mehrkernprozessoren.

Error Resilience Mode
Bei Echtzeit-Videoanwendungen oder Streaming-Protokollen wie WebRTC oder DASH (Dynamic Adaptive Streaming over HTTP) sorgt die Aktivierung des Fehlertoleranzmodus dafür, dass die Videowiedergabe auch bei gelegentlichem Paketverlust oder Netzwerkjitter fortgesetzt werden kann, wodurch die Zuverlässigkeit unter suboptimalen Netzwerkbedingungen erhöht wird.
Row-Based Multi-Threading
Das zeilenbasierte Multithreading im VP9-Codec ist eine Parallelverarbeitungstechnik für Videoframes, die darauf abzielt, die Effizienz und Geschwindigkeit der Videodekodierung zu erhöhen, indem mehrere Threads gleichzeitig an verschiedenen Teilen eines Frames arbeiten.
Enable Frame Parallel Encode
Die Funktion „Frame-Parallelcodierung aktivieren“ im VP9-Codec ermöglicht die parallele Codierung mehrerer Videoframes und beschleunigt so die Verarbeitung. Dieses Verfahren nutzt Mehrkernprozessoren effizient, verkürzt die Codierungszeit und verbessert die Skalierbarkeit, insbesondere bei der Verarbeitung großer oder hochauflösender Videodaten.
