Leitfaden zu Web-Video-Codecs

Dieser Leitfaden stellt die Video-Codecs vor, die Sie wahrscheinlich im Web verwenden oder in Erwägung ziehen werden. Er enthält Zusammenfassungen ihrer Fähigkeiten, eventuelle Kompatibilitäts- und Nutzungsbedenken sowie Ratschläge, die Ihnen helfen, den richtigen Codec für das Video Ihres Projekts auszuwählen.

Aufgrund der enormen Größe unkomprimierter Videodaten ist es notwendig, diese erheblich zu komprimieren, um sie zu speichern, geschweige denn über ein Netzwerk zu übertragen. Stellen Sie sich die Datenmenge vor, die benötigt wird, um unkomprimiertes Video zu speichern:

  • Ein einzelnes Bild eines HD-Videos (1920x1080) in voller Farbe (4 Byte pro Pixel) sind 8.294.400 Byte.
  • Bei typischen 30 Bildern pro Sekunde würde jede Sekunde HD-Video 248.832.000 Bytes (~249 MB) beanspruchen.
  • Eine Minute HD-Video würde 14,93 GB Speicher benötigen.
  • Eine typischerweise 30-minütige Videokonferenz würde etwa 447,9 GB Speicher benötigen, und ein zweistündiger Film würde fast 1,79 TB (das heißt 1790 GB) einnehmen.

Nicht nur der benötigte Speicherplatz ist enorm, sondern auch die Netzwerkbandbreite, die erforderlich ist, um ein solches unkomprimiertes Video zu übertragen, wäre enorm, bei 249 MB/s — ohne Ton und Begleitinformationen. Hier kommen Video-Codecs ins Spiel. Genau wie Audio-Codecs für die Klangausgabe, komprimieren Video-Codecs die Videodaten und kodieren sie in ein Format, das später dekodiert und abgespielt oder bearbeitet werden kann.

Die meisten Video-Codecs sind verlustbehaftet, d.h. das dekodierte Video stimmt nicht genau mit der Quelle überein. Einige Details können verloren gehen; der Grad des Verlusts hängt vom Codec und seiner Konfiguration ab, aber als allgemeine Regel gilt: Je mehr Kompression Sie erreichen, desto mehr Detail- und Qualitätsverlust wird auftreten. Einige verlustfreie Codecs existieren, aber diese werden typischerweise für Archivierungs- und Speicherzwecke für die lokale Wiedergabe verwendet und nicht für den Einsatz im Netzwerk.

Häufige Codecs

Die folgenden Video-Codecs sind diejenigen, die im Web am häufigsten verwendet werden. Für jeden Codec sind auch die Container (Dateitypen) aufgeführt, die sie unterstützen können. Jeder Codec enthält einen Link zu einem Abschnitt weiter unten, der zusätzliche Details über den Codec bietet, einschließlich spezifischer Fähigkeiten und Kompatibilitätsprobleme, die Ihnen bekannt sein sollten.

Codec-Name (kurz) Vollständiger Codec-Name Container-Unterstützung
AV1 AOMedia Video 1 MP4, WebM
AVC (H.264) Advanced Video Coding 3GP, MP4
H.263 H.263 Video 3GP
HEVC (H.265) High Efficiency Video Coding MP4
MP4V-ES MPEG-4 Video Elemental Stream 3GP, MP4
MPEG-1 MPEG-1 Part 2 Visual MPEG, QuickTime
MPEG-2 MPEG-2 Part 2 Visual MP4, MPEG, QuickTime
Theora Veraltet Theora Ogg
VP8 Video Processor 8 3GP, Ogg, WebM
VP9 Video Processor 9 MP4, Ogg, WebM

Faktoren, die das kodierte Video beeinflussen

Wie bei jedem Encoder gibt es zwei grundlegende Gruppen von Faktoren, die die Größe und Qualität des kodierten Videos beeinflussen: spezifische Details zum Format und Inhalt des Quellvideos sowie die Eigenschaften und Konfiguration des Codecs, der bei der Kodierung des Videos verwendet wird.

Die einfachste Richtlinie lautet: Alles, was das kodierte Video mehr wie das ursprüngliche, unkomprimierte Video aussehen lässt, macht die resultierenden Daten im Allgemeinen auch größer. Es ist also immer ein Kompromiss zwischen Größe und Qualität. In einigen Situationen lohnt sich ein größerer Qualitätsverlust, um die Dateigröße zu reduzieren; in anderen Fällen ist der Qualitätsverlust inakzeptabel und es ist notwendig, eine Codec-Konfiguration zu akzeptieren, die zu einer entsprechend größeren Datei führt.

Auswirkung des Quellvideoformats auf das kodierte Ergebnis

Der Grad, zu dem das Format des Quellvideos das Ergebnis beeinflusst, variiert je nach Codec und Funktionsweise. Wenn der Codec die Medien in ein internes Pixelformat umwandelt oder das Bild auf andere Weise als durch einfache Pixel darstellt, spielt das Format des ursprünglichen Bildes keine Rolle. Dennoch werden Dinge wie Bildrate und, offensichtlich, Auflösung immer einen Einfluss auf die Ausgabemenge der Medien haben.

Darüber hinaus haben alle Codecs ihre Stärken und Schwächen. Einige haben Probleme mit bestimmten Arten von Formen und Mustern oder sind nicht gut darin, scharfe Kanten zu reproduzieren, oder neigen dazu, Details in dunklen Bereichen zu verlieren, oder jede Anzahl von Möglichkeiten. Es hängt alles von den zugrunde liegenden Algorithmen und der Mathematik ab.

Der potenzielle Effekt des Quellvideoformats und -inhalts auf die kodierte Videoqualität und -größe
Merkmal Auswirkung auf die Qualität Auswirkung auf die Größe
Farbtiefe (Bit-Tiefe) Je höher die Farbtiefe in Bits, desto höher ist die Qualität der Farbtreue im Video. Darüber hinaus lässt in gesättigten Bereichen des Bildes (das heißt, wo Farben rein und intensiv sind, wie ein helles, reines Rot: rgb(255 0 0 / 100%)) eine Farbtiefe unter 10 Bit pro Komponente (10-Bit-Farbe) Banding zu, wo Verläufe nicht ohne sichtbare Abstufung der Farben dargestellt werden können. Je nach Codec können höhere Farbtiefen zu größeren komprimierten Dateigrößen führen. Der entscheidende Faktor ist, welches interne Speicherformat für die komprimierten Daten verwendet wird.
Bildrate Beeinflusst hauptsächlich die wahrgenommene Geschmeidigkeit der Bewegung im Bild. Bis zu einem gewissen Punkt wird die Bewegung umso fließender und realistischer erscheinen, je höher die Bildrate ist. Schließlich wird der Punkt abnehmender Erträge erreicht. Siehe Bildrate unten für Details. Angenommen, die Bildrate wird während der Kodierung nicht reduziert, verursachen höhere Bildraten größere komprimierte Videogrößen.
Bewegung Die Videokompression funktioniert in der Regel durch den Vergleich von Bildern, das Finden von Unterschieden und das Erstellen von Aufzeichnungen, die genügend Informationen enthalten, um das vorherige Bild zu aktualisieren und das Aussehen des folgenden Bildes zu approximieren. Je mehr aufeinanderfolgende Bilder voneinander abweichen, desto größer sind diese Unterschiede, und desto weniger effektiv ist die Kompression zur Vermeidung der Einführung von Artefakten im komprimierten Video. Die durch Bewegung verursachte Komplexität führt zu größeren Zwischenbildern aufgrund der höheren Anzahl an Unterschieden zwischen den Bildern. Aus diesem und anderen Gründen wird das Ausgabedatei in der Regel größer, je mehr Bewegung in einem Video vorhanden ist.
Rauschen Bildrauschen (wie Körnungseffekte beim Film, Staub oder andere Körnigkeit im Bild) führt zu Variabilität. Variabilität macht die Kompression im Allgemeinen schwieriger, was zu einem größeren Qualitätsverlust führt, da zur Erreichung des gleichen Kompressionsgrades Details fallen gelassen werden müssen. Je mehr Variabilität – wie Rauschen – im Bild vorhanden ist, desto komplexer ist der Kompressionsprozess, und desto unwahrscheinlicher ist es, dass der Algorithmus das Bild im gleichen Maße komprimieren kann. Sofern Sie den Encoder nicht so konfigurieren, dass einige oder alle durch Rauschen verursachten Variationen ignoriert werden, wird das komprimierte Video größer sein.
Auflösung (Breite und Höhe) Höher aufgelöste Videos, präsentiert in derselben Bildschirmgröße, können das Originalbild in der Regel genauer darstellen, abgesehen von den durch die Kompression eingeführten Effekten. Je höher die Auflösung eines Videos ist, desto größer wird es. Dies spielt eine Schlüsselrolle für die endgültige Größe des Videos.

Der Grad, in dem diese Faktoren das resultierende kodierte Video beeinflussen, variiert je nach den genauen Details der Situation, einschließlich des verwendeten Encoders und dessen Konfiguration. Neben allgemeinen Codecop Optionen könnte der Encoder so konfiguriert werden, dass er die Bildrate reduziert, Rauschen bereinigt und/oder die Gesamtauslösung des Videos während der Kodierung verringert.

Auswirkung der Codec-Konfiguration auf das kodierte Ergebnis

Die Algorithmen, die zur Videokodierung verwendet werden, verwenden in der Regel eine oder mehrere allgemeine Techniken, um ihre Kodierung durchzuführen. Im Allgemeinen wird jede Konfigurationsoption, die dazu bestimmt ist, die Ausgabemenge des Videos zu reduzieren, wahrscheinlich eine negative Auswirkung auf die Gesamtqualität des Videos haben oder bestimmte Arten von Artefakten in das Video einführen. Es ist auch möglich, eine verlustfreie Kodierungsform auszuwählen, die zu einer viel größeren kodierten Datei führt, jedoch mit perfekter Wiedergabe des Originalvideos nach dem Dekodieren.

Darüber hinaus kann jede Encoder-Software Variationen aufweisen, wie sie das Quellvideo verarbeitet, was zu Unterschieden in der Ausgabequalität und/oder -größe führen kann.

Auswirkungen der Videocodierer-Konfiguration auf Qualität und Größe
Merkmal Auswirkung auf die Qualität Auswirkung auf die Größe
Verlustfreie Kompression Kein Qualitätsverlust Verlustfreie Kompression kann die Gesamtvideogröße bei weitem nicht so stark reduzieren wie verlustbehaftete Kompression; die resultierenden Dateien sind wahrscheinlich immer noch zu groß für die allgemeine Nutzung.
Verlustbehaftete Kompression In gewissem Maße treten Artefakte und andere Formen der Qualitätsverschlechterung auf, abhängig vom spezifischen Codec und dem angewandten Kompressionsgrad Je mehr das kodierte Video von der Quelle abweichen darf, desto besser können höhere Kompressionsraten erreicht werden.
Qualitätseinstellung Je höher die Qualitätskonfiguration, desto ähnlicher sieht das kodierte Video dem ursprünglichen Medieninhalt aus. Im Allgemeinen führen höhere Qualitätseinstellungen zu größeren kodierten Videodateien; der Grad, in dem dies zutrifft, variiert je nach Codec.
Bitrate Die Qualität verbessert sich in der Regel mit höheren Bitraten Höhere Bitraten führen naturgemäß zu größeren Ausgabedateien

Die Optionen, die bei der Kodierung von Video zur Verfügung stehen, und die den Optionen zuzuweisenden Werte variieren nicht nur von einem Codec zum anderen, sondern auch je nach der von Ihnen verwendeten Kodierungssoftware. Die Dokumentation zu Ihrer Kodierungssoftware hilft Ihnen zu verstehen, welche spezifischen Auswirkungen diese Optionen auf das kodierte Video haben.

Kompressionsartefakte

Artefakte sind Nebeneffekte eines verlustbehafteten Kodierungsprozesses, bei dem die verlorenen oder neu angeordneten Daten zu sichtbar negativen Effekten führen. Sobald ein Artefakt aufgetaucht ist, kann es eine Zeit lang bestehen bleiben, da Video auf folgende Weise angezeigt wird: Jedes Videobild wird angezeigt, indem ein Satz von Änderungen auf das aktuell sichtbare Bild angewendet wird. Dies bedeutet, dass Fehler oder Artefakte sich mit der Zeit summieren und zu Störungen oder anderweitig seltsamen oder unerwarteten Abweichungen im Bild führen, die eine Zeit lang anhalten.

Um dies zu beheben und die Suchzeiten durch die Videodaten zu verbessern, werden periodische Schlüsselbilder (auch als Intra-Frames oder I-Frames bekannt) in die Videodatei eingefügt. Die Schlüsselbilder sind vollständige Bilder, die verwendet werden, um sichtbare Schäden oder artefaktrückstände zu reparieren.

Aliasing

Aliasing ist ein allgemeiner Begriff für alles, was beim Wiederherstellen aus den kodierten Daten nicht genauso aussieht wie vor der Kompression. Es gibt viele Formen von Aliasing; die häufigsten, die Sie sehen können, beinhalten:

Moiré-Muster

Ein Moiré-Muster ist ein großflächiges räumliches Interferenzmuster, das entsteht, wenn ein Muster im Quellbild und die Arbeitsweise des Codierers räumlich etwas aus der Ausrichtung kommen. Die vom Codierer erzeugten Artefakte führen dann zu seltsamen, wirbelnden Effekten im Muster des Quellbildes beim Dekodieren.

Eine Ziegelmauer zeigt einen wirbelnden Effekt ähnlich Wellen aufgrund des Moiré-Musters

Treppeneffekt

Der Treppeneffekt ist ein räumliches Artefakt, das auftritt, wenn diagonale gerade oder gebogene Kanten, die glatt sein sollten, ein gezacktes Aussehen annehmen und wie eine Treppe aussehen. Dies ist der Effekt, der durch "Anti-Alias" Filter reduziert wird.


          Foto von diagonalen Linien, die wie eine Treppe aussehen, weil Aliasing einen Treppeneffekt verursacht

Wagenradeffekt

Der Wagenradeffekt (oder stroboskopischer Effekt) ist der visuelle Effekt, der häufig im Film zu sehen ist, bei dem ein sich drehendes Rad mit falscher Geschwindigkeit oder sogar rückwärts zu rotieren scheint, aufgrund einer Wechselwirkung zwischen der Bildrate und dem Kompressionsalgorithmus. Der gleiche Effekt kann bei jedem sich wiederholenden Muster auftreten, das sich bewegt, wie die Schwellen auf einer Gleislinie, Pfosten entlang der Straßenseite usw. Dies ist ein zeitbasiertes (zeitliches) Aliasing-Problem; die Geschwindigkeit der Drehung interferiert mit der Frequenz der Abtastung während der Kompression oder Kodierung.

Drehendes Rad aufgrund von Aliasing, das einen Wagenradeffekt verursacht.

Farbsaum

Farbsaum ist eine Art von visuellem Artefakt, das als falsche Farben erscheint, die entlang der Kanten von gefärbten Objekten innerhalb der Szene eingeführt werden. Diese Farben haben keine beabsichtigte farbliche Beziehung zum Inhalt des Frames.

Verlust von Schärfe

Der Akt des Entfernens von Daten im Prozess der Videokodierung erfordert, dass einige Details verloren gehen. Wenn genügend Kompression angewendet wird, können Teile oder möglicherweise das gesamte Bild an Schärfe verlieren, was zu einem leicht verschwommenen oder trüben Aussehen führt.

Verlorene Schärfe kann es schwierig machen, Text im Bild zu lesen, da Text—insbesondere kleiner Text—sehr detailorientierter Inhalt ist, bei dem kleine Veränderungen die Lesbarkeit erheblich beeinflussen können.

Klingeln

Verlustbehaftete Kompressionsalgorithmen können Klingeln einführen, einen Effekt, bei dem Bereiche außerhalb eines Objekts mit durch den Kompressionsalgorithmus erzeugten farbigen Pixeln kontaminiert werden. Dies geschieht, wenn ein Algorithmus verwendet wird, der Blöcke verwendet, die eine scharfe Grenze zwischen einem Objekt und seinem Hintergrund überqueren. Dies ist insbesondere bei höheren Kompressionsstufen üblich.

Beispiel für den Klingeleffekt

Beachten Sie die blauen und rosa Ränder um die Kanten des Sterns oben (sowie die Stufen und andere bedeutende Kompressionsartefakte). Diese Ränder sind der Klingeleffekt. Klingeln ähnelt in gewisser Hinsicht dem Moskito-Rauschen, mit dem Unterschied, dass der Klingeleffekt mehr oder weniger stetig und unverändert ist, während Moskito-Rauschen flimmert und sich bewegt.

Klingeln ist eine weitere Art von Artefakt, das es besonders schwierig machen kann, in Ihren Bildern enthaltenen Text zu lesen.

Posterisieren

Posterisierung tritt auf, wenn die Kompression zu einem Verlust von Farbdetails in Verläufen führt. Anstatt von sanften Übergängen durch die verschiedenen Farben in einem Bereich wird das Bild grobkörnig, mit Farbklecksen, die das ursprüngliche Aussehen des Bildes annähern.

Weißkopfseeadler-Foto mit fleckiger Auflösung.

Beachten Sie die Blockigkeit der Farben im Gefieder des Weißkopfseeadlers im obigen Foto (und die Schneeeule im Hintergrund). Die Details der Federn gehen weitgehend aufgrund der Posterisierung verlorengegangen.

Konturierung

Konturierung oder Farbbänderung ist eine spezielle Form der Posterisierung, bei der die Farbblöcke Bänder oder Streifen im Bild bilden. Dies geschieht, wenn das Video mit einer zu groben Quantisierungskonfiguration kodiert wird. Infolgedessen zeigt der Videoinhalt ein "geschichtetes" Aussehen, bei dem anstelle von sanften Verläufen und Übergängen die Übergänge von Farbe zu Farbe abrupt sind, was Streifen von Farbe verursacht.

Beispiel eines komprimierten Bildes mit eingeführter Konturierung

Im Beispielbild oben, beachten Sie, wie der Himmel Bänder aus verschiedenen Blautönen hat, anstatt ein konsistentes Gefälle zu sein, während sich die Himmelsfarbe dem Horizont nähert. Dies ist der Konturierungseffekt.

Moskito-Rauschen

Moskito-Rauschen ist ein zeitliches Artefakt, das als Rauschen oder Kantengeschäftigkeit in Erscheinung tritt, das als flackernde Trübheit oder Schimmern auftritt, das grob den Kanten von Objekten mit harten Kanten oder scharfen Übergängen zwischen Vordergrundobjekten und dem Hintergrund folgt. Der Effekt kann dem Klingeln ähneln.

Beispiel eines Bildes, in dem durch die Kompression Moskito-Rauschen eingeführt wurde.

Das obige Foto zeigt Moskito-Rauschen an mehreren Stellen, einschließlich des Himmels um die Brücke herum. In der oberen rechten Ecke zeigt ein Ausschnitt eine Nahaufnahme eines Teils des Bildes, das Moskito-Rauschen aufweist.

Moskito-Rauschartefakte sind am häufigsten in MPEG-Video zu finden, können aber immer auftreten, wenn ein diskreter Kosinustransform- (DCT-)Algorithmus verwendet wird; dies schließt zum Beispiel JPEG-Standbilder ein.

Bewegungsentschädigungsblock-Grenzartefakte

Die Videokompression funktioniert im Allgemeinen, indem zwei Frames verglichen und die Unterschiede zwischen ihnen aufgezeichnet werden, ein Frame nach dem anderen, bis zum Ende des Videos. Diese Technik funktioniert gut, wenn die Kamera fixiert ist oder die Objekte im Bild relativ stationär sind, aber wenn es eine große Menge an Bewegung im Bild gibt, können die Unterschiede zwischen den Frames so groß sein, dass die Kompression keinen Nutzen bringt.

Bewegungskompensation ist eine Technik, die nach Bewegung (entweder der Kamera oder der Objekte im Sichtfeld) sucht und bestimmt, um wie viele Pixel sich das bewegte Objekt in jede Richtung bewegt hat. Dann wird diese Verschiebung gespeichert, zusammen mit einer Beschreibung der Pixel, die sich bewegt haben, die nicht nur durch diese Verschiebung beschrieben werden können. Im Wesentlichen findet der Encoder die bewegten Objekte und erstellt dann eine Art internes Frame, das wie das Original aussieht, jedoch mit allen in ihre neuen Positionen verschobenen Objekten. Theoretisch nähert dies das Aussehen des neuen Frames an. Dann, um den Job abzuschließen, werden die verbleibenden Unterschiede gefunden, dann der Satz von Objektverschiebungen und der Satz von Pixeldifferenzen in den Daten, die den neuen Frame repräsentieren, gespeichert. Dieses Objekt, das die Verschiebung und die Pixeldifferenzen beschreibt, wird als Restbild bezeichnet.

Originalbild Zwischenbildunterschiede Unterschied nach Bewegungsausgleich
Originalbild eines Videos Unterschiede zwischen dem ersten Frame und dem darauffolgenden Frame. Unterschiede zwischen den Frames nach Verschiebung um zwei Pixel nach rechts
Der erste vollständige Frame, wie vom Betrachter gesehen. Hier sind nur die Unterschiede zwischen dem ersten Frame und dem darauffolgenden Frame sichtbar. Alles andere ist schwarz. Bei genauerem Hinsehen können wir sehen, dass die Mehrheit dieser Unterschiede von einer horizontalen Kamerabewegung herrührt, was dies zu einem guten Kandidaten für die Bewegungskompensation macht. Zur Minimierung der Anzahl von unterschiedlichen Pixeln berücksichtigen wir hier die Schwenkbewegung der Kamera, indem wir zunächst den ersten Frame um zwei Pixel nach rechts verschieben und dann den Unterschied berechnen. Dies kompensiert die Schwenkbewegung der Kamera und erlaubt mehr Überlappung zwischen den beiden Frames.
Bilder von Wikipedia

Es gibt zwei allgemeine Arten der Bewegungskompensation: globale Bewegungskompensation und Blockbewegungskompensation. Die globale Bewegungskompensation passt im Allgemeinen für Kamerabewegungen wie Tracking, Dolly-Bewegungen, Schwenken, Kippen, Rollen und Auf- und Abbewegungen. Die Blockbewegungskompensation befasst sich mit lokalen Änderungen und sucht nach kleineren Abschnitten des Bildes, die mittels Bewegungskompensation kodiert werden können. Diese Blöcke haben normalerweise eine feste Größe, in einem Raster, aber es gibt Formen der Bewegungskompensation, die variable Blockgrößen erlauben und sogar Überlappungen von Blöcken möglich machen.

Es gibt jedoch Artefakte, die aufgrund der Bewegungskompensation auftreten können. Diese treten entlang der Blockgrenzen in Form von scharfen Kanten auf, die falsches Klingeln und andere Kantenphänomene erzeugen. Diese sind auf die Mathematik zurückzuführen, die bei der Kodierung der Restbilder verwendet wird, und können leicht bemerkt werden, bevor sie vom nächsten Schlüsselbild repariert werden.

Reduzierte Bildgröße

In bestimmten Situationen kann es nützlich sein, die Abmessungen des Videos zu reduzieren, um die endgültige Größe der Videodatei zu verbessern. Während der sofortige Verlust an Größe oder Geschmeidigkeit der Wiedergabe ein negativer Faktor sein kann, kann durch sorgfältige Entscheidungsfindung ein gutes Endergebnis erzielt werden. Wenn ein 1080p-Video vor der Kodierung auf 720p reduziert wird, kann das resultierende Video viel kleiner sein, während es eine viel höhere visuelle Qualität hat; selbst nach dem Hochskalieren während der Wiedergabe kann das Ergebnis besser sein als die Kodierung des Originalvideos in voller Größe und die notwendige Qualitätseinbuße zu akzeptieren, um Ihre Größenanforderungen zu erfüllen.

Reduzierte Bildrate

Ähnlich kann man auch Frames aus dem Video vollständig entfernen und die Bildrate entsprechend verringern. Dies hat zwei Vorteile: Es macht das gesamte Video kleiner, und diese kleinere Größe ermöglicht es der Bewegungskompensation, noch mehr für Sie zu erledigen. Beispielsweise könnte man, anstatt Bewegungsunterschiede für zwei Frames zu berechnen, die zwei Pixel auseinander liegen aufgrund der zwischen-Bild-Bewegung, indem man jeden zweiten Frame überspringt, zu einer Berechnung der Differenz führen, die auf vier Pixel Bewegung herauskommt. Dadurch kann die gesamte Bewegung der Kamera durch weniger Restbilder dargestellt werden.

Die absolute minimale Bildrate, die ein Video haben kann, bevor dessen Inhalte nicht mehr als Bewegung vom menschlichen Auge wahrgenommen werden, liegt bei etwa 12 Bildern pro Sekunde. Darunter verwandelt sich das Video in eine Reihe von Standbildern. Kinofilme haben typischerweise 24 Bilder pro Sekunde, während Standardfernsehen etwa 30 Bilder pro Sekunde hat (etwas weniger, aber nahe genug) und hochauflösendes Fernsehen liegt zwischen 24 und 60 Bildern pro Sekunde. Alles von 24 FPS aufwärts wird im Allgemeinen als ausreichend flüssig angesehen; 30 oder 60 FPS sind ein ideales Ziel, abhängig von Ihren Anforderungen.

Am Ende liegen die Entscheidungen darüber, welche Opfer Sie bereit sind zu bringen, ganz bei Ihnen und/oder Ihrem Designteam.

Codec-Details

AV1

Der AOMedia Video 1 (AV1) Codec ist ein offenes Format, das speziell für Internetvideos von der Alliance for Open Media entwickelt wurde. Es erreicht höhere Datenkompressionsraten als VP9 und H.265/HEVC und erzielt bis zu 50% höhere Raten als AVC. AV1 ist vollständig lizenzfrei und für die Nutzung durch das <video> Element und WebRTC konzipiert.

AV1 bietet derzeit drei Profile: main, high und professional, die mit zunehmender Unterstützung für Farbtiefen und Chroma-Subsampling bereitstehen. Zudem wird eine Reihe von Levels festgelegt, die jeweils Grenzen für verschiedene Attribute des Videos definieren. Zu diesen Attributen gehören Rahmenabmessungen, Bildfläche in Pixeln, Anzeige- und Dekodierungsraten, durchschnittliche und maximale Bitraten sowie Grenzen für die Anzahl der verwendeten Kacheln und Kachelspalten im Kodierungs-/Dekodierungsprozess.

Zum Beispiel bietet AV1 Level 2.0 eine maximale Bildbreite von 2048 Pixeln und eine maximale Höhe von 1152 Pixeln. Die maximale Bildgröße in Pixeln beträgt jedoch 147.456, sodass Sie kein 2048x1152 Video auf Level 2.0 haben können. Es ist jedoch erwähnenswert, dass die Levels zumindest für Firefox und Chrome bei der Software-Dekodierung derzeit ignoriert werden, und der Dekoder einfach das Beste versucht, um das Video anhand der bereitgestellten Einstellungen abzuspielen. Der Kompatibilität halber sollten Sie jedoch die Grenzen des ausgewählten Levels einhalten.

Der größte Nachteil von AV1 derzeit ist, dass es sehr neu ist und die Unterstützung immer noch in den meisten Browsern integriert wird. Zudem werden Encoder und Decoder immer noch hinsichtlich der Leistung optimiert, und Hardware-Encoder und Decoder befinden sich meist noch in der Entwicklung statt in der Produktion. Aus diesem Grund dauert es sehr lange, ein Video in das AV1-Format zu kodieren, da die gesamte Arbeit softwareseitig erfolgt.

Derzeit ist AV1 aufgrund dieser Faktoren noch nicht bereit, Ihre erste Wahl eines Videocodecs zu sein, aber Sie sollten beobachten, wann es einsatzbereit ist.

Unterstützte Bitraten

Variiert je nach Level des Videos; das theoretische Maximum erreicht 800 Mbps bei Level 6.3

Siehe die Tabelle der Levels in der AV1-Spezifikation, die maximale Auflösungen und Raten für jedes Level beschreibt.

Unterstützte Bildwiederholraten Variiert je nach Level; zum Beispiel hat Level 2.0 ein Maximum von 30 FPS, während Level 6.3 120 FPS erreichen kann
Kompression Verlustbehafteter Algorithmus auf DCT-Basis
Unterstützte Bildgrößen 8 x 8 Pixel bis 65.535 x 65.535 Pixel, wobei jede Dimension jeden Wert innerhalb dieser Grenzen annehmen darf
Unterstützte Farbmodi
Profil Farbtiefen Chroma-Subsampling
Main 8 oder 10 4:0:0 (Graustufen) oder 4:2:0
High 8 oder 10 4:0:0 (Graustufen), 4:2:0 oder 4:4:4
Professional 8, 10 oder 12 4:0:0 (Graustufen), 4:2:0, 4:2:2 oder 4:4:4
HDR-Unterstützung Ja
Unterstützung für variable Bildraten (VFR) Ja
Browser-Kompatibilität
Funktion Chrome Edge Firefox Firefox Android Opera Safari
AV1-Unterstützung 70 75 67 113 57 17
Container-Unterstützung ISOBMFF, MPEG-TS, MP4, WebM
RTP / WebRTC kompatibel Ja
Unterstützende/Erhaltende Organisation Alliance for Open Media
Spezifikation https://aomediacodec.github.io/av1-spec/av1-spec.pdf
Lizenzierung Lizenzfrei, offener Standard

AVC (H.264)

Der Advanced Video Coding (AVC) Standard der MPEG-4-Spezifikationsreihe wird von der identischen ITU H.264-Spezifikation und der MPEG-4 Part 10-Spezifikation spezifiziert. Es ist ein bewegungskompensationsbasierter Codec, der heute weit verbreitet für alle möglichen Medien eingesetzt wird, einschließlich Rundfunkfernsehen, RTP Videokonferenzen und als Videocodec für Blu-Ray-Discs.

AVC ist sehr flexibel und bietet eine Reihe von Profilen mit unterschiedlichen Fähigkeiten; zum Beispiel ist das Constrained Baseline Profile für den Einsatz in Videokonferenzen und mobilen Szenarien konzipiert und verwendet weniger Bandbreite als das Main Profile (das in einigen Regionen für Standard Definition Digital TV verwendet wird) oder das High Profile (das für Blu-Ray-Disc-Video verwendet wird). Die meisten der Profile verwenden 8-Bit-Farbkomponenten und 4:2:0 Chroma-Subsampling; Das High 10 Profile fügt Unterstützung für 10-Bit-Farbe hinzu, und fortgeschrittene Formen von High 10 fügen 4:2:2 und 4:4:4 Chroma-Subsampling hinzu.

AVC hat auch besondere Funktionen wie die Unterstützung mehrerer Ansichten derselben Szene (Multiview Video Coding), was unter anderem die Erstellung von stereoskopischen Videos ermöglicht.

AVC ist jedoch ein proprietäres Format, und zahlreiche Patente werden von mehreren Parteien bezüglich seiner Technologien gehalten. Die kommerzielle Nutzung von AVC-Medien erfordert eine Lizenz, obwohl der Via LA Patentpool keine Lizenzgebühren für das Streaming von Internetvideos im AVC-Format verlangt, solange das Video für Endbenutzer kostenlos ist.

Nicht-Webbrowser-Implementierungen von WebRTC (jede Implementierung, die die JavaScript-APIs nicht enthält) sind verpflichtet, AVC als Codec in WebRTC-Anrufen zu unterstützen. Während Webbrowser dazu nicht verpflichtet sind, tun es einige.

In HTML-Inhalten für Webbrowser ist AVC weitgehend kompatibel und viele Plattformen unterstützen Hardware-Codierung und -Dekodierung von AVC-Medien. Beachten Sie jedoch die Lizenzanforderungen, bevor Sie sich entscheiden, AVC in Ihrem Projekt zu verwenden!

Unterstützte Bitraten Variiert je nach Level
Unterstützte Bildwiederholraten Variiert je nach Level; bis zu 300 FPS sind möglich
Kompression Verlustbehafteter Algorithmus auf DCT-Basis, obwohl es möglich ist, verlustfreie Macroblocks innerhalb des Bildes zu erstellen
Unterstützte Bildgrößen Bis zu 8192 x 4320 Pixel
Unterstützte Farbmodi

Einige der gängigsten oder interessanten Profile:

Profil Farbtiefen Chroma-Subsampling
Constrained Baseline (CBP) 8 4:2:0
Baseline (BP) 8 4:2:0
Extended (XP) 8 4:2:0
Main (MP) 8 4:2:0
High (HiP) 8 4:0:0 (Graustufen) und 4:2:0
Progressive High (ProHiP) 8 4:0:0 (Graustufen) und 4:2:0
High 10 (Hi10P) 8 bis 10 4:0:0 (Graustufen) und 4:2:0
High 4:2:2 (Hi422P) 8 bis 10 4:0:0 (Graustufen), 4:2:0 und 4:2:2
High 4:4:4 Predictive 8 bis 14 4:0:0 (Graustufen), 4:2:0, 4:2:2 und 4:4:4
HDR-Unterstützung Ja; Hybrid Log-Gamma oder Advanced HDR/SL-HDR; beide sind Teil von ATSC
Unterstützung für variable Bildraten (VFR) Ja
Browser-Kompatibilität Alle Versionen von Chrome, Edge, Firefox, Opera und Safari

Die Unterstützung von Firefox für AVC hängt von den integrierten oder vorinstallierten Codecs des Betriebssystems für AVC und seinen Container ab, um Patentprobleme zu vermeiden.

Container-Unterstützung 3GP, MP4
RTP / WebRTC kompatibel Ja
Unterstützende/Erhaltende Organisation MPEG / ITU
Spezifikation https://mpeg.chiariglione.org/standards/mpeg-4/advanced-video-coding.html
https://www.itu.int/rec/T-REC-H.264
Lizenzierung Proprietär mit zahlreichen Patenten. Kommerzielle Nutzung erfordert eine Lizenz. Beachten Sie, dass mehrere Patentpools zutreffen können.

H.263

Der H.263 Codec von ITU wurde in erster Linie für den Einsatz in Situationen mit geringer Bandbreite entwickelt. Insbesondere ist er für Videokonferenzen in PSTN (Public Switched Telephone Networks), RTSP und SIP (IP-basierte Videokonferenzsysteme) optimiert. Trotz seiner Optimierung für Netzwerke mit geringer Bandbreite ist er relativ CPU-intensiv und möglicherweise auf leistungsschwächeren Computern nicht ausreichend leistungsfähig. Das Datenformat ist dem von MPEG-4 Part 2 ähnlich.

H.263 wurde im Web nie weit verbreitet genutzt. Varianten von H.263 wurden als Basis für andere proprietäre Formate verwendet, wie beispielsweise Flash-Video oder den Sorenson-Codec. Kein großer Browser hat jedoch jemals H.263-Unterstützung standardmäßig enthalten. Bestimmte Media-Plugins haben die Unterstützung für H.263-Medien ermöglicht.

Im Gegensatz zu den meisten Codecs definiert H.263 die Grundlagen eines kodierten Videos in Bezug auf die maximale Bitrate pro Bild (Picture), oder BPPmaxKb. Während der Kodierung wird ein Wert für BPPmaxKb ausgewählt, und dann kann das Video diesen Wert für jedes Bild nicht überschreiten. Die endgültige Bitrate hängt von diesem Wert, der Bildwiederholrate, der Kompression und der gewählten Auflösung und Blockformat ab.

H.263 wurde durch H.264 ersetzt und wird daher als veraltetes Medienformat betrachtet, das Sie nach Möglichkeit vermeiden sollten. Der einzige wirkliche Grund zur Nutzung von H.263 in neuen Projekten ist, wenn Sie Unterstützung für sehr alte Geräte benötigen, auf denen H.263 die beste Wahl ist.

H.263 ist ein proprietäres Format, wobei Patente von verschiedenen Organisationen und Unternehmen wie Telenor, Fujitsu, Motorola, Samsung, Hitachi, Polycom, Qualcomm und anderen gehalten werden. Für die Nutzung von H.263 sind Sie gesetzlich verpflichtet, die entsprechenden Lizenzen zu erwerben.

Unterstützte Bitraten Unbeschränkt, aber typischerweise unter 64 kbps
Unterstützte Bildwiederholraten Beliebig
Kompression Verlustbehafteter Algorithmus auf DCT-Basis
Unterstützte Bildgrößen

Bis zu 1408 x 1152 Pixel.

Version 1 von H.263 spezifiziert eine Reihe von Bildgrößen, die unterstützt werden. Spätere Versionen können zusätzliche Auflösungen unterstützen.

Unterstützte Farbmodi YCbCr; jedes Bildformat (sub-QCIF, QCIF, CIF, 4CIF oder 16CIF) definiert die Bildgröße in Pixel sowie die Anzahl der Zeilen für Luminanz- und Chrominanzmuster pro Bild.
HDR-Unterstützung Nein
Unterstützung für variable Bildraten (VFR) Nein
Browser-Kompatibilität
Funktion Chrome Edge Firefox Opera Safari
H.263-Unterstützung Nein Nein Nein Nein Nein
Container-Unterstützung 3GP, MP4, QuickTime
RTP / WebRTC kompatibel Nein
Unterstützende/Erhaltende Organisation ITU
Spezifikation https://www.itu.int/rec/T-REC-H.263/
Lizenzierung Proprietär; ein oder mehrere Lizenzen sind erforderlich. Beachten Sie, dass mehrere Patentpools zutreffen können.

HEVC (H.265)

Der High Efficiency Video Coding (HEVC) Codec wird durch ITUs H.265 sowie durch MPEG-H Part 2 (die sich noch in Entwicklung befindliche Fortsetzung von MPEG-4) definiert. HEVC wurde entwickelt, um eine effiziente Kodierung und Dekodierung von Videos in Größen zu unterstützen, einschließlich sehr hoher Auflösungen (einschließlich 8K-Video), mit einer Struktur, die es der Software ermöglicht, moderne Prozessoren optimal zu nutzen. Theoretisch kann HEVC komprimierte Datei-Größen erreichen, die halb so groß sind wie die von AVC, jedoch bei vergleichbarer Bildqualität.

Zum Beispiel besteht jede Coding Tree Unit (CTU), die den in früheren Codecs verwendeten Makroblock ähnelt, aus einem Baum von Luma-Werten für jedes Sample sowie einem Baum von Chroma-Werten für jedes Chroma-Sample, das in derselben Coding Tree Unit verwendet wird, sowie allen erforderlichen Syntax-Elementen. Diese Struktur ermöglicht eine einfache Verarbeitung durch mehrere Kerne.

Ein interessantes Merkmal von HEVC ist, dass das Hauptprofil nur 8-bit pro Komponente Farbe mit 4:2:0 Chroma-Subsampling unterstützt. Auch interessant ist, dass 4:4:4 Video speziell gehandhabt wird. Anstatt die Luma-Samples (die die Pixel des Bildes in Graustufen darstellen) und die Cb und Cr-Samples (die anzeigen, wie die Grautöne zu Farb-Pixeln verändert werden sollen) zu haben, werden die drei Kanäle stattdessen als drei monochrome Bilder behandelt, eines für jede Farbe, die dann bei der Wiedergabe kombiniert werden, um ein Vollfarbbild zu erzeugen.

HEVC ist ein proprietäres Format und wird von einer Reihe von Patenten abgedeckt. Die Lizenzierung wird von Via LA verwaltet; Gebühren werden den Entwicklern anstatt den Inhaltsproduzenten und -verteilern berechnet. Überprüfen Sie unbedingt die neuesten Lizenzbedingungen und -anforderungen, bevor Sie sich entscheiden, HEVC in Ihrer App oder Website zu verwenden!

Unterstützte Bitraten Bis zu 800.000 kbps
Unterstützte Bildwiederholraten Variiert je nach Level; bis zu 300 FPS ist möglich
Kompression Verlustbehafteter Algorithmus auf DCT-Basis
Unterstützte Bildgrößen 128 x 96 bis 8192 x 4320 Pixel; variiert je nach Profil und Level
Unterstützte Farbmodi

Informationen unten werden für die wichtigsten Profile bereitgestellt. Es gibt eine Reihe anderer Profile, die hier nicht enthalten sind.

Profil Farbtiefen Chroma-Subsampling
Main 8 4:2:0
Main 10 8 bis 10 4:2:0
Main 12 8 bis 12 4:0:0 und 4:2:0
Main 4:2:2 10 8 bis 10 4:0:0, 4:2:0 und 4:2:2
Main 4:2:2 12 8 bis 12 4:0:0, 4:2:0 und 4:2:2
Main 4:4:4 8 4:0:0, 4:2:0, 4:2:2 und 4:4:4
Main 4:4:4 10 8 bis 10 4:0:0, 4:2:0, 4:2:2 und 4:4:4
Main 4:4:4 12 8 bis 12 4:0:0, 4:2:0, 4:2:2 und 4:4:4
Main 4:4:4 16 Intra 8 bis 16 4:0:0, 4:2:0, 4:2:2 und 4:4:4
HDR-Unterstützung Ja
Unterstützung für variable Bildraten (VFR) Ja
Browser-Kompatibilität
Funktion Chrome Edge Firefox Opera Safari
HEVC / H.265-Unterstützung 107 18 120 94 11

Chrome unterstützt HEVC für Geräte mit Hardware-Unterstützung auf Windows 8+, Linux und ChromeOS, für alle Geräte auf macOS Big Sur 11+ und Android 5.0+.

Edge (Chromium) unterstützt HEVC für Geräte mit Hardware-Unterstützung auf Windows 10 1709+, wenn HEVC-Videoerweiterungen aus dem Microsoft Store installiert sind, und hat auf anderen Plattformen denselben Unterstützungsstatus wie Chrome. Edge (Legacy) unterstützt HEVC nur für Geräte mit einem Hardware-Decoder.

Firefox aktiviert HEVC auf:

  • Windows ab Firefox 134 mit entweder Hardware (auf Geräten, die es unterstützen, wo der Bereich derselbe ist wie bei Edge) oder Software (auf Windows, wo der Benutzer für und eine Erweiterung installieren muss)
  • macOS ab Firefox 136 mit entweder Hardware oder Software.
  • Linux ab Firefox 137 mit entweder Hardware oder Software (über das System ffmpeg).
  • Android ab Firefox 137 nur mit Hardware.

Opera und andere Chromium-basierte Browser haben denselben Unterstützungsstatus wie Chrome.

Safari unterstützt HEVC für alle Geräte auf macOS High Sierra oder später.

Container-Unterstützung ISOBMFF, MPEG-TS, MP4 QuickTime
RTP / WebRTC kompatibel Nein
Unterstützende/Erhaltende Organisation ITU / MPEG
Spezifikationen http://www.itu.int/rec/T-REC-H.265
https://www.iso.org/standard/69668.html
Lizenzierung Proprietär; prüfen Sie die Einhaltung der Lizenzierungsanforderungen. Beachten Sie, dass mehrere Patentpools zutreffen können.

MP4V-ES

Das MPEG-4 Video Elemental Stream (MP4V-ES) Format ist Teil des MPEG-4 Part 2 Visual Standards. Während MPEG-4 Teil 2 Video im Allgemeinen von niemandem verwendet wird, weil ihm ein überzeugender Wert im Vergleich zu anderen Codecs fehlt, hat MP4V-ES auf mobilen Geräten einen gewissen Einsatz. MP4V ist im Wesentlichen H.263-Kodierung in einem MPEG-4-Container.

Sein Hauptzweck ist der Einsatz im Streaming von MPEG-4 Audio und Video über eine RTP Sitzung. MP4V-ES wird jedoch auch zur Übertragung von MPEG-4 Audio und Video über eine mobile Verbindung unter Verwendung von 3GP verwendet.

Sie möchten dieses Format höchstwahrscheinlich nicht verwenden, da es von keinem großen Browser in relevanter Weise unterstützt wird und ziemlich obsolet ist. Dateien dieses Typs sollten die Erweiterung .mp4v haben, werden aber manchmal fälschlicherweise als .mp4 gekennzeichnet.

Unterstützte Bitraten 5 kbps bis 1 Gbps und mehr
Unterstützte Bildwiederholraten Kein spezifisches Limit; nur durch die Datenrate eingeschränkt
Kompression Verlustbehafteter Algorithmus auf DCT-Basis
Unterstützte Bildgrößen Bis zu 4096 x 4096 Pixel
Unterstützte Farbmodi YCrCb mit Chroma-Subsampling (4:2:0, 4:2:2 und 4:4:4) unterstützt; bis zu 12 Bit pro Komponente
HDR-Unterstützung Nein
Unterstützung für variable Bildraten (VFR) Ja
Browser-Kompatibilität
Funktion Chrome Edge Firefox Opera Safari
MP4V-ES-Unterstützung Nein Nein Ja Nein Nein

Firefox unterstützt MP4V-ES nur in 3GP Containern.

Chrome unterstützt MP4V-ES nicht; jedoch tut es ChromeOS.

Container-Unterstützung 3GP, MP4
RTP / WebRTC kompatibel Nein
Unterstützende/Erhaltende Organisation MPEG
Spezifikation RFC 6416
Lizenzierung Proprietär; Lizenz erwerben über Via LA und/oder AT&T nach Bedarf

MPEG-1 Part 2 Video

MPEG-1 Part 2 Video wurde zu Beginn der 1990er Jahre vorgestellt. Anders als die späteren MPEG-Video-Standards wurde MPEG-1 ausschließlich durch MPEG erstellt, ohne die Beteiligung der ITU.

Da jeder MPEG-2-Decoder auch MPEG-1-Video abspielen kann, ist es mit einer Vielzahl von Software- und Hardwaregeräten kompatibel. Es gibt keine aktiven Patente mehr in Bezug auf MPEG-1-Video, sodass es ohne Lizenzbedenken verwendet werden kann. Allerdings unterstützen nur wenige Webbrowser MPEG-1-Video ohne die Unterstützung eines Plug-ins, und da die Verwendung von Plug-ins in Webbrowsern veraltet ist, sind diese im Allgemeinen nicht mehr verfügbar. Dies macht MPEG-1 zu einer schlechten Wahl für den Einsatz auf Websites und in Webanwendungen.

Unterstützte Bitraten Bis zu 1.5 Mbps
Unterstützte Bildwiederholraten 23.976 FPS, 24 FPS, 25 FPS, 29.97 FPS, 30 FPS, 50 FPS, 59.94 FPS und 60 FPS
Kompression Verlustbehafteter Algorithmus auf DCT-Basis
Unterstützte Bildgrößen Bis zu 4095 x 4095 Pixel
Unterstützte Farbmodi Y'CbCr mit 4:2:0 Chroma-Subsampling mit bis zu 12 Bit pro Komponente
HDR-Unterstützung Nein
Unterstützung für variable Bildraten (VFR) Nein
Browser-Kompatibilität
Funktion Chrome Edge Firefox Opera Safari
MPEG-1-Unterstützung Nein Nein Nein Nein Ja
Container-Unterstützung MPEG
RTP / WebRTC kompatibel Nein
Unterstützende/Erhaltende Organisation MPEG
Spezifikation https://www.iso.org/standard/22411.html
Lizenzierung Proprietär; jedoch sind alle Patente abgelaufen, sodass MPEG-1 frei verwendet werden kann

MPEG-2 Part 2 Video

MPEG-2 Part 2 ist das Videoformat, das durch die MPEG-2-Spezifikation definiert wird und auch gelegentlich mit der ITU Kennzeichnung, H.262, bezeichnet wird. Es ist dem MPEG-1-Video sehr ähnlich – tatsächlich kann jeder MPEG-2-Player MPEG-1 ohne weitere Maßnahmen automatisch handhaben – es wurde jedoch erweitert, um höhere Bitraten und fortgeschrittene Kodierungstechniken zu unterstützen.

Ziel war es, MPEG-2 in die Lage zu versetzen, Fernsehbilder in Standardqualität zu komprimieren, sodass auch interlaced Video unterstützt wird. Die Standard-Definition-Kompressionsrate und die Qualität des resultierenden Videos erfüllten die Bedürfnisse gut genug, dass MPEG-2 der primäre Video-Codec für DVD-Video-Medien ist.

MPEG-2 bietet mehrere Profile mit unterschiedlichen Fähigkeiten. Jedes Profil ist dann in vier Level verfügbar, die jeweils die Attribute des Videos erhöhen, wie Bildrate, Auflösung, Bitrate und so weiter. Die meisten Profile verwenden Y'CbCr mit 4:2:0 Chroma-Subsampling, aber fortgeschrittenere Profile unterstützen auch 4:2:2. Außerdem gibt es vier Levels, die jeweils Unterstützung für größere Bilddimensionen und Bitraten bieten. Zum Beispiel unterstützt die ATSC Spezifikation für Fernsehen in Nordamerika MPEG-2-Video in hoher Auflösung unter Nutzung des Main Profile auf High Level, was 4:2:0 Video bei sowohl 1920 x 1080 (30 FPS) als auch 1280 x 720 (60 FPS) bei einer maximalen Bitrate von 80 Mbps ermöglicht.

Jedoch unterstützen nur wenige Webbrowser MPEG-2 ohne die Unterstützung eines Plug-ins, und da die Verwendung von Plug-ins in Webbrowsern veraltet ist, sind diese im Allgemeinen nicht mehr verfügbar. Dies macht MPEG-2 zu einer schlechten Wahl für den Einsatz auf Websites und in Webanwendungen.

Unterstützte Bitraten Bis zu 100 Mbps; variiert je nach Level und Profil
Unterstützte Bildwiederholraten
Abk. Level-Name Unterstützte Bildraten
LL Low Level 23.9, 24, 25, 29.97, 30
ML Main Level 23.976, 24, 25, 29.97, 30
H-14 High 1440 23.976, 24, 26, 29.97, 30, 50, 59.94, 60
HL High Level 23.976, 24, 26, 29.97, 30, 50, 59.94, 60
Kompression Verlustbehafteter Algorithmus auf DCT-Basis
Unterstützte Bildgrößen
Abk. Level-Name Maximale Bildgröße
LL Low Level 352 x 288 Pixel
ML Main Level 720 x 576 Pixel
H-14 High 1440 1440 x 1152 Pixel
HL High Level 1920 x 1152 Pixel
Unterstützte Farbmodi Y'CbCr mit 4:2:0 Chroma-Subsampling in den meisten Profilen; die "High" und "4:2:2" Profile unterstützen auch 4:2:2 Chroma-Subsampling.
HDR-Unterstützung Nein
Unterstützung für variable Bildraten (VFR) Nein
Browser-Kompatibilität
Funktion Chrome Edge Firefox Opera Safari
MPEG-2-Unterstützung Nein Nein Nein Nein Ja
Container-Unterstützung MPEG, MPEG-TS (MPEG Transport Stream), MP4, QuickTime
RTP / WebRTC kompatibel Nein
Unterstützende/Erhaltende Organisation MPEG / ITU
Spezifikation https://www.itu.int/rec/T-REC-H.262
https://www.iso.org/standard/61152.html
Lizenzierung Proprietär; alle Patente weltweit außer in Malaysia sind abgelaufen (Stand: 1. Oktober 2024), sodass MPEG-2 außerhalb Malaysias frei verwendet werden kann. Patente werden von Via LA lizenziert.

Theora

Warnung: Dieser Codec wird nicht mehr empfohlen. Er hat extrem geringe Verbreitung, und Unterstützung wird aus Browsern entfernt.

Theora, entwickelt von Xiph.org, ist ein offener und freier Video-Codec, der ohne Lizenzgebühren oder Lizenzen verwendet werden kann. Die Qualität und die Kompressionsraten von Theora sind vergleichbar mit MPEG-4 Part 2 Visual und AVC, wodurch es eine sehr gute, wenn auch nicht Spitzenwahl für die Video-Kodierung ist. Sein Status als lizenzfrei und seine relativ niedrigen CPU-Ressourcenanforderungen machen ihn zu einer beliebten Wahl für viele Software- und Webprojekte. Die geringe CPU-Belastung ist besonders nützlich, da keine Hardware-Dekoder für Theora verfügbar sind.

Theora basierte ursprünglich auf dem VC3-Codec von On2 Technologies. Der Codec und seine Spezifikation wurden unter der LGPL-Lizenz veröffentlicht und Xiph.org anvertraut, das ihn dann zum Theora-Standard entwickelte.

Ein Nachteil von Theora ist, dass er nur 8 Bit pro Farbkomponente unterstützt, ohne die Möglichkeit, 10 oder mehr zu verwenden, um Farbbanding zu vermeiden. Das gesagt, sind 8 Bit pro Komponente immer noch das am häufigsten verwendete Farbformat heutzutage, sodass dies in den meisten Fällen nur ein kleiner Nachteil ist. Außerdem kann Theora nur in einem Ogg-Container verwendet werden. Der größte Nachteil ist jedoch, dass er von Safari nicht unterstützt wird, was Theora nicht nur auf macOS, sondern auf all den Millionen von iPhones und iPads unerreichbar macht.

Das Theora Cookbook bietet zusätzliche Details über Theora sowie das Ogg-Containerformat, in dem es verwendet wird.

Unterstützte Bitraten Bis zu 2 Gbps
Unterstützte Bildwiederholraten Willkürlich; jeder Wert ungleich null wird unterstützt. Die Bildwiederholrate wird als 32-Bit-Zähler und 32-Bit-Nenner angegeben, um nicht-ganzzahlige Bildwiederholraten zu ermöglichen.
Kompression Verlustbehafteter Algorithmus auf DCT-Basis
Unterstützte Bildgrößen Jede Kombination von Breite und Höhe bis zu 1.048.560 x 1.048.560 Pixel
Unterstützte Farbmodi Y'CbCr mit 4:2:0, 4:2:2 und 4:4:4 Chroma-Subsampling bei 8 Bit pro Komponente
HDR-Unterstützung Nein
Unterstützung für variable Bildraten (VFR)

Ja

Während Theora keine Unterstützung für Variable Frame Rate (VFR) innerhalb eines einzelnen Streams bietet, können mehrere Streams innerhalb einer einzigen Datei verkettet werden, und jeder von ihnen kann seine eigene Bildwiederholrate haben, wodurch im Wesentlichen VFR ermöglicht wird. Dies ist jedoch unpraktisch, wenn die Bildwiederholrate häufig geändert werden muss.

Browser-Kompatibilität
Funktion Chrome Edge Firefox Opera Safari
Theora-Unterstützung 3 bis 121 12 bis 121 3.5 bis 126 10.5 bis 107 Nein

Edge unterstützt Theora mit dem optionalen Web Media Extensions Add-On.

Container-Unterstützung Ogg
RTP / WebRTC kompatibel Nein
Unterstützende/Erhaltende Organisation Xiph.org
Spezifikation https://www.theora.org/doc/
Lizenzierung Offen und frei von Lizenzgebühren und allen anderen Lizenzanforderungen

VP8

Der Video Processor 8 (VP8) Codec wurde ursprünglich von On2 Technologies erstellt. Nach dem Kauf von On2 hat Google VP8 als ein offenes und lizenzgebührenfreies Videoformat unter dem Versprechen veröffentlicht, die relevanten Patente nicht durchzusetzen. In Bezug auf Qualität und Kompressionsrate ist VP8 mit AVC vergleichbar.

Wenn von einem Browser unterstützt, ermöglicht VP8 Video mit einem Alpha-Kanal, sodass das Video mit dem Hintergrund gespielt werden kann, der durch das Video in einem von jedem Pixel-Alpha-Komponenten angegebenen Grad gesehen werden kann.

Es gibt eine gute Browser-Unterstützung für VP8 in HTML-Inhalten, insbesondere innerhalb von WebM Dateien. Dies macht VP8 zu einem guten Kandidaten für Ihre Inhalte, obwohl VP9 eine noch bessere Wahl ist, wenn es Ihnen zur Verfügung steht. Webbrowser sind verpflichtet, VP8 für WebRTC zu unterstützen, aber nicht alle Browser, die dies tun, unterstützen es auch in HTML Audio- und Video-Elementen.

Unterstützte Bitraten Beliebig; kein Maximum, es sei denn, auf Level basierende Einschränkungen werden durchgesetzt
Unterstützte Bildwiederholraten Beliebig
Kompression Verlustbehafteter Algorithmus auf DCT-Basis
Unterstützte Bildgrößen Bis zu 16.384 x 16.384 Pixel
Unterstützte Farbmodi Y'CbCr mit 4:2:0 Chroma-Subsampling bei 8 Bit pro Komponente
HDR-Unterstützung Nein
Unterstützung für variable Bildraten (VFR) Ja
Browser-Kompatibilität

Alle Versionen von Chrome, Edge, Firefox, Opera und Safari

iOS: Safari 12.1 und später unterstützen VP8 nur in WebRTC-Verbindungen.

Firefox unterstützt VP8 in MSE nur, wenn kein H.264-Hardware-Decoder verfügbar ist. Verwenden Sie [`MediaSource.isTypeSupported()`](/de/docs/Web/API/MediaSource/isTypeSupported_static), um die Verfügbarkeit zu prüfen.

Container-Unterstützung 3GP, Ogg, WebM
RTP / WebRTC kompatibel Ja; VP8 ist einer der speziell benötigten Codecs für WebRTC
Unterstützende/Erhaltende Organisation Google
Spezifikation RFC 6386
Lizenzierung Offen und frei von Lizenzgebühren und allen anderen Lizenzanforderungen

VP9

Video Processor 9 (VP9) ist der Nachfolger des älteren VP8-Standards, entwickelt von Google. Wie VP8 ist VP9 vollständig offen und lizenzgebührenfrei. Seine Kodierungs- und Dekodierungsleistung ist vergleichbar oder etwas schneller als die von AVC, jedoch mit besserer Qualität. Die kodierte Videoqualität von VP9 ist vergleichbar mit der von HEVC bei ähnlichen Bitraten.

Das Hauptprofil von VP9 unterstützt nur 8-Bit-Farbtiefe bei 4:2:0 Chroma-Subsampling-Niveaus, aber seine Profile umfassen Unterstützung für tiefere Farbe und das gesamte Spektrum der Chroma-Subsampling-Modi. Es unterstützt mehrere HDR-Implementierungen und bietet erheblichen Spielraum bei der Auswahl von Bildraten, Seitenverhältnissen und Bildgrößen.

VP9 wird von vielen Browsern unterstützt, und Hardware-Implementierungen des Codecs sind ziemlich verbreitet. VP9 ist einer der beiden Video-Codecs, die von WebM vorgeschrieben werden (der andere ist VP8). Beachten Sie jedoch, dass Safari-Unterstützung für WebM und VP9 erst in Version 14.1 eingeführt wurde. Wenn Sie sich also entscheiden, VP9 zu verwenden, ziehen Sie in Betracht, ein Fallback-Format wie AVC oder HEVC für iPhone-, iPad- und Mac-Benutzer anzubieten.

VP9 ist eine gute Wahl, wenn Sie einen WebM-Container verwenden können (und eine alternative Videolösung bereitstellen können, wenn nötig). Dies ist besonders wahr, wenn Sie einen offenen Codec anstelle eines proprietären verwenden möchten.

Unterstützte Bitraten Arbiträr; kein Maximum, es sei denn, auf Level basierende Einschränkungen werden durchgesetzt
Unterstützte Bildwiederholraten Arbiträr
Kompression Verlustbehafteter Algorithmus auf DCT-Basis
Unterstützte Bildgrößen Bis zu 65.536 x 65.536 Pixel
Unterstützte Farbmodi
Profil Farbtiefen Chroma-Subsampling
Profil 0 8 4:2:0
Profil 1 8 4:2:0, 4:2:2 und 4:4:4
Profil 2 10 bis 12 4:2:0
Profil 3 10 bis 12 4:2:0, 4:2:2 und f:4:4

Unterstützte Farbräume: Rec. 601, Rec. 709, Rec. 2020, SMPTE C, SMPTE-240M (veraltet; ersetzt durch Rec. 709) und sRGB.

HDR-Unterstützung Ja; HDR10+, HLG und PQ
Unterstützung für variable Bildraten (VFR) Ja
Browser-Kompatibilität

Alle Versionen von Chrome, Edge, Firefox, Opera und Safari

Firefox unterstützt VP8 in MSE nur, wenn kein H.264-Hardware-Decoder verfügbar ist. Verwenden Sie [`MediaSource.isTypeSupported()`](/de/docs/Web/API/MediaSource/isTypeSupported_static), um die Verfügbarkeit zu prüfen.

Container-Unterstützung MP4, Ogg, WebM
RTP / WebRTC kompatibel Ja
Unterstützende/Erhaltende Organisation Google
Spezifikation https://www.webmproject.org/vp9/
Lizenzierung Offen und frei von Lizenzgebühren und allen anderen Lizenzanforderungen

Auswahl eines Videocodecs

Die Entscheidung, welchen Codec oder welche Codecs Sie verwenden möchten, beginnt mit einer Reihe von Fragen zur Vorbereitung:

  • Möchten Sie ein offenes Format verwenden oder kommen auch proprietäre Formate in Frage?
  • Haben Sie die Ressourcen, mehr als ein Format für jedes Ihrer Videos zu produzieren? Die Möglichkeit, eine Fallback-Option anzubieten, vereinfacht den Entscheidungsprozess erheblich.
  • Gibt es Browser, für die Sie auf die Kompatibilität verzichten können?
  • Wie alt ist die älteste Webbrowser-Version, die Sie unterstützen müssen? Müssen Sie beispielsweise auf jedem Browser arbeiten, der in den letzten fünf Jahren veröffentlicht wurde, oder nur im letzten Jahr?

In den nachstehenden Abschnitten bieten wir empfohlene Codec-Auswahlen für spezifische Anwendungsfälle. Für jeden Anwendungsfall finden Sie bis zu zwei Empfehlungen. Falls der Codec, der für den Anwendungsfall als am besten geeignet gilt, proprietär ist oder Lizenzzahlungen erfordern könnte, werden zwei Optionen bereitgestellt: zuerst eine offene und lizenzfreie Option, gefolgt von der proprietären.

Wenn Sie nur eine einzige Version jedes Videos anbieten können, können Sie das Format wählen, das Ihren Anforderungen am besten entspricht. Das erste wird als gute Kombination aus Qualität, Leistung und Kompatibilität empfohlen. Die zweite Option wird die breiteste Kompatibilität bieten, auf Kosten eines gewissen Maßes an Qualität, Leistung und/oder Größe.

Empfehlungen für Alltagsvideos

Zuerst betrachten wir die besten Optionen für Videos, die auf einer typischen Website wie einem Blog, einer Informationsseite oder einer kleinen Unternehmenswebsite präsentiert werden, wo Videos zur Demonstration von Produkten verwendet werden (aber nicht, wenn die Videos selbst ein Produkt sind) und so weiter.

  1. Ein WebM-Container, der den VP9-Codec für Video und den Opus-Codec für Audio verwendet. Diese sind alle offen und lizenzfrei und im Allgemeinen gut unterstützt, jedoch nur in recht aktuellen Browsern, weshalb ein Fallback eine gute Idee ist.

    html
    <video controls src="filename.webm"></video>
    
  2. Ein MP4-Container und der AVC (H.264)-Videocodec, idealerweise mit AAC als Audiocodec. Der MP4-Container mit AVC- und AAC-Codecs ist eine weit verbreitete Kombination – in der Tat von jedem großen Browser unterstützt – und die Qualität ist für die meisten Anwendungsfälle typischerweise gut. Stellen Sie jedoch sicher, dass Sie Ihre Konformität mit den Lizenzanforderungen überprüfen.

    html
    <video controls>
      <source type="video/webm" src="filename.webm" />
      <source type="video/mp4" src="filename.mp4" />
    </video>
    

Hinweis: Das <video>-Element erfordert einen abschließenden </video>-Tag, unabhängig davon, ob Sie <source>-Elemente darin haben oder nicht.

Empfehlungen für die Präsentation von Videos in hoher Qualität

Wenn Ihre Aufgabe darin besteht, Videos in höchster Qualität zu präsentieren, werden Sie wahrscheinlich von der Bereitstellung möglichst vieler Formate profitieren, da die Codecs mit der besten Qualität tendenziell auch die neuesten sind und somit am wahrscheinlichsten Lücken in der Browser-Kompatibilität aufweisen.

  1. Ein WebM-Container, der AV1 für Video und Opus für Audio verwendet. Wenn Sie in der Lage sind, beim Kodieren von AV1 das High- oder Professional-Profil zu verwenden, auf hohem Niveau wie 6.3, können Sie sehr hohe Bitraten bei 4K- oder 8K-Auflösung erzielen, bei exzellenter Videoqualität. Das Kodieren Ihres Audios mit dem Fullband-Profil von Opus bei einer Samplerate von 48 kHz maximiert die erfasste Audiobandbreite und erfasst nahezu den gesamten Frequenzbereich, der innerhalb des menschlichen Hörens liegt.

    html
    <video controls src="filename.webm"></video>
    
  2. Ein MP4-Container, der den HEVC-Codec mit einem der fortgeschrittenen Main-Profile verwendet, wie Main 4:2:2 mit 10 oder 12 Bit Farbtiefe oder sogar das Main 4:4:4-Profil mit bis zu 16 Bit pro Komponente. Bei einer hohen Bitrate bietet dies exzellente Grafikqualität mit bemerkenswerter Farbwiedergabe. Zusätzlich können Sie optional HDR-Metadaten einfügen, um Video in hohem Dynamikbereich bereitzustellen. Für Audio verwenden Sie den AAC-Codec mit einer hohen Samplerate (mindestens 48 kHz, idealerweise aber 96 kHz) und kodiert mit komplexem Kodierungsverfahren statt schneller Kodierung.

    html
    <video controls>
      <source type="video/webm" src="filename.webm" />
      <source type="video/mp4" src="filename.mp4" />
    </video>
    

Empfehlungen für Archivierung, Bearbeitung oder Remix

Derzeit sind keine verlustfreien oder sogar fast verlustfreien Videocodecs in Webbrowsern allgemein verfügbar. Der Grund dafür ist einfach: Video ist enorm. Verlustfreie Kompression ist per Definition weniger effektiv als verlustbehaftete Kompression. Zum Beispiel benötigt unkomprimiertes 1080p-Video (1920 x 1080 Pixel) mit 4:2:0-Chroma-Subsampling mindestens 1,5 Gbps. Die Verwendung verlustfreier Kompression wie FFV1 (die von Webbrowsern nicht unterstützt wird) könnte dies möglicherweise auf etwa 600 Mbps reduzieren, abhängig vom Inhalt. Das ist immer noch eine enorme Menge an Bits, die jede Sekunde durch eine Verbindung fließen müssen, und ist derzeit für keinen praktischen Einsatz in der realen Welt machbar.

Dies ist der Fall, obwohl einige der verlustbehafteten Codecs einen verlustfreien Modus haben; die verlustfreien Modi sind in aktuellen Webbrowsern nicht implementiert. Das Beste, was Sie tun können, ist, einen hochwertigen Codec auszuwählen, der verlustbehaftete Kompression verwendet, und ihn so zu konfigurieren, dass so wenig Kompression wie möglich durchgeführt wird. Eine Möglichkeit, dies zu erreichen, besteht darin, den Codec auf "schnelle" Kompression zu konfigurieren, was von Natur aus bedeutet, dass weniger Kompression erreicht wird.

Video extern vorbereiten

Um Video zu Archivierungszwecken außerhalb Ihrer Website oder App vorzubereiten, verwenden Sie ein Dienstprogramm, das die Kompression der ursprünglichen unkomprimierten Videodaten durchführt. Beispielsweise kann das kostenlose x264-Dienstprogramm verwendet werden, um Video im AVC-Format mit sehr hoher Bitrate zu kodieren:

bash
x264 --crf 18 -preset ultrafast --output out-file.mp4 infile

Obwohl andere Codecs potenziell bessere Bestfallqualität bieten, wenn das Video irgendwo signifikant komprimiert wird, neigen ihre Encoder dazu, so langsam zu sein, dass die nahezu verlustfreie Kodierung, die Sie mit dieser Kompression erhalten, viel schneller bei etwa gleichem Qualitätsniveau ist.

Video aufzeichnen

Angesichts der Einschränkungen, wie nahe an verlustfrei Sie kommen können, könnten Sie in Betracht ziehen, AVC oder AV1 zu verwenden. Beispielsweise, wenn Sie die MediaStream Recording API verwenden, um Video aufzuzeichnen, könnten Sie Code wie den folgenden verwenden, wenn Sie Ihr MediaRecorder-Objekt erstellen:

js
const kbps = 1024;
const Mbps = kbps * kbps;

const options = {
  mimeType: 'video/webm; codecs="av01.2.19H.12.0.000.09.16.09.1, flac"',
  bitsPerSecond: 800 * Mbps,
};

let recorder = new MediaRecorder(sourceStream, options);

In diesem Beispiel wird ein MediaRecorder erstellt, der konfiguriert ist, AV1-Video unter Verwendung von BT.2100 HDR in 12-Bit-Farbe mit 4:4:4-Chroma-Subsampling und FLAC für verlustfreies Audio aufzunehmen. Die resultierende Datei wird eine Bitrate von nicht mehr als 800 Mbps verwenden, die zwischen den Video- und Audiotracks geteilt wird. Sie müssen diese Werte wahrscheinlich an die Hardwareleistung, Ihre Anforderungen und die spezifischen Codecs, die Sie verwenden möchten, anpassen. Diese Bitrate ist offensichtlich nicht realistisch für den Netzwerkversand und würde wahrscheinlich nur lokal verwendet werden.

Die Aufschlüsselung des Werts des codecs-Parameters in seine durch Punkte unterteilten Eigenschaften sieht wie folgt aus:

Wert Beschreibung
av01 Der vierstellige Code (4CC), der den AV1-Codec identifiziert.
2 Das Profil. Ein Wert von 2 gibt das Professional-Profil an. Ein Wert von 1 ist das High-Profil, während ein Wert von 0 das Main-Profil spezifizieren würde.
19H Die Ebene und die Stufe. Dieser Wert stammt aus der Tabelle im Abschnitt A.3 der AV1-Spezifikation und gibt das High Tier von Level 6.3 an.
12 Die Farbtiefe. Diese gibt 12 Bit pro Komponente an. Andere mögliche Werte sind 8 und 10, aber 12 ist die genaueste Farbvertretung, die in AV1 verfügbar ist.
0 Der Monochrommodus-Flag. Wenn 1, würden keine Chromapläne aufgezeichnet, und alle Daten sollten streng genommen Luma-Daten sein, was zu einem Graustufenbild führt. Wir haben 0 spezifiziert, da wir Farbe möchten.
000 Der Chroma-Subsampling-Modus, übernommen aus Abschnitt 6.4.2 in der AV1-Spezifikation. Ein Wert von 000, kombiniert mit dem Monochrommodus-Wert 0, zeigt an, dass wir 4:4:4-Chroma-Subsampling wollen, oder keinen Farbverlust.
09 Die Farbprimärwerte, die verwendet werden sollen. Dieser Wert stammt aus Abschnitt 6.4.2 in der AV1-Spezifikation; 9 zeigt an, dass wir BT.2020-Farbe verwenden möchten, die für HDR genutzt wird.
16 Die Transfercharakteristika, die verwendet werden sollen. Dies stammt ebenfalls aus Abschnitt 6.4.2; 16 gibt an, dass wir die Charakteristika für BT.2100 PQ-Farbe verwenden möchten.
09 Die Matrixkoeffizienten, die verwendet werden sollen, wiederum aus Abschnitt 6.4.2. Ein Wert von 9 spezifiziert, dass wir BT.2020 mit variabler Luminanz verwenden möchten; das ist auch bekannt als BT.2010 YbCbCr.
1 Der Video-"full range"-Flag. Ein Wert von 1 zeigt an, dass wir den vollen Farbbereich verwenden möchten.

Die Dokumentation für Ihre Codecauswahl bietet wahrscheinlich Informationen, die Sie verwenden werden, wenn Sie Ihren codecs-Parameter konstruieren.

Siehe auch