H.264, HEVC und AV1: warum der Codec entscheidet, was läuft

Drei Generationen derselben Idee, jede mit etwa der halben Datenrate der vorigen für dasselbe Bild, jede teurer im Dekodieren. Wo Ihre Hardware aufhört, hören Ihre Sender auf.

Alle paar Jahre liefert die Videoindustrie einen Codec, der dasselbe Bild bei etwa der halben Datenrate des vorigen erzeugt, und stellt dafür Rechenaufwand beim Dekodieren in Rechnung. Fürs Live-Fernsehen hat diese Abwägung eine bestimmte Folge: Ihr Anbieter spart Bandbreite, und Sie erfahren, ob Ihre Hardware mithalten kann.

Die drei Generationen

H.264, standardisiert 2003, ist der universelle. Jedes in diesem Jahrhundert gebaute Gerät dekodiert ihn in Hardware. Er ist zugleich der ineffizienteste der drei, ein H.264-Sender braucht bei gegebener Qualität also die meiste Bandbreite.

HEVC, standardisiert 2013, ist die aktuelle Vorgabe für alles Hochauflösende. Grob die halbe Datenrate von H.264 bei vergleichbarer Qualität. Die Hardwareunterstützung ist auf allem aus dem letzten Jahrzehnt breit, und er ist das, was die meisten 4K-IPTV-Sender nutzen.

AV1, 2018 von der Alliance for Open Media veröffentlicht, ist der neueste, mit der Lizenzlage, die ihn für große Verteiler attraktiv gemacht hat. Grob wieder die Hälfte von HEVC. Die Hardware-Dekodierung ist auf aktuellen GPUs verbreitet und auf allem Älteren nicht vorhanden.

codec    standardised   relative bitrate   hardware decode
H.264    2003           baseline           universal
HEVC     2013           about half         broad, last 10 years
AV1      2018           about half again   recent GPUs only

Das Muster wiederholt sich jedes Mal: bessere Kompression, mehr Dekodierarbeit, schmalere Hardwareunterstützung, bis die Welt nachzieht. Welcher Codec der beste ist, ist nie die interessante Frage. Wo die Grenze Ihrer Hardware liegt, schon.

Warum ein Hardware-Dekoder grundsätzlich etwas anderes ist

Alles andere folgt daraus, und man übersieht es leicht, weil beides wie "ein Video abspielen" aussieht.

Ein Hardware-Dekoder ist eine Schaltung mit fester Funktion auf Ihrer GPU, die einen bestimmten Codec umsetzt. Er ist keine schnelle Fassung des Software-Dekoders; er ist etwas anderes, das zufällig dieselbe Ausgabe erzeugt. Er braucht fast keine Prozessorlast, zieht wenig Strom, und es gibt ihn für Ihren Codec entweder oder nicht.

Es gibt keine teilweise Unterstützung. Eine GPU mit einem AV1-Dekoder dekodiert AV1 bei 4K mühelos. Eine GPU ohne einen trägt zu AV1 überhaupt nichts bei, und die Arbeit fällt an den Prozessor, der Software ausführt.

Die Software-Dekodierung funktioniert. Sie ist auch genau so teuer, wie Sie erwarten würden: viele Kerne unter hoher Last, ein heißes Notebook, Lüfter, und auf einem Gerät ohne Luft verworfene Bilder.

Wir haben die Zahlen zum guten Fall, und wir haben sie, weil wir es selbst falsch gemacht haben. Mit eingeschalteter Hardware-Dekodierung lief ein 4K-Titel in HEVC Main10 mit den GPU-Videodekodier-Einheiten bei rund 11 Prozent. Genau dieser Pfad lief bis zum 2026-08-23 rein in Software. Die Dekoderwahl ist eine Option je Medium, die bei jedem Öffnen angewendet wird, und keine Eigenschaft des Players, und ein Abruf-Codepfad hatte sie monatelang unabhängig von der Einstellung fest auf aus verdrahtet. Dieselbe Datei, derselbe Rechner, dieselbe Einstellung auf dem Bildschirm, und der einzige sichtbare Unterschied war ein hochdrehender Lüfter. Das ist der ganze Grund, warum ein falscher Dekoder unbemerkt bleibt: das Bild läuft so oder so. Hardware- gegen Software-Dekodierung behandelt diese Grenze im Einzelnen.

AV1, und die Spaltung, die es erzeugt

Der klarste reale Fall von all dem in unseren eigenen Apps.

Der Desktop-Kopf kann AV1 auf der GPU dekodieren, wo die GPU es unterstützt. Der Konsolen-Kopf kann es überhaupt nicht: der Player-Build, den er einbindet, trägt keinen AV1-Hardware-Dekoder. Ein AV1-Sender fällt auf einer Konsole auf Software zurück.

Und dieser Rückfall hat seine eigene Decke. Die Bild-Threads des Dekoders sind dort auf 3 begrenzt, aus einem gemessenen Grund: sich selbst überlassen nahm der Dekoder 6, was bei 4K einen Ausgabepool mit 40 Oberflächen erzeugte, etwa 500 MB GPU-sichtbare Belegung gegen rund 1 GB nutzbaren Speicher auf der Konsole. Die Hardware-Dekodierung rührt diese Threads nie an, die Grenze ist also auf jedem funktionierenden Pfad kostenlos. Sie beißt genau dort, wo AV1 landet.

Was eine Zuschauerin oder ein Zuschauer sieht: ein Sender, der auf einem Windows-Rechner sauber läuft und auf der Konsole ruckelt oder scheitert, mit demselben Konto, demselben Netzwerk und derselben Quelle. Warum ein Sender unter Windows läuft und auf der Xbox nicht ist die Fassung zur Fehlersuche.

Wie Sie herausfinden, was ein Sender nutzt

Schwerer, als es sein sollte.

Der Katalog weiß es nicht. Der Datensatz eines Live-Senders trägt kein Codec-Feld, kein Behälter-Feld und kein Transport-Feld, denn weder eine M3U-Zeile noch die Panel-API liefert eines. Es gibt keinen Ort, aus dem diese Information stammen könnte, bevor Sie den Stream öffnen.

Das Feld mit den Stream-Informationen sagt es Ihnen, sobald die Wiedergabe beginnt, aber lesen Sie es im Wissen darum, was es tut. Das Protokoll kommt aus dem Schema der Adresse und der Behälter aus der Dateiendung des Pfads, mit einer Nicht-verfügbar-Angabe, wenn der Pfad keine hat. Es leitet das aus der Adresse ab, statt den Demuxer zu fragen, ein Portal, das HLS von einem Pfad mit der Endung .ts ausliefert, wird also über seine Adresse beschrieben und nicht über seinen Inhalt.

Das Feld für den Video-Codec ist das, was die Frage dieses Artikels beantwortet. Lesen Sie dieses.

Zwei Dinge, die Leute Codecs zuschreiben und die keine sind

HDR ist keine Eigenschaft des Codecs. Es reist in der Praxis mit HEVC und AV1, weil das die Formate sind, die moderne hochauflösende Inhalte nutzen, aber die Anforderung ist eine 10-Bit-Oberfläche und ein Farbraum, den der Bildschirm annimmt. In unserem Fall hat das eine von der App verwaltete Swapchain gekostet, denn das Standard-Videosteuerelement baut einen 8-Bit-Puffer und DXGI nimmt darauf keinen HDR10-Farbraum an, die Aushandlung konnte also unabhängig vom Stream nur bei sRGB landen.

Die Datenrate ist nicht die Qualität. Ein Sender, der in HEVC mit 8 Mbit/s kodiert ist, und einer, der in H.264 mit 8 Mbit/s kodiert ist, sehen nicht gleich aus, und der HEVC-Sender ist auch nicht automatisch besser: ein schlecht eingestellter Kodierer verschenkt den Vorteil jedes Codecs. Was der Codec einkauft, ist eine bessere Position auf der Kurve Qualität je Bit. Ob Ihr Anbieter das in weniger Bandbreite oder in ein besseres Bild steckt, ist seine Entscheidung und keine des Formats.

Profile und Stufen, und warum "unterstützt HEVC" keine vollständige Antwort ist

Ein Codec-Name beginnt die Kompatibilitätsfrage, statt sie zu beenden. Jeder Standard definiert Profile, die sagen, welche Werkzeuge erlaubt sind, und Stufen, die Auflösung und Datenrate begrenzen.

Die Bittiefe zählt fürs Live-Fernsehen am meisten. HEVC Main bewältigt Video mit 8 Bit; HEVC Main10 bewältigt 10 Bit. Ein Dekoder kann das eine unterstützen und das andere nicht, und 10 Bit ist das, was HDR-Inhalte nutzen, "meine GPU unterstützt HEVC" und "meine GPU dekodiert diesen HDR-Sender" sind also verschiedene Aussagen.

Der 4K-Titel in unserem eigenen Überprüfungsdurchlauf war ausdrücklich HEVC Main10, und dieses Profil ist der interessante Fall genau deshalb, weil dort viel ältere Hardware aufhört.

Die Stufen begrenzen die andere Achse. Ein Dekoder, der für eine Stufe eingestuft ist, die 1080p60 abdeckt, nimmt vom selben Codec nicht zwangsläufig 4K60. Das ist die übliche Erklärung dafür, dass die HD-Ausgabe eines Anbieters läuft und seine 4K-Ausgabe desselben Senders nicht, auf Hardware, die den Codec unbestreitbar "unterstützt".

Was ein Anbieter tatsächlich entscheidet

Der Codec auf Ihrem Bildschirm ist das Ergebnis der Kostenrechnung von jemand anderem.

Ein Anbieter mit hunderten Sendern zahlt für jeden einzelnen fortlaufend Bandbreite. Einen Sender von H.264 auf HEVC zu verlegen halbiert diese Rechnung bei gleichem Bild. Ihn erneut auf AV1 zu verlegen halbiert, was übrig bleibt.

Was er mit der Ersparnis macht, ist eine andere Entscheidung, und beide Wege sind verbreitet. Manche stecken sie in Bandbreite und liefern dasselbe Bild für weniger. Manche stecken sie in Qualität und liefern ein besseres Bild bei gleicher Datenrate. Deshalb sagt der Vergleich zweier Anbieter allein nach der Datenrate sehr wenig: 6 Mbit/s gut eingestelltes HEVC können besser aussehen als 12 Mbit/s schlecht eingestelltes H.264.

Die Kosten landen bei Ihnen als Dekodierarbeit, und am härtesten bei dem, der die älteste Hardware hat. Deshalb kann ein Sender, den Sie ein Jahr lang gesehen haben, plötzlich anfangen zu ruckeln, ohne dass sich auf Ihrer Seite etwas geändert hat. Der Anbieter hat ihn neu kodiert.

Das dreht die übliche Diagnose um. Wenn ein Sender schlechter wird und alles andere in Ordnung ist, prüfen Sie seinen Codec vor Ihrem Netzwerk.

Wie das mit der Fehlererkennung zusammenspielt

Der Wiedergabedetektor ordnet 9 verschiedene Störungen ein, und ein Dekoder, der nicht mithält, hat keine eigene Art. Er zeigt sich als eine der bestehenden, und das ist wissenswert, damit die Diagnose nicht falsch gelesen wird.

Eine Software-Dekodierung, die zurückfällt, zeigt sich als stehengebliebenes Bild oder als vollständiges Einfrieren, während weiter Bytes ankommen. Das Netzwerk ist in Ordnung, der Demuxer ist in Ordnung, und die Bilder erreichen den Bildschirm nicht schnell genug. Vom Standpunkt des Detektors aus ist das nicht von einer Quelle zu unterscheiden, die keine Bilder mehr erzeugt, denn die Zähler sehen gleich aus.

Der Detektor tut also, was er bei jedem Einfrieren tut: das Feststellungsfenster abwarten, feststellen und eine Wiederherstellung versuchen. Eine Wiederherstellung hilft bei einem dekodierbegrenzten Sender nicht, denn den Stream neu zu starten macht den Dekoder nicht schneller. Sie bekommen einen Sender, der ein paar Sekunden läuft, einfriert, neu startet und das wiederholt.

Diese Schleife ist die Signatur. Ein Stream-Problem erholt sich meist oder scheitert; ein Dekodierproblem dreht sich im Kreis. Wenn Sie dieses Kreisen sehen, prüfen Sie den Codec. Pufferung und Ruckeln beheben behandelt die Fehlerarten, und Video friert ein, Ton läuft weiter behandelt, warum ein eingefrorenes Bild nie einen Fehler auslöst.

Der Hebel, der keine Codec-Wahl ist

Sie steuern nicht, welchen Codec Ihr Anbieter ausliefert. Sie steuern sehr wohl, wie viel davon Sie den Rechner auf einmal dekodieren lassen.

Multiview ist der klarste Fall. Kacheln sind stummgeschaltet auf 640 mal 360 und für die mit dem Ton auf 1280 mal 720 begrenzt, und diese Grenze ist es, die ein Raster mit 9 Kacheln auf gewöhnlicher Hardware möglich macht. Neun Dekodierungen mit 640 mal 360 sind etwas anderes als neun mit voller 1080p-Rate, welcher Codec auch immer. Dieselbe Überlegung gilt für einen einzelnen Sender: wenn Ihr Anbieter eine niedrigere Fassung anbietet, verringert es die Arbeit, sie zu nehmen, statt sie zwischen Prozessor und GPU zu verschieben.

Was Sie damit anfangen

Wenn ein bestimmter Sender auf einem Gerät scheitert und auf einem anderen läuft, prüfen Sie zuerst seinen Video-Codec. Das dauert 30 Sekunden und löst die Mehrzahl dieser Fälle.

Wenn Sie dafür Hardware kaufen, ist die AV1-Hardware-Dekodierung das, was Sie auf dem Datenblatt prüfen sollten. H.264 und HEVC sind auf allem Aktuellen geklärte Fragen.

Und wenn ein Sender AV1 ist und Ihr Gerät ihn nicht in Hardware dekodieren kann, fragen Sie Ihren Anbieter, ob es denselben Sender in HEVC gibt. Viele führen beides, und das ist eine schnellere Lösung als jede Einstellung.

Für die Einordnung der Störung, wenn ein Stream überhaupt nicht läuft, beginnt Pufferung und Ruckeln beheben damit, 9 verschiedene Fehler zu trennen.

Was dieser Artikel gemessen hat22 Behauptungen, jeweils mit den Beweisen dahinter
AnspruchBeweiseGezählt
H.264 ist ITU-T H.264 und ISO/IEC 14496-10, standardisiert 2003. HEVC ist ITU-T H.265 und ISO/IEC 23008-2, standardisiert 2013. AV1 ist eine Spezifikation der Alliance for Open Media, Version 1.0.0 veröffentlicht 2018.The three specifications' own identifiers and first-edition dates: ITU-T Recommendation H.264 / ISO/IEC 14496-10 (Advanced Video Coding), ITU-T Recommendation H.265 / ISO/IEC 23008-2 (High Efficiency Video Coding), and the Alliance for Open Media AV1 Bitstream and Decoding Process Specification v1.0.0.SpezifikationNicht zutreffend
Der Player-Build der Konsole trägt keinen AV1-Hardware-Dekoder, AV1 fällt dort also auf Software zurück, während der Desktop es auf der GPU dekodieren kann.n = 123.08.2026
Die Konsole begrenzt die Bild-Threads des Dekoders auf 3, weil die automatische Wahl 6 nahm und bei 4K einen Ausgabepool mit 40 Oberflächen erzeugte, rund 500 MB GPU-sichtbare Belegung gegen etwa 1 GB nutzbaren Speicher.n = 131.08.2026
Mit eingeschalteter Hardware-Dekodierung lief ein 4K-Titel in HEVC Main10 mit den GPU-Videodekodier-Einheiten bei rund 11 Prozent. Derselbe Pfad lief vor dem 2026-08-23 rein in Software.n = 123.08.2026
Die Hardwarebeschleunigung ist eine Benutzereinstellung mit drei Zuständen, die auf drei Dekoderwahlen abbildet: d3d11va, any, oder none.n = 320.08.2026
Der Datensatz eines Live-Senders trägt kein Feld für Codec, Behälter oder Transportweg, ein Client kann also nicht wissen, was ein Sender nutzt, bevor er ihn öffnet.n = 123.08.2026
Das Feld mit den Stream-Informationen leitet das Protokoll aus dem Schema der Adresse und den Behälter aus der Dateiendung des Pfads ab und fällt auf eine Nicht-verfügbar-Angabe zurück, wenn der Pfad keine hat. Es fragt den Demuxer nicht.n = 123.08.2026
Der 4K-Titel, den wir für unsere eigene Überprüfung der Hardware-Dekodierung genutzt haben, war HEVC Main10, ein 10-Bit-Profil, und das ist die Profilgrenze, an der viel ältere Hardware aufhört.n = 123.08.2026
Keine der neun eingeordneten Wiedergabestörungen ist eine Störung der Dekoderfähigkeit. Ein Dekoder, der nicht mithält, zeigt sich als stehengebliebenes Bild oder als vollständiges Einfrieren, was sich anhand der Zähler nicht von einer Quelle unterscheiden lässt, die keine Bilder mehr erzeugt.n = 931.08.2026
Multiview-Kacheln sind stummgeschaltet auf 640 mal 360 und mit Ton auf 1280 mal 720 begrenzt, was die Dekodierarbeit unabhängig davon verringert, welcher Codec oder Dekoder im Einsatz ist.n = 123.08.2026
Die Bittiefe, nicht der Codec, ist es, was HDR bedingt: eine 8-Bit-Oberfläche ist als reines SDR mit heruntergerechneten HDR-Quellen dokumentiert, und 10 Bit sind die Voraussetzung, bevor die Grafikschicht einen HDR-Farbraum annimmt.n = 201.09.2026
Die Dekoderwahl ist eine Option je Medium, die bei jedem Öffnen angewendet wird, und keine Eigenschaft des Players, und genau das erlaubte es einem Wiedergabepfad, der Einstellung monatelang zu widersprechen.n = 123.08.2026
Ein codecbezogener Schalter, der zu einem Modul gehört, das der geladene Build nicht trägt, arbeitet nicht eingeschränkt weiter: er lässt die gesamte Player-Instanz scheitern, und deshalb wird der gesetzte Satz je Kopf entschieden.n = 101.09.2026
Weil nichts im Katalog einen Codec oder Behälter festhält, ist der einzige Klassifizierer auf dem Live-Wiedergabepfad ein Test auf eine Teilzeichenkette ohne Beachtung der Groß- und Kleinschreibung über die gesamte Adresse, wobei alles andere standardmäßig als Transportstrom gilt.n = 123.08.2026
Es gibt im Client zwei aus der Adresse abgeleitete Klassifizierer und sie stimmen nicht überein: der eine prüft die gesamte Adresse auf eine Teilzeichenkette, der andere liest die Dateiendung des Pfads, und keiner fragt den Demuxer.n = 223.08.2026
Ein Dekoder, der nicht mithält, wird nach denselben Fenstern beurteilt wie jeder andere Stillstand: 4 Sekunden stehendes Video, oder 4 vollständiges Einfrieren, wobei durchgehend weiter Daten ankommen.n = 201.09.2026
Die Wiederherstellungsleiter erlaubt genau einen Neustart vor dem Quellenwechsel, ein Sender, der aus Dekodiergründen scheitert, dreht sich also im Kreis, statt sich zu fangen: ein Neustart macht einen Dekoder nicht schneller.n = 101.09.2026
Der Player stellt Zähler für beschädigte Einheiten und Diskontinuitäten bereit, und Ausschläge darin schalten verkürzte Einfrierfenster scharf, und das ist das Nächste, was das System einem Erkennen eines Streams kommt, mit dem sich der Dekoder abmüht.n = 201.09.2026
Der einzige Qualitätshebel je Stream, den wir anwenden, ist eine Auflösungsgrenze auf Multiview-Kacheln, 640 mal 360 stummgeschaltet und 1280 mal 720 mit Ton. Live im Vollbild bekommt überhaupt keine Grenze.n = 123.08.2026
Die Codec-Unterstützung wird als unvollständig geführt und nicht als abgeschlossen: Abdeckungstests über beide Köpfe, HDR auf der Konsole und eine veröffentlichte Übersicht nicht unterstützter Rückfälle sind alle als offen vermerkt.n = 101.09.2026
Die Tonseite trägt ihre eigenen offenen Punkte, namentlich eine Richtlinie zum Heruntermischen mehrkanaliger Tonspuren und die Unterstützung auf der Konsole, neben den vier Codecs, die die Zeile nennt.n = 101.09.2026
Die HDR-Ausgabe ist eine Frage der Oberfläche und des Farbraums und keine des Codecs: sie braucht eine 10-Bit-Swapchain, und das Standard-Videosteuerelement baut eine mit 8 Bit, auf der DXGI keinen HDR10-Farbraum annimmt.n = 123.08.2026