Leitfaden für Web-Videocodecs
Dieser Leitfaden stellt die Videocodecs vor, denen Sie im Web am häufigsten begegnen oder die Sie in Erwägung ziehen, ihre Fähigkeiten und eventuelle Kompatibilitäts- und Nutzungsprobleme zusammenfasst und Ratschläge gibt, die Ihnen helfen, den richtigen Codec für das Video Ihres Projekts auszuwählen.
Aufgrund der enormen Größe unkomprimierter Videodaten ist es notwendig, sie erheblich zu komprimieren, um sie speichern zu können, 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 High-Definition-Videos (1920x1080) in voller Farbe (4 Bytes pro Pixel) beträgt 8.294.400 Bytes.
- 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 Speicherplatz benötigen.
- Eine typische 30-minütige Videokonferenz würde etwa 447,9 GB Speicher benötigen und ein 2-stündiger Film würde fast 1,79 TB (d.h. 1790 GB) benötigen.
Nicht nur der benötigte Speicherplatz ist enorm, auch die Netzwerkbandbreite, die erforderlich ist, um ein solches unkomprimiertes Video zu übertragen, wäre enorm, nämlich 249 MB/s - ohne Audio und Overhead. Hier kommen Videocodecs ins Spiel. Genau wie Audiocodecs die Daten komprimieren, komprimieren Videocodecs die Videodaten und kodieren sie in ein Format, das später dekodiert und wiedergegeben oder bearbeitet werden kann.
Die meisten Videocodecs sind verlustbehaftet, d.h. das dekodierte Video stimmt nicht genau mit der Quelle überein. Einige Details können verloren gehen; die Menge des Verlusts hängt vom Codec und seiner Konfiguration ab. Allgemein gilt: Je mehr Kompression Sie erreichen, desto mehr Verlust an Details und Genauigkeit wird auftreten. Es gibt auch einige verlustfreie Codecs, die jedoch typischerweise für Archivierungs- und Speicherzwecke für die lokale Wiedergabe und nicht für die Verwendung über ein Netzwerk verwendet werden.
Gängige Codecs
Die folgenden Videocodecs sind die am häufigsten im Web verwendeten. Für jeden Codec sind auch die Container (Dateitypen) aufgeführt, die sie unterstützen können. Jeder Codec bietet einen Link zu einem Abschnitt weiter unten, der zusätzliche Details zum Codec enthält, einschließlich spezieller Fähigkeiten und Kompatibilitätsprobleme, die Sie beachten 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 | 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 Informationen über das Format und den Inhalt des Quellvideos und die Merkmale und Konfiguration des beim Kodieren verwendeten Codecs.
Die einfachste Richtlinie lautet: Alles, was das kodierte Video mehr wie das Original-Video aussehen lässt, führt in der Regel auch zu größeren Datenmengen. Daher ist es immer ein Kompromiss zwischen Größe und Qualität. In einigen Situationen ist ein größerer Qualitätsverzicht gerechtfertigt, um die Datengröße zu reduzieren; in anderen Fällen ist der Qualitätsverlust nicht akzeptabel und es ist notwendig, eine Codec-Konfiguration zu akzeptieren, die zu einer entsprechend größeren Datei führt.
Auswirkungen des Quellvideoformats auf das kodierte Ergebnis
Das Ausmaß, in dem das Format des Quellvideos das Ergebnis beeinflusst, variiert je nach Codec und seiner Funktionsweise. Wenn der Codec die Medien in ein internes Pixelformat konvertiert oder das Bild auf andere Weise als durch einfache Pixel darstellt, spielt das Format des Originalbildes keine Rolle. Allerdings werden Dinge wie Bildrate und offensichtlich die Auflösung immer Auswirkungen auf die Ausgabemenge der Medien haben.
Darüber hinaus haben alle Codecs ihre Stärken und Schwächen. Manche haben Probleme mit bestimmten Arten von Formen und Mustern, oder sind nicht gut darin, scharfe Kanten zu reproduzieren, oder neigen dazu, in dunklen Bereichen Details zu verlieren, oder es gibt eine Vielzahl anderer Möglichkeiten. Alles hängt von den zugrunde liegenden Algorithmen und der Mathematik ab.
| Merkmal | Auswirkung auf die Qualität | Auswirkung auf die Größe |
|---|---|---|
| Farbtiefe (Bit-Tiefe) |
Je höher die Farbbittiefe, desto höher die Qualität der Farbwiedergabe
im Video. Bei gesättigten Bildbereichen (d.h. wo Farben rein und intensiv sind, z.B. ein helles, reines Rot: rgb(255 0 0 / 100%)), lässt eine Farbtiefe unter 10 Bits pro Komponente (10-Bit-Farbe) das Aussehen von Farbabstufungen entstehen, bei dem Farbverläufe nicht ohne sichtbare Abstufungen der Farben wiedergegeben werden können.
|
Abhängig vom Codec können höhere Farbtiefen zu größeren komprimierten Dateigrößen führen. Der bestimmende Faktor ist, welches interne Speicherformat für die komprimierten Daten verwendet wird. |
| Bildrate | Beeinflusst hauptsächlich die wahrgenommene Glätte der Bewegung im Bild. Bis zu einem gewissen Punkt wird die Bewegungswiedergabe glatter und realistischer, je höher die Bildrate ist. Schließlich ist der Punkt erreicht, an dem keine weiteren Verbesserungen erzielt werden können. Siehe Bildrate weiter unten für Einzelheiten. | Wenn die Bildrate während der Kodierung nicht reduziert wird, führen höhere Bildraten zu größeren komprimierten Videodateien. |
| Bewegung | Die Videokomprimierung funktioniert typischerweise, indem Frames verglichen werden, um Unterschiede zu finden, und dann Datenstrukturen erstellt werden, die genug Informationen enthalten, um den vorherigen Frame so zu aktualisieren, dass er dem folgenden Frame möglichst ähnlich sieht. Je mehr sich aufeinanderfolgende Frames voneinander unterscheiden, desto größer sind diese Unterschiede und desto weniger effektiv ist die Komprimierung dabei, das Hinzufügen von Artefakten zu vermeiden. | Die durch Bewegung eingeführte Komplexität führt zu größeren Zwischenframes aufgrund der höheren Anzahl von Unterschieden zwischen den Frames. Aus diesem und anderen Gründen wird das Ausgabevideo umso größer, je mehr Bewegung vorhanden ist. |
| Rauschen | Bildrauschen (wie Filmkorn-Effekte, Staub oder andere Unebenheiten im Bild) führt zu Variabilität. Variabilität macht die Komprimierung im Allgemeinen schwieriger und führt zu mehr Qualitätsverlust, da Details entfernt werden müssen, um dasselbe Maß an Komprimierung zu erreichen. | Je mehr Variabilität – wie Rauschen – im Bild vorhanden ist, desto komplexer ist der Komprimierungsprozess und desto weniger Erfolg hat der Algorithmus wahrscheinlich, das Bild im gleichen Maße zu komprimieren. Es sei denn, Sie konfigurieren den Encoder so, dass einige oder alle der durch Rauschen verursachten Variationen ignoriert werden, wird das komprimierte Video größer. |
| Auflösung (Breite und Höhe) | Höher aufgelöste Videos, die in derselben Bildschirmgröße präsentiert werden, können in der Regel das ursprüngliche Szenario genauer darstellen, abgesehen von Effekten, die während der Komprimierung eingeführt werden. | Je höher die Auflösung eines Videos, desto größer wird es. Dies spielt eine entscheidende Rolle für die endgültige Größe des Videos. |
Das Ausmaß, in dem diese Faktoren das resultierende kodierte Video beeinflussen, variiert je nach den genauen Details der Situation, einschließlich des verwendeten Encoders und seiner Konfiguration. Zusätzlich zu den allgemeinen Codec-Optionen könnte der Encoder so konfiguriert werden, dass er die Bildrate reduziert, das Rauschen bereinigt und/oder die Gesamtauflösung des Videos während der Kodierung reduziert.
Auswirkungen der Codec-Konfiguration auf das kodierte Ergebnis
Die Algorithmen, die zur Kodierung von Videos verwendet werden, nutzen in der Regel eine oder mehrere allgemeine Techniken, um die Kodierung durchzuführen. Im Allgemeinen wird jede Konfigurationsoption, die darauf abzielt, die Ausgabemenge des Videos zu verringern, wahrscheinlich negative Auswirkungen auf die Gesamtqualität des Videos haben oder bestimmte Arten von Artefakten in das Video einführen. Es ist auch möglich, eine verlustfreie Kodierung auszuwählen, was zu einer viel größeren kodierten Datei führt, jedoch eine perfekte Reproduktion des Originalvideos beim Dekodieren ermöglicht.
Darüber hinaus kann es je nach verwendetem Encoder-Programm Variationen in der Verarbeitung des Quellvideos geben, die zu Unterschieden in der Ausgabequalität und/oder -größe führen.
| Merkmal | Auswirkung auf die Qualität | Auswirkung auf die Größe |
|---|---|---|
| Verlustfreie Kompression | Kein Qualitätsverlust | Verlustfreie Kompression kann die Gesamtvideogröße nicht annähernd so stark verringern wie verlustbehaftete Kompression; die resultierenden Dateien sind wahrscheinlich immer noch zu groß für den allgemeinen Gebrauch. |
| Verlustbehaftete Kompression | Artefakte und andere Formen von Qualitätsverlust treten je nach spezifischem Codec und dem Grad der angewandten Kompression in gewisser Weise auf. | Je stärker sich das kodierte Video von der Quelle unterscheiden darf, desto einfacher ist es, höhere Kompressionsraten zu erreichen. |
| Qualitätseinstellung | Je höher die Qualitätseinstellung, desto mehr wird das kodierte Video dem Originalmedium ähneln. | Im Allgemeinen führen höhere Qualitätseinstellungen zu größeren kodierten Videodateien; das Ausmaß, in dem dies zutrifft, variiert je nach Codec. |
| Bitrate | Die Qualität verbessert sich im Allgemeinen mit höheren Bitraten. | Höhere Bitraten führen inhärent zu größeren Ausgabedateien. |
Die Optionen, die beim Kodieren von Video zur Verfügung stehen, und die Werte, die diesen Optionen zugewiesen werden sollen, variieren nicht nur von einem Codec zum anderen, sondern auch abhängig von der verwendeten Kodierungssoftware. Die Dokumentation, die Ihrer Kodierungssoftware beiligt, hilft Ihnen, die spezifischen Auswirkungen dieser Optionen auf das kodierte Video zu verstehen.
Kompressionsartefakte
Artefakte sind Nebenwirkungen eines verlustbehafteten Kodierungsprozesses, bei dem die verlorenen oder umgeordneten Daten zu sichtbar negativen Effekten führen. Wenn ein Artefakt erst einmal aufgetreten ist, kann es eine Weile bestehen bleiben, weil das Video auf eine Weise angezeigt wird. Jedes Videobild wird präsentiert, indem eine Reihe von Änderungen am aktuell sichtbaren Bild angewendet werden. Das bedeutet, dass Fehler oder Artefakte sich mit der Zeit anhäufen und zu Störungen oder sonstigen seltsamen oder unerwarteten Abweichungen im Bild führen können, die eine gewisse Zeit anhalten.
Um dies zu beheben und die Suchzeit durch die Videodaten zu verbessern, werden periodische Schlüsselbilder (auch bekannt als Intra-Frames oder I-Frames) in die Videodatei eingefügt. Die Schlüsselbilder sind vollständige Frames, die verwendet werden, um sichtbare Schäden oder Artefaktrückstände zu reparieren.
Aliasing
Aliasing ist ein allgemeiner Begriff für alles, was bei der Wiederherstellung 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é-MusterEin Moiré-Muster ist ein großflächiges räumliches Interferenzmuster, das entsteht, wenn ein Muster im Quellbild und die Art und Weise, wie der Encoder arbeitet, räumlich leicht verschoben sind. Die vom Encoder erzeugten Artefakte führen beim Dekodieren zu seltsamen, wirbelnden Effekten im Muster des Quellbildes. |
|
TreppeneffektDer Treppeneffekt ist ein räumliches Artefakt, das auftritt, wenn diagonale gerade oder gekrümmte Kanten, die glatt sein sollten, ein gezacktes Aussehen annehmen, das einem Treppenabsatz ähnelt. Dies ist der Effekt, der durch "Anti-Aliasing"-Filter reduziert wird. |
|
Wagenradd-EffektDer Wagenrad-Effekt (oder stroboskopischer Effekt) ist der optische Effekt, der häufig im Film zu sehen ist, bei dem ein rotierendes Rad mit der falschen Geschwindigkeit oder sogar rückwärts erscheint, aufgrund einer Wechselwirkung zwischen der Bildrate und dem Komprimierungsalgorithmus. Der gleiche Effekt kann bei jedem sich wiederholenden Muster auftreten, das sich bewegt, wie z.B. die Schwellen einer Eisenbahnlinie, Pfosten entlang einer Straße usw. Dies ist ein zeitliches (zeitbasiertes) Aliasing-Problem; die Geschwindigkeit der Drehung beeinträchtigt die Frequenz der während der Komprimierung oder Kodierung durchgeführten Abtastung. |
|
Farbkantenbildung
Farbkantenbildung ist eine Art von optischem Artefakt, das als spurlose Farben entlang der Kanten von farbigen Objekten innerhalb der Szene angezeigt wird. Diese Farben haben keine absichtlich farbliche Beziehung zum Inhalt des Bildausschnitts.
Schärfeverlust
Der Prozess der Datenentfernung während der Kodierung von Videos erfordert, dass einige Details verloren gehen. Wenn genug Kompression angewendet wird, könnten Teile oder möglicherweise das gesamte Bild an Schärfe verlieren und eine leicht verschwommene oder verschwommene Erscheinung erzeugen.
Schärfeverlust kann es schwierig machen, Text im Bild zu lesen, da Text - insbesondere kleiner Text - sehr detailorientierter Inhalt ist, bei dem kleine Änderungen die Lesbarkeit erheblich beeinträchtigen können.
Klingelartefakte
Verlustbehaftete Komprimierungsalgorithmen können Klingelartefakte einführen, ein Effekt, bei dem Bereiche außerhalb eines Objekts mit von dem Komprimierungsalgorithmus generierten farbigen Pixeln kontaminiert sind. Dies geschieht, wenn ein Algorithmus verwendet wird, der Blöcke verwendet, die über eine scharfe Grenze zwischen einem Objekt und dessen Hintergrund hinüberreichen. Dies ist besonders häufig bei höheren Kompressionsstufen.

Beachten Sie die blauen und rosa Fransen um die Kanten des Sterns oben (sowie das Abstufen und andere signifikante Kompressionsartefakte). Diese Fransen sind der Klingelartefakt. Klingelartefakte ähneln in gewisser Hinsicht dem Mückenrauschen, außer dass die Klingelartefakte mehr oder weniger konstant bleiben, während das Mückenrauschen flimmert und sich bewegt.
Klingelartefakte sind eine weitere Art von Artefakt, das es besonders schwierig machen kann, Text in Ihren Bildern zu lesen.
Posterisierung
Posterisierung tritt auf, wenn die Kompression zu einem Verlust an Farbdetails in Farbverläufen führt. Anstatt glatte Übergänge durch die verschiedenen Farben in einem Bereich zu haben, wird das Bild blockig, mit Farbblobs, die das ursprüngliche Aussehen des Bildes approximieren.

Beachten Sie die Blockigkeit der Farben im Gefieder des Weißkopfseeadlers im obigen Foto (und den Schneeeulen im Hintergrund). Die Details der Federn gehen größtenteils aufgrund dieser Posterisationsartefakte verloren.
Konturierung
Konturierung oder Farbbanding ist eine spezifische 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. Als Ergebnis zeigen die Inhalte des Videos ein "geschichtetes" Aussehen, bei dem anstelle von glatten Übergängen und Farbverläufen die Übergänge von Farbe zu Farbe abrupt sind und somit Farbstreifen entstehen.

In dem Beispielbild oben beachten Sie, wie der Himmel Bänder von verschiedenen Blautönen aufweist, anstatt ein konsistentes Farbspektrum zu haben, wenn sich die Himmelsfarbe zum Horizont hin verändert. Dies ist der Konturieffekt.
Mückenrauschen
Mückenrauschen ist ein zeitliches Artefakt, das sich als Rauschen oder Randunruhe darstellt, die als flimmernder Nebel oder Schimmer erscheint, der etwa entlang der Außenseiten von Objekten mit harten Kanten oder scharfen Übergängen zwischen Vordergrundobjekten und dem Hintergrund verläuft. Der Effekt kann dem Klingelartefakt ähnlich sein.

Das obige Foto zeigt Mückenrauschen an mehreren Stellen, einschließlich im Himmel um die Brücke herum. Die rechte obere Ecke zeigt eine Nahaufnahme eines Teils des Bildes, das Mückenrauschen aufweist.
Mückenrauschartefakte sind am häufigsten in MPEG-Videos zu finden, können jedoch immer auftreten, wenn ein diskreter Kosinustransformationsalgorithmus (DCT) verwendet wird; dies schließt zum Beispiel JPEG-Bilder ein.
Bewegungs-Kompensations-Block-Rand-Artefakte
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 an Ort und Stelle fixiert ist oder sich die Objekte im Frame relativ wenig bewegen, aber wenn im Frame viel Bewegung ist, können die Unterschiede zwischen den Frames so groß werden, dass die Kompression keinen Nutzen bringt.
Bewegungskompensation ist eine Technik, die nach Bewegung sucht (entweder der Kamera oder der Objekte im Blickfeld) und bestimmt, wie viele Pixel sich die sich bewegenden Objekte in jede Richtung bewegt haben. Dann wird diese Verschiebung gespeichert, zusammen mit einer Beschreibung der Pixel, die verschoben wurden, aber nicht mit dieser Verschiebung beschrieben werden können. Im Wesentlichen findet der Encoder die sich bewegenden Objekte und erstellt dann eine interne Art Rahmen, der wie das Original aussieht, aber mit allen Objekten an ihren neuen Positionen. Theoretisch approximiert dies das neue Erscheinungsbild des Frames. Um den Job zu beenden, werden dann die verbleibenden Unterschiede gefunden, und die Reihe der Objektschiebungsmuster und die Reihe von Pixelunterschieden werden in den Daten gespeichert, die den neuen Frame darstellen. Dieses Objekt, das die Schiebung und die Pixelunterschiede beschreibt, nennt sich Residual-Frame.
| Originale Frame | Inter-Frame Unterschiede | Unterschiede nach Bewegungskompensation |
|---|---|---|
![]() |
![]() |
|
| Der erste vollständige Frame, den der Zuschauer sieht. | Hier sind nur die Unterschiede zwischen dem ersten und dem folgenden Frame zu sehen. Alles andere ist schwarz. Bei genauem Hinsehen erkennen wir, dass die Mehrheit dieser Unterschiede von einer horizontalen Kamerabewegung stammt, was dies zu einem guten Kandidaten für Bewegungsentschädigung macht. | Um die Anzahl der unterschiedlichen Pixel zu minimieren, berücksichtigen wir hier die Horizontalbewegung der Kamera, indem wir zunächst den ersten Frame um zwei Pixel nach rechts verschieben und dann den Unterschied betrachten. Dies kompensiert die Schwenkbewegung der Kamera, was zu mehr Überlappung zwischen den beiden Frames führt. |
| Bilder von Wikipedia | ||
Es gibt zwei allgemeine Arten der Bewegungskompensation: globale Bewegungskompensation und Blockbewegungskompensation. Globale Bewegungskompensation passt im Allgemeinen an Kamera-Bewegungen wie Verfolgung, Dolly-Bewegungen, Schwenken, Kippen, Rollen und Aufwärts- und Abwärtsbewegungen an. Blockbewegungskompensation hingegen behandelt lokal begrenzte Veränderungen und sucht nach kleineren Abschnitten des Bildes, die unter Verwendung der Bewegungskompensation kodiert werden können. Diese Blöcke sind normalerweise gleich groß und in einem Raster angeordnet, aber es gibt Formen der Bewegungskompensation, die variable Blockgrößen und sogar sich überlappende Blöcke zulassen.
Es gibt jedoch Artefakte, die aufgrund der Bewegungskompensation auftreten können. Diese treten entlang der Blockgrenzen auf, in Form von scharfen Rändern, die falsches Klingeln und andere Kanten-Effekte erzeugen. Diese sind auf die Mathematik zurückzuführen, die bei der Kodierung der Residualframes verwendet wird, und können leicht bemerkt werden, bevor sie durch den nächsten Schlüsselbild repariert werden.
Reduzierte Bildgröße
In bestimmten Situationen kann es nützlich sein, die Videodimensionen zu reduzieren, um die endgültige Größe der Videodatei zu verbessern. Während der anfängliche Verlust an Größe oder Glätte der Wiedergabe ein negativer Faktor sein kann, kann eine sorgfältige Entscheidungsfindung zu einem guten Endergebnis führen. Wenn ein 1080p-Video vor der Kodierung auf 720p reduziert wird, kann das resultierende Video viel kleiner sein und eine viel höhere visuelle Qualität aufweisen; selbst nach dem Hochskalieren bei der Wiedergabe kann das Ergebnis besser sein, als das Originalvideo in voller Größe zu kodieren und den Qualitätsverlust zu akzeptieren, der erforderlich ist, um Ihre Größenanforderungen zu erfüllen.
Reduzierte Bildrate
Ebenso können Sie Frames vollständig aus dem Video entfernen und die Bildrate zur Kompensation 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 tun. Zum Beispiel könnte das Überspringen jedes zweiten Frames anstelle des Berechnens von Bewegungsunterschieden für zwei Frames, die aufgrund von Zwischenframe-Bewegungen um zwei Pixel verschoben sind, zu einer Differenzberechnung führen, die sich als Bewegungsverschiebung von vier Pixeln herausstellt. Dies ermöglicht es, die gesamte Bewegung der Kamera mit weniger Residualframes zu repräsentieren.
Die absolute minimale Bildrate, die ein Video haben kann, bevor seine Inhalte von den menschlichen Augen nicht mehr als Bewegung wahrgenommen werden, beträgt etwa 12 Bilder pro Sekunde. Weniger als das, und das Video wird zu einer Reihe von Standbildern. Spielfilme haben typischerweise 24 Bilder pro Sekunde, während das Standard-Fernsehen etwa 30 Bilder pro Sekunde (etwas weniger, aber nahe genug) und hochauflösendes Fernsehen zwischen 24 und 60 Bilder pro Sekunde hat. Jede Rate von 24 FPS aufwärts wird im Allgemeinen als ausreichend glatt angesehen; 30 oder 60 FPS sind ein ideales Ziel, abhängig von Ihren Bedürfnissen.
Letztendlich 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 von der Alliance for Open Media speziell für Internetvideos entwickelt wurde. Er erreicht höhere Datenkompressionsraten als VP9 und H.265/HEVC, sowie bis zu 50% höhere Raten als AVC. AV1 ist vollständig lizenzfrei und sowohl für die Verwendung mit dem <video>-Element als auch mit WebRTC konzipiert.
AV1 bietet derzeit drei Profile: main, high und professional, die zunehmende Unterstützung für Farbtiefen und Chroma-Subsampling bieten. Darüber hinaus ist eine Reihe von Levels spezifiziert, die jeweils Grenzen für eine Reihe von Videoattributen definieren. Dazu gehören Bildabmessungen, Bildbereich in Pixel, Anzeige- und Dekodierraten, durchschnittliche und maximale Bitraten sowie Beschränkungen für die Anzahl von Kacheln und Kachelspalten, die im Kodierungs-/Dekodierungsprozess verwendet werden.
Zum Beispiel bietet das AV1-Level 2.0 eine maximale Breite von 2048 Pixeln und eine maximale Höhe von 1152 Pixeln, aber seine maximale Bildgröße in Pixeln beträgt 147.456, sodass Sie bei Level 2.0 tatsächlich kein 2048x1152-Video haben können. Es ist jedoch anzumerken, dass zumindest in Firefox und Chrome die Levels beim Software-Dekodieren derzeit ignoriert werden und der Decoder einfach versucht, das Video so gut wie möglich abzuspielen, basierend auf den bereitgestellten Einstellungen. Um die Kompatibilität auch in der Zukunft zu gewährleisten, sollten Sie jedoch innerhalb der Grenzen des gewählten Levels bleiben.
AV1 wird in allen Browsern unterstützt, aber die Unterstützung in Safari ist auf Geräte mit Hardware-Decoder beschränkt, was M3 MacBooks und späteren, iPhone 15 Pro und iPhone 16 und später bedeutet. Viele mobile und Desktop-Geräte verfügen über Hard-Decoder, was AV1 zu einer großartigen Wahl für die Bereitstellung von Videos im Internet macht, mit einem Fallback für frühere Apple-Geräte.
| Unterstützte Bitraten |
Variiert je nach Video-Level; das theoretische Maximum erreicht 800 Mbps bei Level 6.3 Siehe die AV1-Spezifikationen Tabellen der Levels, die die maximalen Auflösungen und Raten bei jedem Level beschreiben. |
||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Unterstützte Frameraten | 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 | Verluste auf DCT-basierter Algorithmus | ||||||||||||||
| Unterstützte Bildgrößen | 8 x 8 Pixel bis 65.535 x 65.535 Pixel, wobei jede Dimension jede beliebige Wert zwischen diesen annehmen darf | ||||||||||||||
| Unterstützte Farbmodi |
|
||||||||||||||
| HDR-Unterstützung | Ja | ||||||||||||||
| Variable Framerate (VFR)-Unterstützung | Ja | ||||||||||||||
| Browser-Kompatibilität |
* Safari unterstützt AV1 auf M3 MacBooks und später, iPhone 15 Pro und iPhone 16 und später. |
||||||||||||||
| Container-Unterstützung | ISOBMFF, MPEG-TS, MP4, WebM | ||||||||||||||
| RTP / WebRTC kompatibel | Ja | ||||||||||||||
| Unterstützende/Pflegende 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 durch die identische ITU H.264-Spezifikation und die MPEG-4 Teil 10-Spezifikation spezifiziert. Es ist ein bewegungskompensationsbasierter Codec, der heute weit verbreitet für alle Arten von Medien verwendet wird, einschließlich des Fernsehrundfunks, RTP-Videokonferenzen und als Videocodec für Blu-Ray-Discs.
AVC ist hochflexibel, mit einer 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 (wird für Blu-Ray-Disc-Videos verwendet). Die meisten 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 erweiterte Formen von High 10 fügen 4:2:2 und 4:4:4 Chroma-Subsampling hinzu.
AVC hat auch spezielle Funktionen wie die Unterstützung für mehrere Ansichten derselben Szene (Multiview Video Coding), die unter anderem die Produktion von stereoskopischen Videos ermöglicht.
AVC ist jedoch ein proprietäres Format, und es sind zahlreiche Patente im Besitz mehrerer Parteien bezüglich seiner Technologien. Der kommerzielle Einsatz 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 nicht verpflichtet sind, dies zu tun, unterstützen es einige doch.
In HTML-Inhalten für Webbrowser ist AVC weitgehend kompatibel und viele Plattformen unterstützen Hardwarekodierung 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 Frameraten | Variiert je nach Level; bis zu 300 FPS sind möglich | ||||||||||||||||||||||||||||||
| Kompression | Verluste auf DCT-basierter Algorithmus, obwohl es möglich ist, verlustfreie Makroblöcke im Bild zu erstellen | ||||||||||||||||||||||||||||||
| Unterstützte Bildgrößen | Bis zu 8.192 x 4.320 Pixel | ||||||||||||||||||||||||||||||
| Unterstützte Farbmodi |
Einige der gebräuchlicheren oder interessanteren Profile sind:
|
||||||||||||||||||||||||||||||
| HDR-Unterstützung | Ja; Hybrid Log-Gamma oder Advanced HDR/SL-HDR; beide sind Teil von ATSC | ||||||||||||||||||||||||||||||
| Variable Framerate (VFR)-Unterstützung | 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/Pflegende 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. Die kommerzielle Nutzung erfordert eine Lizenz. Beachten Sie, dass mehrere Patentpools gelten können. |
H.263
Der H.263-Codec der ITU wurde hauptsächlich für den Einsatz in niedrigen Bandbreitensituationen entwickelt. Insbesondere liegt der Fokus auf Videokonferenzen über PSTN (öffentliches Telefonnetz), RTSP und SIP (IP-basierte Videokonferenz) Systeme. Trotz seiner Optimierung für Netzwerke mit niedriger Bandbreite ist er relativ CPU-intensiv und könnte auf Computern mit niedrigerer Leistung nicht zufriedenstellend arbeiten. Das Datenformat ist dem von MPEG-4 Teil 2 ähnlich.
H.263 wurde nie weit im Web eingesetzt. Varianten von H.263 wurden als Grundlage für andere proprietäre Formate verwendet, wie z.B. Flash-Video oder der Sorenson-Codec. Allerdings hat keiner der großen Browser jemals standardmäßig H.263-Unterstützung eingebaut. Bestimmte Media-Plugins haben die Unterstützung von 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 darf das Video diesen Wert für jedes Bild nicht überschreiten. Die endgültige Bitrate hängt davon ab, der Framerate, der Kompression und der gewählten Auflösung und Blockformat.
H.263 wurde von H.264 abgelöst und gilt daher als Medienformat der Vergangenheit, das Sie nach Möglichkeit vermeiden sollten. Der einzige wirkliche Grund, H.263 in neuen Projekten zu verwenden, ist, wenn Sie Unterstützung auf sehr alten Geräten erfordern, auf denen H.263 Ihre beste Wahl ist.
H.263 ist ein proprietäres Format, mit Patenten, die von einer Reihe von Organisationen und Unternehmen gehalten werden, darunter Telenor, Fujitsu, Motorola, Samsung, Hitachi, Polycom, Qualcomm und viele mehr. Um H.263 zu verwenden, sind Sie rechtlich verpflichtet, die entsprechenden Lizenzen zu erwerben.
| Unterstützte Bitraten | Unbeschränkt, aber typischerweise unter 64 kbps | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Unterstützte Frameraten | Beliebig | ||||||||||||
| Kompression | Verluste auf DCT-basierter Algorithmus | ||||||||||||
| Unterstützte Bildgrößen |
Bis zu 1408 x 1152 Pixel. Version 1 von H.263 spezifiziert eine Reihe von unterstützten Bildgrößen. 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 wie viele Zeilen von Luminanz- und Chrominanzproben für jedes Bild verwendet werden | ||||||||||||
| HDR-Unterstützung | Nein | ||||||||||||
| Variable Framerate (VFR)-Unterstützung | Nein | ||||||||||||
| Browser-Kompatibilität |
|
||||||||||||
| Container-Unterstützung | 3GP, MP4, QuickTime | ||||||||||||
| RTP / WebRTC kompatibel | Nein | ||||||||||||
| Unterstützende/Pflegende Organisation | ITU | ||||||||||||
| Spezifikation | https://www.itu.int/rec/T-REC-H.263/ | ||||||||||||
| Lizenzierung | Proprietär; entsprechende Lizenz oder Lizenzen sind erforderlich. Beachten Sie, dass mehrere Patentpools gelten können. |
HEVC (H.265)
Der High Efficiency Video Coding (HEVC) Codec wird sowohl von ITUs H.265 als auch von MPEG-H Teil 2 (dem sich noch in Entwicklung befindlichen Nachfolger von MPEG-4) definiert. HEVC wurde entwickelt, um eine effiziente Kodierung und Dekodierung von Videos in Größen einschließlich sehr hoher Auflösungen (einschließlich 8K-Videos) zu unterstützen, mit einer Struktur, die speziell darauf ausgelegt ist, dass Software die modernen Prozessoren nutzen kann. Theoretisch kann HEVC komprimierte Dateigrößen halb so groß wie AVC bei vergleichbarer Bildqualität erreichen.
Zum Beispiel besteht jede Coding Tree Unit (CTU)—ähnlich einem in vorherigen Codecs verwendeten Makroblock—aus einem Baum von Luma-Werten für jede Probe sowie einem Baum von Chroma-Werten für jede in derselben Coding Tree Unit verwendete Chroma-Probe sowie allen erforderlichen Syntaxelementen. Diese Struktur unterstützt eine einfache Verarbeitung durch mehrere Kerne.
Ein interessantes Merkmal von HEVC ist, dass das Main Profil nur 8-Bit pro Farbkomponente mit 4:2:0 Chrominanzsubsampling unterstützt. Auch interessant ist, dass 4:4:4 Video speziell behandelt wird. Statt die Luma-Proben (die die Pixel des Bildes in Graustufen darstellen) und die Cb und Cr-Proben (die angeben, wie die Grautöne zu färben sind, um Farb-Pixel zu erzeugen), werden die drei Kanäle vielmehr als drei monochrome Bilder behandelt, eins für jede Farbe, die dann beim Rendering kombiniert werden, um ein Vollfarbenbild zu erzeugen.
HEVC ist ein proprietäres Format und ist durch eine Reihe von Patenten abgedeckt. Die Lizenzierung wird von Via LA verwaltet; Gebühren werden Entwicklern statt Content-Produzenten und -Distributoren in Rechnung gestellt. Überprüfen Sie vor der Entscheidung, HEVC in Ihrer App oder Website zu verwenden, unbedingt die neuesten Lizenzbedingungen und Anforderungen!
| Unterstützte Bitraten | Bis zu 800.000 kbps | ||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Unterstützte Frameraten | Variiert je nach Level; bis zu 300 FPS sind möglich | ||||||||||||||||||||||||||||||
| Kompression | Verluste auf DCT-basierter Algorithmus | ||||||||||||||||||||||||||||||
| Unterstützte Bildgrößen | 128 x 96 bis 8.192 x 4.320 Pixel; variiert je nach Profil und Level | ||||||||||||||||||||||||||||||
| Unterstützte Farbmodi |
Die folgenden Informationen beziehen sich auf die wichtigsten Profile. Es sind eine Reihe anderer Profile verfügbar, die hier nicht enthalten sind.
|
||||||||||||||||||||||||||||||
| HDR-Unterstützung | Ja | ||||||||||||||||||||||||||||||
| Variable Framerate (VFR)-Unterstützung | Ja | ||||||||||||||||||||||||||||||
| Browser-Kompatibilität |
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 Video Extensions aus dem Microsoft Store installiert ist, 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:
Opera und andere auf Chromium basierende 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 |
|
||||||||||||||||||||||||||||||
| Unterstützende/Pflegende Organisation | ITU / MPEG | ||||||||||||||||||||||||||||||
| Spezifikationen |
https://www.itu.int/rec/T-REC-H.265 https://www.iso.org/standard/69668.html |
||||||||||||||||||||||||||||||
| Lizenzierung | Proprietär; bestätigen Sie Ihre Compliance mit den Lizenzanforderungen. Beachten Sie, dass mehrere Patentpools gelten können. |
MP4V-ES
Das MPEG-4 Video Elemental Stream (MP4V-ES)-Format ist Teil des MPEG-4 Part 2 Visual-Standards. Während generell MPEG-4 Teil 2 Video von niemandem genutzt wird wegen des Mangels an überzeugendem Wert im Vergleich zu anderen Codecs, hat MP4V-ES eine gewisse Nutzung auf mobilen Geräten. MP4V ist im Wesentlichen eine H.263-Kodierung in einem MPEG-4-Container.
Sein Hauptzweck ist die Übertragung von MPEG-4-Audio und -Video über eine RTP-Session. MP4V-ES wird jedoch auch verwendet, um MPEG-4-Audio und -Video über eine mobile Verbindung mittels 3GP zu übertragen.
Sie möchten dieses Format höchstwahrscheinlich nicht verwenden, da es von keinem großen Browser auf bedeutende Weise unterstützt wird und ziemlich veraltet ist. Dateien dieses Typs sollten die Endung .mp4v haben, werden jedoch manchmal fälschlicherweise als .mp4 bezeichnet.
| Unterstützte Bitraten | 5 kbps bis 1 Gbps und mehr | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Unterstützte Frameraten | Keine spezifische Grenze; nur durch die Datenrate eingeschränkt | ||||||||||||
| Kompression | Verluste auf DCT-basierter Algorithmus | ||||||||||||
| Unterstützte Bildgrößen | Bis zu 4.096 x 4.096 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 | ||||||||||||
| Variable Framerate (VFR)-Unterstützung | Ja | ||||||||||||
| Browser-Kompatibilität |
Firefox unterstützt MP4V-ES nur in 3GP-Containern. Chrome unterstützt MP4V-ES nicht; ChromeOS jedoch schon. |
||||||||||||
| Container-Unterstützung | 3GP, MP4 | ||||||||||||
| RTP / WebRTC kompatibel | Nein | ||||||||||||
| Unterstützende/Pflegende 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 enthüllt. Im Gegensatz zu den späteren MPEG-Videostandards wurde MPEG-1 allein von MPEG ohne Beteiligung der ITU entworfen.
Da jeder MPEG-2-Decoder auch MPEG-1-Video wiedergeben kann, ist es mit einer Vielzahl von Software- und Hardwaregeräten kompatibel. Es gibt keine aktiven Patente mehr in Bezug auf MPEG-1-Video, daher kann es frei von jeglichen Lizenzierungsbedenken verwendet werden. Allerdings unterstützen nur wenige Webbrowser MPEG-1-Video ohne Unterstützung eines Plugins, und da die Verwendung von Plugins in Webbrowsern abgelehnt wird, sind sie im Allgemeinen nicht mehr verfügbar. Dies macht MPEG-1 zu einer schlechten Wahl für den Einsatz in Websites und Webanwendungen.
| Unterstützte Bitraten | Bis zu 1,5 Mbps | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Unterstützte Frameraten | 23.976 FPS, 24 FPS, 25 FPS, 29.97 FPS, 30 FPS, 50 FPS, 59.94 FPS und 60 FPS | ||||||||||||
| Kompression | Verluste auf DCT-basierter Algorithmus | ||||||||||||
| Unterstützte Bildgrößen | Bis zu 4.095 x 4.095 Pixel | ||||||||||||
| Unterstützte Farbmodi | Y'CbCr mit 4:2:0 Chroma-Subsampling mit bis zu 12 Bit pro Komponente | ||||||||||||
| HDR-Unterstützung | Nein | ||||||||||||
| Variable Framerate (VFR)-Unterstützung | Nein | ||||||||||||
| Browser-Kompatibilität |
|
||||||||||||
| Container-Unterstützung | MPEG | ||||||||||||
| RTP / WebRTC kompatibel | Nein | ||||||||||||
| Unterstützende/Pflegende Organisation | MPEG | ||||||||||||
| Spezifikation | https://www.iso.org/standard/22411.html | ||||||||||||
| Lizenzierung | Proprietär; alle Patente sind 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 wird gelegentlich auch durch seine ITU-Bezeichnung, H.262, bezeichnet. Es ist sehr ähnlich wie MPEG-1-Video—in der Tat kann jeder MPEG-2-Player automatisch MPEG-1 verarbeiten, ohne dass spezielle Maßnahmen erforderlich sind—außer dass es erweitert wurde, um höhere Bitraten und verbesserte Kodierungstechniken zu unterstützen.
Das Ziel war es, MPEG-2 zu ermöglichen, Standard Definition Television zu komprimieren, sodass auch interlaced Video unterstützt wird. Die Standard Definition Kompressionsrate und die Qualität des resultierenden Videos erfüllten die Anforderungen so gut, dass MPEG-2 der primäre Videocodec ist, der für DVD-Video-Medien verwendet wird.
MPEG-2 hat mehrere verfügbare Profile mit unterschiedlichen Fähigkeiten. Jedes Profil ist dann in vier Levels verfügbar, die jeweils Attribute des Videos erhöhen, wie zum Beispiel Framerate, Auflösung, Bitrate usw. Die meisten Profile verwenden Y'CbCr mit 4:2:0 Chroma-Subsampling, aber fortschrittlichere Profile unterstützen auch 4:2:2. Darüber hinaus gibt es vier Level, die jeweils Unterstützung für größere Bildabmessungen und Bitraten bieten. Zum Beispiel unterstützt die ATSC-Spezifikation für Fernsehen in Nordamerika MPEG-2-Video in hoher Definition mit dem Main Profile im 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 erlaubt.
Jedoch unterstützen nur wenige Webbrowser MPEG-2 ohne die Unterstützung eines Plugins, und da die Verwendung von Plugins in Webbrowsern abgelehnt wird, sind sie im Allgemeinen nicht mehr verfügbar. Dies macht MPEG-2 zu einer schlechten Wahl für den Einsatz in Websites und Webanwendungen.
| Unterstützte Bitraten | Bis zu 100 Mbps; variiert je nach Level und Profil | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Unterstützte Frameraten |
|
|||||||||||||||
| Kompression | Verluste auf DCT-basierter Algorithmus | |||||||||||||||
| Unterstützte Bildgrößen |
|
|||||||||||||||
| Unterstützte Farbmodi | Y'CbCr mit 4:2:0 Chroma-Subsampling in den meisten Profilen; die "High"- und "4:2:2"-Profile unterstützen ebenfalls 4:2:2 Chroma-Subsampling. | |||||||||||||||
| HDR-Unterstützung | Nein | |||||||||||||||
| Variable Framerate (VFR)-Unterstützung | Nein | |||||||||||||||
| Browser-Kompatibilität |
|
|||||||||||||||
| Container-Unterstützung | MPEG, MPEG-TS (MPEG-Transport-Stream), MP4, QuickTime | |||||||||||||||
| RTP / WebRTC kompatibel | Nein | |||||||||||||||
| Unterstützende/Pflegende 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 sind weltweit abgelaufen, mit Ausnahme in Malaysia (ab 1. Oktober 2024), so dass 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 die Unterstützung wird von den Browsern entfernt.
Theora, entwickelt von Xiph.org, ist ein offenes und kostenloses Video-Codec, das gebührenfrei oder ohne Lizenzierung verwendet werden kann. Theora ist in Qualität und Kompressionsraten vergleichbar mit MPEG-4 Part 2 Visual und AVC, was es zu einer sehr guten, wenn auch nicht erstklassigen Wahl für die Video Kodierung macht. Aber sein Status als lizenzfrei und sein relativ niedriger CPU-Ressourcenbedarf machen es zu einer beliebten Wahl für viele Software- und Webprojekte. Der geringe CPU-Einfluss ist besonders nützlich, da es keine Hardware-Decoder für Theora gibt.
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 es nur 8 Bit pro Farbkomponente unterstützt, ohne Möglichkeit, 10 oder mehr zu verwenden, um Farbbänder zu vermeiden. Abgesehen davon sind 8 Bit pro Komponente immer noch das am häufigsten verwendete Farbformat heute, so dass dies nur eine kleinere Unannehmlichkeit in den meisten Fällen ist. Außerdem kann Theora nur in einem Ogg-Container verwendet werden. Der größte Nachteil von allem ist jedoch, dass es nicht von Safari unterstützt wird, wodurch Theora nicht nur auf macOS, sondern auf all jenen Millionen von iPhones und iPads verfügbar ist.
Das Theora Cookbook bietet zusätzliche Details zu Theora sowie zum Ogg-Containerformat, das darin verwendet wird.
| Unterstützte Bitraten | Bis zu 2 Gbps | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Unterstützte Frameraten | Beliebig; jeder nicht-nullwertige Wert wird unterstützt. Die Framerate wird als 32-Bit-Numerator und 32-Bit-Denominator angegeben, um nicht-ganzzahlige Frameraten zu ermöglichen. | ||||||||||||
| Kompression | Verluste auf DCT-basierter Algorithmus | ||||||||||||
| 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 | ||||||||||||
| Variable Framerate (VFR)-Unterstützung |
Ja Während Theora keine Variable Frame Rate (VFR) innerhalb eines einzelnen Streams unterstützt, können mehrere Streams innerhalb einer Datei miteinander verkettet werden, und jeder einzelne kann seine eigene Framerate haben, was im Wesentlichen VFR ermöglicht. Dies ist jedoch unpraktisch, wenn sich die Framerate häufig ändern muss. |
||||||||||||
| Browser-Kompatibilität |
Edge unterstützt Theora mit dem optionalen Web Media Extensions Add-on. |
||||||||||||
| Container-Unterstützung | Ogg | ||||||||||||
| RTP / WebRTC kompatibel | Nein | ||||||||||||
| Unterstützende/Pflegende Organisation | Xiph.org | ||||||||||||
| Spezifikation | https://www.theora.org/doc/ | ||||||||||||
| Lizenzierung | Offen und kostenlos ohne Lizenzgebühren oder andere Lizenzanforderungen |
VP8
Der Video Processor 8 (VP8)-Codec wurde ursprünglich von On2 Technologies entwickelt. Nach dem Erwerb von On2 veröffentlichte Google VP8 als ein offenes und lizenzfreies Videoformat mit dem Versprechen, die relevanten Patente nicht durchzusetzen. In Bezug auf Qualität und Kompressionsrate ist VP8 vergleichbar mit AVC.
Wenn der Browser es unterstützt, ermöglicht VP8 Videos mit einem Alphakanal, sodass das Video abgespielt werden kann, während der Hintergrund durch das Video hindurch sichtbar ist, in einem Maß, das von jedem Pixel's Alphakomponente bestimmt wird. Safari unterstützt keine Alphatransparenz in VP8-Videos.
Es gibt eine gute Browser-Unterstützung für VP8 in HTML-Inhalten, insbesondere in WebM-Dateien.
| Unterstützte Bitraten | Beliebig; kein Maximum, es sei denn, es werden Level-basierte Beschränkungen angewendet |
|---|---|
| Unterstützte Frameraten | Beliebig |
| Kompression | Verluste auf DCT-basierter Algorithmus |
| 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 |
| Variable Framerate (VFR)-Unterstützung | Ja |
| Browser-Kompatibilität |
Alle Versionen von Chrome, Edge, Firefox, Opera und Safari. Safari unterstützt jedoch keine Alphatransparenz. |
| Container-Unterstützung | 3GP, Ogg, WebM |
| RTP / WebRTC kompatibel | Ja; VP8 ist einer der spezifikationsgerechten Codecs für WebRTC |
| Unterstützende/Pflegende Organisation | |
| Spezifikation | RFC 6386 |
| Lizenzierung | Offen und kostenlos ohne Lizenzgebühren oder andere Lizenzanforderungen |
VP9
Video Processor 9 (VP9) ist der Nachfolger des älteren VP8-Standards, der von Google entwickelt wurde. Wie VP8 ist VP9 vollständig offen und lizenzfrei. Seine Kodierungs- und Dekodierungsleistung ist vergleichbar mit oder etwas schneller als die von AVC, aber mit besserer Qualität. Die kodierte Videoqualität von VP9 ist mit der von HEVC bei ähnlichen Bitraten vergleichbar.
Das Hauptprofil von VP9 unterstützt nur 8-Bit-Farbtiefe bei 4:2:0 Chroma-Subsampling-Leveln, aber seine Profile umfassen Unterstützung für tiefere Farben und die vollständige Bandbreite der Chroma-Subsampling-Modi. Es unterstützt mehrere HDR-Implementierungen und bietet erhebliche Freiheit bei der Auswahl von Frameraten, Seitenverhältnissen und Bildgrößen.
VP9 wird von Browsern weitgehend unterstützt, und Hardware-Implementierungen des Codecs sind recht häufig. VP9 ist einer der beiden Video-Codecs, die von WebM vorgeschrieben sind (der andere ist VP8). Beachten Sie jedoch, dass Safari in diesem Format keine Alphatransparenz unterstützt.
| Unterstützte Bitraten | Beliebig; kein Maximum, es sei denn, es werden Level-basierte Beschränkungen angewendet | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Unterstützte Frameraten | Beliebig | |||||||||||||||
| Kompression | Verluste auf DCT-basierter Algorithmus | |||||||||||||||
| Unterstützte Bildgrößen | Bis zu 65.536 x 65.536 Pixel | |||||||||||||||
| Unterstützte Farbmodi |
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 | |||||||||||||||
| Variable Framerate (VFR)-Unterstützung | Ja | |||||||||||||||
| Browser-Kompatibilität |
Alle Versionen von Chrome, Edge, Firefox, Opera und Safari. Safari unterstützt jedoch keine Alphatransparenz. |
|||||||||||||||
| Container-Unterstützung | MP4, Ogg, WebM | |||||||||||||||
| RTP / WebRTC kompatibel | Ja | |||||||||||||||
| Unterstützende/Pflegende Organisation | ||||||||||||||||
| Spezifikation | https://www.webmproject.org/vp9/ | |||||||||||||||
| Lizenzierung | Offen und kostenlos ohne Lizenzgebühren oder andere Lizenzanforderungen |
Auswahl eines Videocodecs
Die Entscheidung, welchen Codec oder welche Codecs Sie verwenden möchten, beginnt mit einer Reihe von Fragen, die Sie sich stellen sollten:
- Möchten Sie ein offenes Format verwenden oder sollen auch proprietäre Formate in Betracht gezogen werden?
- 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, bei deren Kompatibilität Sie bereit sind, Abstriche zu machen?
- Wie alt ist die älteste Version eines Webbrowsers, die Sie unterstützen müssen? Beispielsweise, müssen Sie jeden Browser unterstützen, der in den letzten fünf Jahren veröffentlicht wurde, oder nur in den letzten einem Jahr?
In den untenstehenden Abschnitten bieten wir empfohlene Codecauswahlen für spezifische Anwendungsfälle. Für jeden Anwendungsfall finden Sie bis zu zwei Empfehlungen. Wenn der Codec, der als am besten für den Anwendungsfall angesehen wird, proprietär ist oder Lizenzgebühren erfordern könnte, werden zwei Optionen angeboten: zuerst eine offene und gebührenfreie 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 am besten zu Ihren Bedürfnissen passt. Das erste wird als gute Kombination aus Qualität, Leistung und Kompatibilität empfohlen. Die zweite Option wird die am weitesten kompatible Wahl sein, auf Kosten eines gewissen Maßes an Qualität, Leistung und/oder Größe.
Empfehlungen für das Web
Zuerst schauen wir uns die besten Optionen für Videos an, die auf einer typischen Website wie einem Blog, einer Informationsseite oder einer kleinen Unternehmenswebsite präsentiert werden, auf der Videos zur Demonstration von Produkten verwendet werden (aber nicht, wo die Videos selbst ein Produkt sind), und so weiter.
-
Ein WebM-Container unter Verwendung des AV1-Codecs für Video und des Opus-Codecs für Audio. Diese sind alle offene, gebührenfreie Formate, die im Allgemeinen gut unterstützt werden, mit Ausnahme von Safari auf älteren Apple-Geräten.
html<video controls> <source type="video/webm; codecs=av01,opus" src="filename.webm" /> </video> -
Ein MP4-Container und der AVC (H.264)-Videocodec, idealerweise mit AAC als Audio-Codec. Dies liegt daran, dass der MP4-Container mit AVC- und AAC-Codecs eine weit verbreitete Kombination ist – tatsächlich in jedem großen Browser – und die Qualität typischerweise gut für die meisten Anwendungsfälle ist. Vergewissern Sie sich jedoch, dass Sie die Lizenzanforderungen einhalten.
html<video controls> <source type="video/webm; codecs=av01,opus" src="filename.webm" /> <source type="video/mp4" src="filename.mp4" /> </video>
Empfehlungen für Archivierung, Bearbeitung oder Remixing
Derzeit stehen in Webbrowsern keine verlustfreien – oder sogar annähernd verlustfreien – Videocodecs allgemein zur Verfügung. Der Grund dafür ist einfach: Video ist riesig. Verlustfreie Kompression ist per Definition weniger effektiv als verlustbehaftete Kompression. Unkomprimiertes 1080p-Video (1920x1080 Pixel) mit 4:2:0-Chromasubsampling benötigt beispielsweise mindestens 1,5 Gbps. Durch verlustfreie Kompression wie FFV1 (welches von Webbrowsern nicht unterstützt wird) könnte man dies möglicherweise auf etwa 600 Mbps reduzieren, abhängig vom Inhalt. Das sind immer noch eine riesige Menge an Daten, die jede Sekunde durch eine Verbindung gepumpt werden müssen und ist derzeit für keinen praktischen Einsatz im realen Leben realisierbar.
Dies gilt auch, obwohl einige der verlustbehafteten Codecs einen verlustfreien Modus verfügbar haben; die verlustfreien Modi sind in keinem aktuellen Webbrowser implementiert. Das Beste, was Sie tun können, ist, einen hochwertigen Codec zu wählen, der verlustbehaftete Kompression verwendet, und ihn so zu konfigurieren, dass er so wenig wie möglich komprimiert. Eine Möglichkeit, dies zu tun, besteht darin, den Codec auf "schnelle" Kompression zu konfigurieren, was inhärent bedeutet, dass weniger Kompression erreicht wird.
Vorbereitung von Video auf externem Weg
Um Video für Archivierungszwecke von außerhalb Ihrer Website oder App vorzubereiten, verwenden Sie ein Programm, das Kompression auf den ursprünglichen unkomprimierten Videodaten durchführt. Zum Beispiel kann das kostenlose x264-Tool verwendet werden, um Video im AVC-Format mit einer sehr hohen Bitrate zu kodieren:
x264 --crf 18 -preset ultrafast --output out-file.mp4 in-file
Während andere Codecs möglicherweise bessere Qualitätsniveaus im besten Fall aufweisen, wenn das Video in erheblichen Maße komprimiert wird, tendieren ihre Encoder dazu, langsam genug zu sein, dass die nahezu verlustfreie Kodierung, die Sie mit dieser Kompression erhalten, bei etwa demselben allgemeinen Qualitätsniveau wesentlich schneller ist.
Aufnahme von Video
Angesichts der Einschränkungen, wie nah Sie an verlustfrei herankommen können, sollten Sie die Verwendung von AVC oder AV1 in Betracht ziehen. Wenn Sie beispielsweise die MediaStream Recording API verwenden, um Video aufzunehmen, könnten Sie Code wie den folgenden verwenden, um Ihr MediaRecorder-Objekt zu erstellen:
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);
Dieses Beispiel erstellt einen MediaRecorder, der konfiguriert ist, um AV1-Video mit BT.2100 HDR in 12-Bit-Farbe mit 4:4:4-Chromasubsampling und FLAC für verlustfreies Audio aufzuzeichnen. Die resultierende Datei wird eine Bitrate von maximal 800 Mbps verwenden, die zwischen den Video- und Audiotracks geteilt wird. Sie müssen diese Werte wahrscheinlich je nach Hardwareleistung, Ihren Anforderungen und den speziellen Codecs, die Sie verwenden möchten, anpassen. Diese Bitrate ist offensichtlich nicht realistisch für die Netzwerkübertragung und würde wahrscheinlich nur lokal verwendet werden.
Die Aufschlüsselung des Wertes des codecs-Parameters in seine durch Punkte abgegrenzten Eigenschaften ergibt Folgendes:
| 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 |
Das Level und die Stufe. Dieser Wert stammt aus der Tabelle in Abschnitt A.3 der AV1-Spezifikation und gibt die hohe Stufe von Level 6.3 an. |
12 |
Die Farbtiefe. Dies gibt 12 Bit pro Komponente an. Andere mögliche Werte sind 8 und 10, aber 12 ist die höchste Genauigkeits-Farbdarstellung, die in AV1 verfügbar ist. |
0 |
Das Flag für Monochrommodus. Wenn 1, würden keine Chromaflächen aufgezeichnet, und alle Daten sollten streng Luma-Daten sein, was zu einem Graustufenbild führen würde. Wir haben 0 angegeben, weil wir Farbe wünschen. |
000 |
Der Chromasubsampling-Modus, entnommen aus Abschnitt 6.4.2 in der AV1-Spezifikation. Ein Wert von 000, kombiniert mit dem Monochrommodus-Wert 0, gibt an, dass wir 4:4:4-Chromasubsampling wünschen, oder keinen Farbverlust. |
09 |
Die Farbprimäre, die verwendet werden soll. Dieser Wert stammt aus Abschnitt 6.4.2 in der AV1-Spezifikation; 9 gibt an, dass wir BT.2020-Farbe verwenden möchten, die für HDR verwendet wird. |
16 |
Die Übertragungscharakteristiken, die verwendet werden sollen. Dies stammt ebenfalls aus Abschnitt 6.4.2; 16 gibt an, dass wir die Charakteristiken für BT.2100 PQ-Farbe verwenden möchten. |
09 |
Die Matrixkoeffizienten, die verwendet werden sollen, ebenfalls aus Abschnitt 6.4.2. Ein Wert von 9 spezifiziert, dass wir BT.2020 mit variabler Luminanz verwenden wollen; dies ist auch als BT.2010 YbCbCr bekannt. |
1 |
Das Video-"Full Range"-Flag. Ein Wert von 1 gibt an, dass wir möchten, dass der volle Farbbereich verwendet wird. |
Die Dokumentation zu Ihren Codecauswahlen wird wahrscheinlich Informationen enthalten, die Sie beim Erstellen Ihres codecs-Parameters verwenden werden.
Siehe auch
- Leitfaden zu Audio-Codecs im Web
- Formate für Mediencontainer (Dateitypen)
- Umgang mit Problemen bei der Unterstützung von Medieninhalten im Web
- Codec-Verwendung durch WebRTC
- RFC 6381: Die Parameter "Codecs" und "Profile" für "Bucket"-Mediatypen
- RFC 5334: Ogg Mediendateitypen
- RFC 3839: MIME-Typ-Registrierungen für 3GPP-Multimediadateien
- RFC 4381: MIME-Typ-Registrierungen für 3GPP2-Multimediadateien
- RFC 4337: MIME-Typ-Registrierungen für MPEG-4
- Video- und Audiocodecs in Chrome

