Leitfaden zu Web-Videocodecs
Dieser Leitfaden stellt Videocodecs vor, auf die Sie im Web am ehesten stoßen oder in Betracht ziehen werden, mit Zusammenfassungen ihrer Fähigkeiten sowie etwaiger Kompatibilitäts- und Nutzbarkeitsprobleme, und gibt Empfehlungen, um Ihnen bei der Auswahl des richtigen Codecs für Ihr Video-Projekt zu helfen.
Aufgrund der beträchtlichen 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 hochauflösenden (1920x1080) Videos 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 Byte (ca. 249 MB) beanspruchen.
- Eine Minute HD-Video benötigt 14,93 GB Speicherplatz.
- Eine recht typische 30-minütige Videokonferenz würde etwa 447,9 GB Speicherplatz benötigen, und ein 2-stündiger Film würde fast 1,79 TB (das heißt, 1790 GB) beanspruchen.
Nicht nur der benötigte Speicherplatz ist enorm, sondern auch die Netzwerkbandbreite, die erforderlich ist, um ein solches unkomprimiertes Video zu übertragen, wäre mit 249 MB/s enorm—ohne Audio und Overhead. Hier kommen Videocodecs ins Spiel. Genauso wie Audiocodecs die Sounddaten 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, was bedeutet, dass das dekodierte Video nicht genau mit der Quelle übereinstimmt. Einige Details können verloren gehen; der Umfang des Verlusts hängt vom Codec und seiner Konfiguration ab, aber generell gilt: Je mehr Kompression Sie erreichen, desto mehr Detail- und Gleichgewichtungsverluste werden auftreten. Es gibt einige verlustfreie Codecs, aber diese werden typischerweise für Archivierung und lokale Wiedergabe verwendet und nicht für den Einsatz in Netzwerken.
Allgemeine Codecs
Die folgenden Videocodecs werden am häufigsten im Web verwendet. Für jeden Codec sind 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 bietet, einschließlich spezifischer Fähigkeiten und Kompatibilitätsprobleme, die Sie beachten sollten.
| Codecs-Name (Kurz) | Vollständiger Codecs-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: Details über das Format und die Inhalte des Quellvideos sowie die Eigenschaften und Konfiguration des Codecs, der während der Codierung des Videos verwendet wird.
Die einfachste Richtlinie ist diese: Alles, was das kodierte Video mehr wie das originale, unkomprimierte Video aussehen lässt, wird im Allgemeinen auch die resultierenden Daten größer machen. Daher ist es immer ein Kompromiss zwischen Größe und Qualität. In manchen Situationen ist es den Verlust an Qualität wert, um die Datenmenge zu reduzieren; in anderen Fällen ist der Qualitätsverlust inakzeptabel und es ist notwendig, eine Codec-Konfiguration zu akzeptieren, die in einer entsprechend größeren Datei resultiert.
Einfluss des Quellvideo-Formats auf die kodierte Ausgabe
Das Ausmaß, in dem das Format des Quellvideos die Ausgabe beeinflusst, variiert je nach Codec und deren Funktionsweise. Wenn der Codec die Medien in ein internes Pixelformat umwandelt oder das Bild auf andere Weise als nur mit einfachen Pixeln darstellt, macht das Format des Originalbildes keinen Unterschied. Allerdings beeinflussen Dinge wie die Bildrate und offensichtlich die Auflösung immer die Größenausgabe der Medien.
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, in dunklen Bereichen Details zu verlieren oder eine beliebige Anzahl 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 wird die Farbgenauigkeit im Video erreicht. In gesättigten Bildbereichen (das heißt, wo Farben rein und intensiv sind, wie ein strahlendes, reines Rot: rgb(255 0 0 / 100%)) ermöglichen Farbtiefen unter 10 Bits pro Komponente (10-Bit-Farbe) ein Banding, bei dem Farbverläufe ohne sichtbares Abzeichnen nicht dargestellt werden können.
|
Abhängig vom Codec können höhere Farbtiefen zu größeren komprimierten Dateigrößen führen. Der bestimmende Faktor ist das interne Speicherformat, das für die komprimierten Daten verwendet wird. |
| Bildrate | Beeinflusst hauptsächlich die wahrgenommene Geschmeidigkeit der Bewegung im Bild. Bis zu einem gewissen Punkt, je höher die Bildrate, desto sanfter und realistischer wird die Bewegung erscheinen. Schließlich wird der Punkt der abnehmenden Erträge erreicht. Siehe Bildrate unten für Details. | Vorausgesetzt, die Bildrate wird während der Kodierung nicht reduziert, führen höhere Bildraten zu größeren komprimierten Videogrößen. |
| Bewegung | Die Kompression von Video funktioniert typischerweise, indem man Frames vergleicht, herausfindet, wo sie sich unterscheiden, und Datensätze erstellt, die genügend Informationen enthalten, um das vorherige Frame zu aktualisieren, um die Erscheinung des folgenden Frames zu approximieren. Je mehr aufeinanderfolgende Frames sich voneinander unterscheiden, desto größer sind diese Unterschiede, und desto weniger effektiv ist die Kompression im Vermeiden der Einführung von Artefakten in das komprimierte Video. | 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 gilt: Je mehr Bewegung es in einem Video gibt, desto größer wird typischerweise die Ausgabedatei sein. |
| Rauschen | Bildrauschen (wie Filmeffekte, Staub oder andere Gritigkeit des Bildes) führt zu Variabilität. Variabilität macht die Kompression generell schwieriger, was zu mehr Qualitätsverlust führt, da Details wegfallen müssen, um das gleiche Kompressionsniveau zu erreichen. | Je mehr Variabilitäten—wie Rauschen—es im Bild gibt, desto komplexer wird der Kompressionsprozess und desto weniger wahrscheinlich ist es, dass der Algorithmus das Bild im gleichen Maße komprimieren kann. Sofern Sie den Encoder nicht so konfigurieren, dass er einige oder alle durch Rauschen verursachten Variationen ignoriert, wird das komprimierte Video größer. |
| Auflösung (Breite und Höhe) | Höher aufgelöstes Video, das in der gleichen Bildschirmgröße präsentiert wird, kann typischerweise die ursprüngliche Szene genauer darstellen, solange die während der Kompression eingeführten Effekte ausgeschlossen sind. | Je höher die Auflösung eines Videos, desto größer wird es. Dies spielt eine Schlüsselrolle bei der endgültigen Größe des Videos. |
Das Ausmaß, in dem diese die resultierende kodierte Videoausgabe beeinflussen, variiert je nach den genauen Details der Situation, einschließlich des verwendeten Encoders und dessen Konfiguration. Neben den allgemeinen Codec-Optionen könnte der Encoder so konfiguriert werden, dass die Bildrate reduziert, das Rauschen bereinigt und/oder die Gesamtauslösung des Videos während der Kodierung verringert wird.
Einfluss der Codec-Konfiguration auf die kodierte Ausgabe
Die Algorithmen, die zur Kodierung von Video verwendet werden, nutzen typischerweise eine oder mehrere allgemeiner Techniken zur Durchführung ihrer Kodierung. Allgemein gesprochen, jede Konfigurationsoption, die darauf abzielt, die Ausgabelänge des Videos zu reduzieren, wird 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 verlustlose Form der Kodierung auszuwählen, die zu einer viel größeren kodierten Datei führt, aber mit perfekter Wiedergabe des originalen Videos nach dem Dekodieren.
Darüber hinaus kann jede Encoder-Utility Variationen darin haben, wie sie das Quellvideo verarbeiten, was zu Unterschieden in der Ausgabequalität und/oder -größe führt.
| Merkmal | Auswirkung auf die Qualität | Auswirkung auf die Größe |
|---|---|---|
| Verlustfreie Kompression | Kein Qualitätsverlust | Verlustfreie Kompression kann die Größe des Videos nicht annähernd so stark reduzieren wie verlustbehaftete Kompression; die resultierenden Dateien sind wahrscheinlich immer noch zu groß für allgemeine Verwendungen. |
| Verlustbehaftete Kompression | In gewissem Maße werden Artefakte und andere Formen von Qualitätsminderungen auftreten, je nach spezifischem Codec und dem Ausmaß der angewandten Kompression. | Je mehr das kodierte Video von der Quelle abweichen darf, desto einfacher ist es, höhere Kompressionsraten zu erreichen |
| Qualitätseinstellung | Je höher die Qualitätskonfiguration, desto mehr wird das kodierte Video dem ursprünglichen Medium ähneln | Im Allgemeinen werden höhere Qualitätseinstellungen zu größeren kodierten Videodateien führen; das Ausmaß, in dem dies zutrifft, variiert je nach dem Codec |
| Bitrate | Qualität verbessert sich im Allgemeinen mit höheren Bitraten | Höhere Bitraten führen zwangsläufig 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 je nach der von Ihnen verwendeten Kodierungssoftware. Die Dokumentation, die Ihrer Kodierungssoftware beiliegt, 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 neu angeordneten Daten zu sichtbaren negativen Effekten führen. Sobald ein Artefakt aufgetreten ist, kann es eine Weile bestehen bleiben, weil das Video auf eine bestimmte Weise dargestellt wird. Jedes Video-Frame wird präsentiert, indem eine Reihe von Änderungen auf das aktuell sichtbare Frame angewendet werden. Das bedeutet, dass Fehler oder Artefakte im Laufe der Zeit kumulieren und zu Bildstörungen oder sonstigen merkwürdigen oder unerwarteten Abweichungen im Bild führen können, die für eine Zeit bestehen bleiben.
Um dies zu beheben und um die Suchzeit durch die Videodaten zu verbessern, werden periodisch Schlüsselbilder (auch als intra-frames oder i-frames bekannt) in die Videodatei eingefügt. Die Schlüsselbilder sind vollständige Frames, die verwendet werden, um eventuell sichtbare Beschädigungen oder Artefakt-Rückstände zu reparieren.
Aliasing
Aliasing ist ein allgemeiner Begriff für alles, was beim Rekarrierieren aus den kodierten Daten nicht mehr so aussieht wie vor der Kompression. Es gibt viele Formen von Aliasing; die häufigsten, die Sie sehen können, umfassen:
Moire-MusterEin Moire-Muster ist ein groß angelegtes räumliches Interferenzmuster, das entsteht, wenn ein Muster im Quellbild und die Art und Weise, wie der Encoder arbeitet, räumlich leicht nicht übereinstimmen. Die vom Encoder generierten Artefakte führen dann zu seltsamen, wirbelnden Effekten im Muster des Quellbildes beim Dekodieren. |
|
TreppeneffektDer Treppeneffekt ist ein räumliches Artefakt, das auftritt, wenn diagonale gerade oder gekrümmte Kanten, die glatt sein sollten, ein gezacktes Erscheinungsbild annehmen, das ein wenig wie eine Treppe aussieht. Dies ist der Effekt, der durch "Anti-Aliasing"-Filter reduziert wird. |
|
WagenradeffektDer Wagenradeffekt (oder Stroboskopeffekt) ist der visuelle Effekt, der häufig im Film zu sehen ist, bei dem ein drehendes Rad scheint mit falscher Geschwindigkeit oder sogar rückwärts zu rotieren, aufgrund einer Wechselwirkung zwischen der Bildrate und dem Kompressionsalgorithmus. Derselbe Effekt kann bei jedem sich bewegenden wiederholten Muster auftreten, wie etwa den Schwellenlinien einer Eisenbahn, Pfosten entlang einer Straßenseite usw. Dies ist ein zeitliches (zeitbasiertes) Aliasing-Problem; die Geschwindigkeit der Rotation interferiert mit der Frequenz der während der Kompression oder Kodierung durchgeführten Abtastung. |
|
Farbkanten
Farbkanten sind eine Art von visuellem Artefakt, das als falsche Farben entlang der Ränder von farbigen Objekten in der Szene erscheint. Diese Farben haben keine beabsichtigte Farbverbindung zu den Inhalten des Frames.
Verlust an Schärfe
Der Akt des Datenentfernens im Prozess der Videokodierung erfordert, dass einige Details verloren gehen. Wird genügend Kompression angewandt, können Teile oder möglicherweise das gesamte Bild an Schärfe verlieren, was zu einem leicht unscharfen oder nebligen Erscheinungsbild führt.
Verlorene Schärfe kann es schwierig machen, Text im Bild zu lesen, da Text—insbesondere kleiner Text—sehr detailorientiert ist, wobei kleine Änderungen die Lesbarkeit erheblich beeinflussen können.
Ringing
Verlustbehaftete Kompressionsalgorithmen können Ringing einführen, einen Effekt, bei dem Bereiche außerhalb eines Objekts mit Farbige Pixeln kontaminiert werden, die vom Komprimierungsalgorithmus erzeugt werden. Dies geschieht, wenn ein Algorithmus verwendet wird, der Blöcke verwendet, die über eine scharfe Grenze zwischen einem Objekt und seinem Hintergrund hinweggehen. Dies ist insbesondere bei höheren Kompressionsstufen häufig.

Beachten Sie die blauen und rosafarbenen Ränder um die Kanten des oben gezeigten Sterns (sowie die Treppen und andere signifikante Kompressionsartefakte). Diese Ränder sind der Ringing-Effekt. Ringing ähnelt in gewisser Weise dem Mückengeräusch, außer dass der Ringing-Effekt mehr oder weniger konstant und unverändert ist, während das Mückengeräusch schimmert und sich bewegt.
Ringing ist 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 Verläufen führt. Statt glatter Übergänge durch die verschiedenen Farben in einem Bereich wird das Bild blockig, mit Farbflecken, die das ursprüngliche Erscheinungsbild des Bildes annähernd darstellen.

Beachten Sie die Blockhaftigkeit der Farben im Gefieder des Weißkopfseeadlers auf dem obigen Foto (und dem Schnee-Eule im Hintergrund). Die Details der Federn sind größtenteils verloren gegangen aufgrund dieser Posterisierungs-Artefakte.
Konturierung
Konturierung oder Farbabstufung ist eine spezifische Form der Posterisierung, bei der die Farbblöcke Bänder oder Streifen im Bild bilden. Dies tritt auf, wenn das Video mit zu grober Quantisierung kodiert wurde. Infolgedessen zeigen die Inhalte des Videos einen "geschichteten" Look, bei dem statt glatter Verläufe und Übergänge die Übergänge von Farbe zu Farbe abrupt sind, wodurch Farbstreifen erscheinen.

Im obigen Beispielbild beachten Sie, wie der Himmel Bänder unterschiedlicher Blautöne aufweist, anstatt ein konsistenter Farbverlauf zu sein, da die Himmelsfarbe sich in Richtung des Horizonts ändert. Dies ist der Konturierungseffekt.
Mückengeräusch
Mückengeräusch ist ein zeitliches Artefakt, das sich als Rauschen oder Kantengeschäftigkeit zeigt, die als flimmernde Trübung oder Schimmern auftritt, das ungefähr die Kanten von Objekten mit harten Kanten oder scharfen Übergängen zwischen Vordergrundobjekten und dem Hintergrund verfolgt. Der Effekt kann dem Ringing ähnlich erscheinen.

Das obige Foto zeigt Mückengeräusche an mehreren Stellen, einschließlich im Himmel um die Brücke herum. In der oberen rechten Ecke zeigt ein Inset eine Nahaufnahme eines Bildabschnitts, der Mückengeräusche aufweist.
Mückengeräusch-Artefakte sind am häufigsten in MPEG-Video zu finden, können aber auftreten, wann immer ein Algorithmus zur diskreten Kosinustransformation (DCT) verwendet wird; dies schließt zum Beispiel JPEG-Standbilder ein.
Bewegungskompensation Blockgrenzartefakte
Die Kompression von Video funktioniert generell, 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 fest an einem Ort bleibt oder die Objekte im Frame relativ stationär sind, wenn jedoch viel Bewegung im Frame ist, können die Unterschiede zwischen Frames so groß sein, dass die Kompression nichts nützt.
Bewegungskompensation ist eine Technik, die nach Bewegung (entweder der Kamera oder von Objekten im Frame) 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 und nicht nur durch diese Verschiebung beschrieben werden können. Im Wesentlichen findet der Encoder die bewegten Objekte und baut dann eine Art internes Frame, das wie das Original aussieht, aber mit allen Objekten, die an ihre neuen Positionen verschoben wurden. Theoretisch approximiert dies die Erscheinung des neuen Frames. Dann, um die Arbeit zu beenden, werden die restlichen Unterschiede gefunden, dann werden die Menge der Objektverschiebungen und die Menge der Pixelunterschiede in den Daten gespeichert, die das neue Frame darstellen. Dieses Objekt, das die Verschiebung und die Pixelunterschiede beschreibt, wird Restframe genannt.
| Original Frame | Inter-Frame-Differenzen | Unterschied nach Bewegungskompensation |
|---|---|---|
![]() |
![]() |
|
| Das erste vollständige Frame, wie es vom Betrachter gesehen wird. | Hier sind nur die Unterschiede zwischen dem ersten Frame und dem folgenden Frame zu sehen. Alles andere ist schwarz. Bei genauem Hinsehen können wir feststellen, dass die Mehrheit dieser Unterschiede von einer horizontalen Kamerabewegung stammt, was dies zu einem guten Kandidaten für die Bewegungskompensation macht. | Um die Anzahl der unterschiedlichen Pixel zu minimieren, berücksichtigen wir hier die Schwenkung der Kamera, indem wir zuerst das erste Frame um zwei Pixel nach rechts verschieben und dann den Unterschied ermitteln. Dies kompensiert die Schwenkung der Kamera, sodass mehr Überlappung zwischen den beiden Frames besteht. |
| Bilder von Wikipedia | ||
Es gibt zwei allgemeine Arten der Bewegungskompensation: Globale Bewegungskompensation und Blockbewegungskompensation. Die globale Bewegungskompensation passt im Allgemeinen Bewegungen der Kamera wie Verfolgung, Kamerafahrten, Schwenkungen, Neigungen, Rollbewegungen und Auf- und Ab-Bewegungen an. Blockbewegungskompensation kümmert sich um lokale Änderungen, indem sie nach kleineren Bildbereichen sucht, die mit Bewegungskompensation kodiert werden können. Diese Blöcke haben normalerweise eine feste Größe, in einem Raster, es gibt jedoch Formen der Bewegungskompensation, die variable Blockgrößen ermöglichen und sogar Blöcke überlappen lassen.
Es gibt jedoch Artefakte, die durch Bewegungskompensation entstehen können. Diese treten entlang der Blockgrenzen in Form von scharfen Kanten auf, die falsches Ringing und andere Kanten-Effekte erzeugen. Diese resultieren aus der Mathematik, die in der Kodierung der Restframes involviert ist, 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 Video-Abmessungen zu reduzieren, um die endgültige Dateigröße des Videos zu verbessern. Während der unmittelbare Verlust an Größe oder Geschmeidigkeit 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, während es eine viel höhere visuelle Qualität hat; selbst nach dem Skalieren während 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
Ähnlich können Sie Frames aus dem Video vollständig entfernen und die Bildrate entsprechend reduzieren. 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 erreichen. Zum Beispiel, anstatt Bewegungsunterschiede für zwei Frames zu berechnen, die aufgrund der inter-frame Bewegung zwei Pixel voneinander entfernt sind, könnte das Überspringen jedes zweiten Frames dazu führen, dass ein Unterschied berechnet wird, der zu vier Pixeln Bewegung führt. Dadurch kann die gesamte Kamerabewegung mit weniger Restframes dargestellt werden.
Die absolute minimale Bildrate, die ein Video haben kann, bevor seine Inhalte vom menschlichen Auge nicht mehr als Bewegung wahrgenommen werden, beträgt etwa 12 Frames pro Sekunde. Weniger als das, und das Video wird zu einer Serie von Standbildern. Kinofilme laufen typischerweise mit 24 Frames pro Sekunde, während Standard-Definition-Fernsehen etwa 30 Frames pro Sekunde beträgt (leicht weniger, aber ausreichend genau) und High-Definition-Fernsehen zwischen 24 und 60 Frames pro Sekunde liegt. Alles von 24 FPS aufwärts wird im Allgemeinen als zufriedenstellend flüssig wahrgenommen; 30 oder 60 FPS sind je nach Bedarf ideale Ziele.
Am Ende sind die Entscheidungen darüber, welche Opfer Sie bringen können, ganz Ihnen und/oder Ihrem Designteam überlassen.
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. Es erreicht eine höhere Datenkomprimierungsrate als VP9 und H.265/HEVC, und bis zu 50% höhere Raten als AVC. AV1 ist vollständig lizenzfrei und ist für die Verwendung mit dem <video>-Element und durch WebRTC konzipiert.
AV1 bietet derzeit drei Profile: main, high und professional, welche mit zunehmender Unterstützung für Farbtiefen und Chroma-Subsampling ausgestattet sind. Zusätzlich wird eine Reihe von Levels spezifiziert, von denen jedes die Grenzen einer Reihe von Videoattributen definiert. Diese Attribute umfassen Bildabmessungen, Bildflächen in Pixeln, Anzeige- und Decodiergeschwindigkeiten, durchschnittliche und maximale Bitraten sowie Begrenzungen für die Anzahl von Kacheln und Kachelspalten, die im Codier-/Decodierprozess verwendet werden.
Zum Beispiel bietet AV1 Level 2.0 eine maximale Bildbreite von 2048 Pixeln und eine maximale Höhe von 1152 Pixeln, aber seine maximale Bildgröße in Pixeln beträgt 147.456, sodass ein 2048x1152-Video auf Level 2.0 tatsächlich nicht abgespielt werden kann. Es sei jedoch darauf hingewiesen, dass zumindest bei Firefox und Chrome die Levels derzeit ignoriert werden, wenn eine Softwaredecodierung durchgeführt wird, und der Decoder einfach sein Bestes gibt, um das Video mit den bereitgestellten Einstellungen abzuspielen. Für zukünftige Kompatibilität 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 beschränkt, die über einen Hardwaredecoder verfügen, das heißt, M3 MacBooks und später, iPhone 15 Pro und iPhone 16 und später. Viele mobile und Desktop-Geräte haben Hardwaredecoder, was AV1 zu einer ausgezeichneten Wahl für die Bereitstellung von Videos im Web macht, mit einer Rückfalloption für ältere Apple-Geräte.
| Unterstützte Bitraten |
Variiert je nach Level des Videos; theoretisches Maximum erreicht 800 Mbps bei Level 6.3 Siehe die Tabellen der Levels der AV1-Spezifikation, die die maximalen Auflösungen und Raten in jedem Level beschreiben. |
||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Unterstützte Bildraten | Variiert je nach Level; zum Beispiel hat Level 2.0 ein Maximum von 30 FPS, während Level 6.3 bis zu 120 FPS erreichen kann | ||||||||||||||
| Kompression | Verlustbehaftet DCT-basiertes Algorithmus | ||||||||||||||
| Unterstützte Bildgrößen | 8 x 8 Pixel bis 65.535 x 65.535 Pixel, wobei jede Dimension einen beliebigen Wert zwischen diesen annehmen kann | ||||||||||||||
| Unterstützte Farbmodi |
|
||||||||||||||
| HDR-Unterstützung | Ja | ||||||||||||||
| Variable Bildraten (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/Fördernde 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 ist in der ITU H.264-Spezifikation und der MPEG-4 Teil 10-Spezifikation identisch beschrieben. Er ist ein auf Bewegungs-Kompensation basierender Codec, der heute weit verbreitet für alle Arten von Medien genutzt wird, einschließlich Übertragung im Fernsehen, RTP-Videokonferenzen und als Videocodec für Blu-Ray-Discs.
AVC ist sehr flexibel und bietet eine Vielzahl von Profilen mit unterschiedlichen Fähigkeiten; zum Beispiel ist das Constrained Baseline Profile für den Einsatz in Videokonferenzen und mobilen Szenarien entwickelt, da es weniger Bandbreite nutzt als das Main Profile (das in einigen Regionen für digitales Fernsehen in Standardauflösung verwendet wird) oder das High Profile (das für Blu-Ray-Disc-Video verwendet wird). 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-Farben hinzu, und fortgeschrittene 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 der gleichen Szene (Multiview Video Coding), was beispielsweise die Produktion von stereoskopischem Video ermöglicht.
AVC ist jedoch ein proprietäres Format und zahlreiche Patente werden von verschiedenen Parteien bezüglich seiner Technologien gehalten. Kommerzielle Nutzung von AVC-Medien erfordert eine Lizenz, obwohl der Via LA-Patent-Pool keine Lizenzgebühren für das Streaming von Internetvideos im AVC-Format verlangt, solange das Video für Endnutzer kostenlos ist.
Nicht-Web-Browser-Implementierungen von WebRTC (jede Implementierung, die nicht die JavaScript-APIs enthält) sind verpflichtet, AVC als Codec in WebRTC-Anrufen zu unterstützen. Während Webbrowser nicht dazu verpflichtet sind, tun es manche.
In HTML-Inhalten für Webbrowser ist AVC weitgehend kompatibel und viele Plattformen unterstützen Hardware-Codierung und -Dekodierung von AVC-Medien. Seien Sie jedoch auf die Lizenzanforderungen aufmerksam, bevor Sie sich entscheiden, AVC in Ihrem Projekt zu verwenden!
| Unterstützte Bitraten | Variiert je nach Level | ||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Unterstützte Bildraten | Variiert je nach Level; bis zu 300 FPS sind möglich | ||||||||||||||||||||||||||||||
| Kompression | Verlustbehaftet DCT-basiertes Algorithmus, jedoch ist es möglich, verlustfreie Makroblöcke innerhalb des Bildes zu erzeugen | ||||||||||||||||||||||||||||||
| Unterstützte Bildgrößen | Bis zu 8.192 x 4.320 Pixel | ||||||||||||||||||||||||||||||
| Unterstützte Farbmodi |
Einige der gebräuchlicheren oder interessanteren Profile:
|
||||||||||||||||||||||||||||||
| HDR-Unterstützung | Ja; Hybrid Log-Gamma oder Advanced HDR/SL-HDR; beide sind Teil von ATSC | ||||||||||||||||||||||||||||||
| Variable Bildraten (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 davon ab, ob der eingebaute oder vorinstallierte Codec für AVC und dessen Container im Betriebssystem zur Verfügung steht, um Patentsorgen zu vermeiden. |
||||||||||||||||||||||||||||||
| Container-Unterstützung | 3GP, MP4 | ||||||||||||||||||||||||||||||
| RTP / WebRTC kompatibel | Ja | ||||||||||||||||||||||||||||||
| Unterstützende/Fördernde 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
ITUs H.263-Codec wurde hauptsächlich für den Einsatz in niedrigen Bandbreiten entwickelt. Insbesondere liegt der Schwerpunkt auf Videokonferenzen über PSTN (Public Switched Telephone Networks), RTSP und SIP (IP-basierte Videokonferenzsysteme). Trotz seiner Optimierung für Netzwerke mit niedriger Bandbreite ist er recht CPU-intensiv und könnte auf schwächeren Rechnern möglicherweise nicht zufriedenstellend funktionieren. Das Datenformat ähnelt dem von MPEG-4 Teil 2.
H.263 wurde im Web nie weit verbreitet genutzt. Variationen von H.263 wurden als Grundlage für andere proprietäre Formate verwendet, wie Flash-Video oder den Sorenson-Codec. Allerdings hat kein großer Browser jemals standardmäßig H.263-Unterstützung eingebaut. Bestimmte Medien-Plugins haben die Unterstützung für H.263-Medien ermöglicht.
Im Gegensatz zu den meisten Codecs definiert H.263 die Grundlagen eines codierten Videos hinsichtlich der maximalen Bitrate pro Frame (Bild) oder BPPmaxKb. Während der Kodierung wird ein Wert für BPPmaxKb ausgewählt, und dann kann das Video diesen Wert pro Frame nicht überschreiten. Die endgültige Bitrate hängt von diesem, der Bildrate, der Kompression und der gewählten Auflösung und Blockformat ab.
H.263 wurde durch H.264 abgelöst und wird daher als veraltetes Medienformat angesehen, das Sie generell vermeiden sollten, wenn möglich. Der einzige wirkliche Grund, H.263 in neuen Projekten zu verwenden, ist, wenn Sie Unterstützung auf sehr alten Geräten benötigen, bei denen H.263 die beste Wahl darstellt.
H.263 ist ein proprietäres Format, mit Patenten, die von einer Reihe von Organisationen und Unternehmen gehalten werden, einschließlich Telenor, Fujitsu, Motorola, Samsung, Hitachi, Polycom, Qualcomm und so weiter. Um H.263 zu verwenden, sind Sie gesetzlich verpflichtet, die entsprechenden Lizenzen zu erwerben.
| Unterstützte Bitraten | Unbegrenzt, jedoch typischerweise unter 64 kbps | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Unterstützte Bildraten | Beliebig | ||||||||||||
| Kompression | Verlustbehaftet DCT-basiertes Algorithmus | ||||||||||||
| 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 Pixeln sowie die Anzahl der Zeilen, die für jede der Luminanz- und Chrominanzproben für jedes Bild verwendet werden | ||||||||||||
| HDR-Unterstützung | Nein | ||||||||||||
| Variable Bildraten (VFR) Unterstützung | Nein | ||||||||||||
| Browser-Kompatibilität |
|
||||||||||||
| Container-Unterstützung | 3GP, MP4, QuickTime | ||||||||||||
| RTP / WebRTC kompatibel | Nein | ||||||||||||
| Unterstützende/Fördernde 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 zutreffen können. |
HEVC (H.265)
Der High Efficiency Video Coding (HEVC)-Codec ist durch die ITU als H.265 sowie durch MPEG-H Teil 2 definiert (das noch in Entwicklung befindliche Nachfolgeformat zu MPEG-4). HEVC wurde entwickelt, um effizientes Kodieren und Dekodieren von Videos in Größen einschließlich sehr hoher Auflösungen (einschließlich 8K-Video) zu unterstützen, mit einer Struktur, die speziell darauf ausgelegt ist, dass Software moderne Prozessoren optimal nutzen kann. Theoretisch kann HEVC komprimierte Dateigrößen erreichen, die halb so groß sind wie die von AVC, jedoch mit vergleichbarer Bildqualität.
Jede Coding-Tree-Einheit (CTU) – ähnlich dem in früheren Codecs verwendeten Makroblock – besteht beispielsweise aus einem Baum von Luma-Werten für jede Probe sowie einem Baum von Chroma-Werten für jede Chroma-Probe, die in derselben Coding-Tree-Einheit verwendet werden, sowie aus allen erforderlichen Syntaxelementen. Diese Struktur unterstützt eine einfache Verarbeitung durch mehrere Kerne.
Ein interessantes Merkmal von HEVC ist, dass das Hauptprofil nur 8-Bit pro Komponente mit 4:2:0-Chroma-Subsampling unterstützt. Bemerkenswert ist auch, dass 4:4:4-Video speziell behandelt wird. Anstatt die Luma-Proben (die die Pixel des Bildes in Graustufen darstellen) und die Cb- und Cr-Proben (die angeben, wie die Graustufen in Farbpixel umgewandelt werden) zu verwenden, werden die drei Kanäle stattdessen als drei monochrome Bilder betrachtet, eines für jede Farbe, die dann während der Wiedergabe kombiniert werden, um ein Vollfarbbild zu erzeugen.
HEVC ist ein proprietäres Format und wird durch eine Reihe von Patenten abgedeckt. Die Lizenzierung wird von Via LA verwaltet; Gebühren werden an Entwickler und nicht an Inhalteproduzenten und -vertreiber erhoben. Stellen Sie sicher, die neuesten Lizenzbedingungen und -anforderungen zu prüfen, bevor Sie eine Entscheidung treffen, ob Sie HEVC in Ihrer App oder Webseite verwenden wollen!
| Unterstützte Bitraten | Bis zu 800.000 kbps | ||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Unterstützte Bildraten | Variiert je nach Level; bis zu 300 FPS ist möglich | ||||||||||||||||||||||||||||||
| Kompression | Verlustbehaftet DCT-basiertes Algorithmus | ||||||||||||||||||||||||||||||
| Unterstützte Bildgrößen | 128 x 96 bis 8.192 x 4.320 Pixel; variiert je nach Profil und Level | ||||||||||||||||||||||||||||||
| Unterstützte Farbmodi |
Informationen unten sind für die Hauptprofile angegeben. Es gibt eine Reihe anderer Profile, die hier nicht aufgeführt sind.
|
||||||||||||||||||||||||||||||
| HDR-Unterstützung | Ja | ||||||||||||||||||||||||||||||
| Variable Bildraten (VFR) Unterstützung | Ja | ||||||||||||||||||||||||||||||
| Browser-Kompatibilität |
Chrome unterstützt HEVC für Geräte mit Hardwareunterstützung unter Windows 8+, Linux und ChromeOS, für alle Geräte unter macOS Big Sur 11+ und Android 5.0+. Edge (Chromium) unterstützt HEVC für Geräte mit Hardwareunterstützung unter Windows 10 1709+ wenn HEVC-Videoerweiterungen aus dem Microsoft Store installiert sind, und hat denselben Unterstützungsstatus wie Chrome auf anderen Plattformen. Edge (Legacy) unterstützt HEVC nur für Geräte mit einem Hardwaredecoder. Firefox aktiviert HEVC unter:
Opera und andere auf Chromium basierende Browser haben denselben Unterstützungsstatus wie Chrome. Safari unterstützt HEVC für alle Geräte unter macOS High Sierra oder neuer. |
||||||||||||||||||||||||||||||
| Container-Unterstützung | ISOBMFF, MPEG-TS, MP4 QuickTime | ||||||||||||||||||||||||||||||
| RTP / WebRTC kompatibel | Nein | ||||||||||||||||||||||||||||||
| Unterstützende/Fördernde Organisation | ITU / MPEG | ||||||||||||||||||||||||||||||
| Spezifikationen |
http://www.itu.int/rec/T-REC-H.265 https://www.iso.org/standard/69668.html |
||||||||||||||||||||||||||||||
| Lizenzierung | Proprietär; bestätigen Sie Ihre Einhaltung der Lizenzanforderungen. Beachten Sie, dass mehrere Patentpools zutreffen können. |
MP4V-ES
Das MPEG-4 Video Elemental Stream (MP4V-ES)-Format ist Teil des MPEG-4 Teil 2 Visual-Standards. Während im Allgemeinen MPEG-4 Teil 2-Video aufgrund seines Mangels an überzeugendem Wert im Vergleich zu anderen Codecs von niemandem verwendet wird, hat MP4V-ES etwas Nutzung auf mobilen Geräten. MP4V ist im Wesentlichen eine H.263-Codierung im MPEG-4-Container.
Sein Hauptzweck besteht darin, MPEG-4-Audio und -Video über eine RTP-Sitzung zu streamen. MP4V-ES wird jedoch auch verwendet, um MPEG-4-Audio und -Video über eine mobile Verbindung mithilfe von 3GP zu übertragen.
Sie möchten dieses Format wahrscheinlich nicht verwenden, da es nicht in nennenswerter Weise von großen Browsern unterstützt wird und sehr veraltet ist. Dateien dieses Typs sollten die Erweiterung .mp4v haben, sind jedoch manchmal fälschlicherweise als .mp4 gekennzeichnet.
| Unterstützte Bitraten | 5 kbps bis 1 Gbps und mehr | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Unterstützte Bildraten | Keine spezifische Grenze; nur durch die Datenrate eingeschränkt | ||||||||||||
| Kompression | Verlustbehaftet DCT-basiertes 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 Bildraten (VFR) Unterstützung | Ja | ||||||||||||
| Browser-Kompatibilität |
Firefox unterstützt MP4V-ES nur in 3GP Containern. Chrome unterstützt MP4V-ES nicht; jedoch tut dies ChromeOS. |
||||||||||||
| Container-Unterstützung | 3GP, MP4 | ||||||||||||
| RTP / WebRTC kompatibel | Nein | ||||||||||||
| Unterstützende/Fördernde Organisation | MPEG | ||||||||||||
| Spezifikation | RFC 6416 | ||||||||||||
| Lizenzierung | Proprietär; eine Lizenz erhalten durch 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. Im Gegensatz zu den späteren MPEG-Videostandards wurde MPEG-1 ausschließlich von MPEG entwickelt, ohne 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 im Zusammenhang mit MPEG-1-Video, sodass es ohne Lizenzprobleme verwendet werden kann. Allerdings unterstützen nur wenige Webbrowser MPEG-1-Video ohne ein Plugin, und da die Verwendung von Plugins in Webbrowsern abgelehnt wird, sind diese in der Regel 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 Bildraten | 23,976 FPS, 24 FPS, 25 FPS, 29,97 FPS, 30 FPS, 50 FPS, 59,94 FPS und 60 FPS | ||||||||||||
| Kompression | Verlustbehaftet DCT-basiertes 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 Bildraten (VFR) Unterstützung | Nein | ||||||||||||
| Browser-Kompatibilität |
|
||||||||||||
| Container-Unterstützung | MPEG | ||||||||||||
| RTP / WebRTC kompatibel | Nein | ||||||||||||
| Unterstützende/Fördernde Organisation | MPEG | ||||||||||||
| Spezifikation | https://www.iso.org/standard/22411.html | ||||||||||||
| Lizenzierung | Proprietär; allerdings 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 gelegentlich auch durch seine ITU-Bezeichnung H.262 bekannt ist. Es ist dem MPEG-1-Video sehr ähnlich—tatsächlich kann jeder MPEG-2-Player MPEG-1 automatisch verarbeiten—, außer dass es erweitert wurde, um höhere Bitraten und verbesserte Kodierungstechniken zu unterstützen.
Das Ziel war es, MPEG-2 fähig zu machen, Standarddefinitionen im Fernsehen zu komprimieren, sodass interlaced Video ebenfalls unterstützt wird. Die Standarddefinitionskompressionsrate und die Qualität des resultierenden Videos erfüllten die Bedürfnisse so gut, dass MPEG-2 der primäre Videocodec für DVD-Videomedien wurde.
MPEG-2 hat mehrere verfügbare Profile mit unterschiedlichen Fähigkeiten. Jedes Profil ist dann in vier Level verfügbar, von denen jedes die Attribute des Videos erhöht, 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. Zusätzlich gibt es vier Level, 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 Verwendung des Main Profile bei High Level, was 4:2:0-Video bei sowohl 1920 x 1080 (30 FPS) als auch 1280 x 720 (60 FPS) mit einer maximalen Bitrate von 80 Mbps ermöglicht.
Allerdings unterstützen nur wenige Webbrowser MPEG-2 ohne die Unterstützung eines Plugins, und da Plugins in Webbrowsern nicht mehr verwendet werden, sind diese in der Regel 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 nach Level und Profil | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Unterstützte Bildraten |
|
|||||||||||||||
| Kompression | Verlustbehaftet DCT-basiertes 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 Bildraten (VFR) Unterstützung | Nein | |||||||||||||||
| Browser-Kompatibilität |
|
|||||||||||||||
| Container-Unterstützung | MPEG, MPEG-TS (MPEG Transport Stream), MP4, QuickTime | |||||||||||||||
| RTP / WebRTC kompatibel | Nein | |||||||||||||||
| Unterstützende/Fördernde 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 von Malaysia (zum 1. Oktober 2024), sodass MPEG-2 außerhalb von Malaysia frei verwendet werden kann. Patente werden von Via LA lizenziert. |
Theora
Warnung: Dieser Codec wird nicht mehr empfohlen. Er hat eine extrem geringe Nutzung, und die Unterstützung wird aus den Browsern entfernt.
Theora, entwickelt von Xiph.org, ist ein offener und lizenzfreier Videocodec, der ohne Lizenzgebühren oder -anforderungen verwendet werden kann. Theora ist in Bezug auf Qualität und Kompressionsraten vergleichbar mit MPEG-4 Teil 2 Visual und AVC, was es zu einer sehr guten, wenn auch nicht erstklassigen Wahl für die Videokodierung macht. Aber sein Status, frei von jeglichen Lizenzproblemen zu sein, und die relativ niedrigen CPU-Ressourcenanforderungen machen ihn zu einer beliebten Wahl für viele Software- und Webprojekte. Die niedrige CPU-Belastung ist besonders nützlich, da es keine Hardwaredecoder 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 die Möglichkeit, 10 oder mehr zu verwenden, um Farbbänder zu vermeiden. Das gesagt, sind 8 Bit pro Komponente immer noch das am häufigsten verwendete Farbformat, sodass dies in den meisten Fällen nur ein geringfügiger Nachteil ist. Theora kann jedoch nur in einem Ogg-Container verwendet werden. Der größte Nachteil ist jedoch, dass es nicht von Safari unterstützt wird, was Theora nicht nur auf macOS unzugänglich macht, sondern auch auf all den Millionen von iPhones und iPads.
Das Theora Cookbook bietet zusätzliche Details über Theora sowie das Ogg-Container-Format, in dem es verwendet wird.
| Unterstützte Bitraten | Bis zu 2 Gbps | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Unterstützte Bildraten | Beliebig; jeder positive Wert wird unterstützt. Die Bildrate wird als 32-Bit-Zähler und 32-Bit-Nenner angegeben, um nicht-ganzzahlige Bildraten zu ermöglichen. | ||||||||||||
| Kompression | Verlustbehaftet DCT-basiertes Algorithmus | ||||||||||||
| Unterstützte Bildgrößen | Jede Kombination von Breite und Höhe bis zu 1.048.560 x 1.048.560 Pixeln | ||||||||||||
| 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 Bildraten (VFR) Unterstützung |
Ja Während Theora keine Variable Bildraten (VFR) innerhalb eines einzelnen Streams unterstützt, können mehrere Streams in einer einzigen Datei aneinandergereiht werden, und jeder davon kann seine eigene Bildrate haben, wodurch im Grunde genommen VFR ermöglicht wird. Dies ist jedoch unpraktisch, wenn sich die Bildrate 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/Fördernde Organisation | Xiph.org | ||||||||||||
| Spezifikation | https://www.theora.org/doc/ | ||||||||||||
| Lizenzierung | Offen und frei von Lizenzgebühren und anderen Lizenzanforderungen |
VP8
Der Video Processor 8 (VP8)-Codec wurde ursprünglich von On2 Technologies entwickelt. Nach der Übernahme von On2 hat Google VP8 als offenes und lizenzfreies Videoformat unter der Zusicherung veröffentlicht, die relevanten Patente nicht durchzusetzen. In Bezug auf Qualität und Kompressionsrate ist VP8 mit AVC vergleichbar.
Wenn der Browser es unterstützt, erlaubt VP8 Videos mit einem Alphakanal, der das Abspielen des Videos ermöglicht, wobei der Hintergrund im Maße, das durch die Alphakomponente jedes Pixels angegeben wird, sichtbar ist. Safari unterstützt keine Alphatransparenz in VP8-Videos.
Es gibt eine gute Browser-Unterstützung für VP8 in HTML-Inhalten, insbesondere innerhalb von WebM-Dateien.
| Unterstützte Bitraten | Beliebig; kein Maximum, es sei denn, es werden levelbasierte Beschränkungen erzwungen |
|---|---|
| Unterstützte Bildraten | Beliebig |
| Kompression | Verlustbehaftet DCT-basiertes 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 Bildraten (VFR) Unterstützung | Ja |
| Browser-Kompatibilität |
Alle Versionen von Chrome, Edge, Firefox, Opera und Safari. Allerdings unterstützt Safari keine Alphatransparenz. |
| Container-Unterstützung | 3GP, Ogg, WebM |
| RTP / WebRTC kompatibel | Ja; VP8 ist einer der im WebRTC-Standard geforderten Codecs |
| Unterstützende/Fördernde Organisation | |
| Spezifikation | RFC 6386 |
| Lizenzierung | Offen und frei von Lizenzgebühren und anderen 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 Codierungs- und Dekodierungsleistung ist mit der von AVC vergleichbar oder etwas schneller, jedoch mit besserer Qualität. Die codierte Videoqualität von VP9 ist mit der von HEVC bei ähnlichen Bitraten vergleichbar.
VP9s Hauptprofil unterstützt nur 8-Bit-Farbtiefe bei 4:2:0-Chroma-Subsampling-Stufen, aber seine Profile umfassen Unterstützung für tiefere Farben und die volle Bandbreite der Chroma-Subsampling-Modi. Es unterstützt mehrere HDR-Implementierungen und bietet erhebliche Freiheit bei der Auswahl von Bildraten, Seitenverhältnissen und Bildgrößen.
VP9 wird von vielen Browsern unterstützt, und hardwarebasierte Implementierungen des Codecs sind ziemlich verbreitet. VP9 ist einer der beiden von WebM vorgeschriebenen Videocodecs (der andere ist VP8). Es ist jedoch zu beachten, dass Safari keine Alphatransparenz in diesem Format unterstützt.
| Unterstützte Bitraten | Beliebig; kein Maximum, es sei denn, es werden levelbasierte Beschränkungen erzwungen | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Unterstützte Bildraten | Beliebig | |||||||||||||||
| Kompression | Verlustbehaftet DCT-basiertes 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 Bildraten (VFR) Unterstützung | Ja | |||||||||||||||
| Browser-Kompatibilität |
Alle Versionen von Chrome, Edge, Firefox, Opera und Safari. Allerdings unterstützt Safari keine Alphatransparenz. |
|||||||||||||||
| Container-Unterstützung | MP4, Ogg, WebM | |||||||||||||||
| RTP / WebRTC kompatibel | Ja | |||||||||||||||
| Unterstützende/Fördernde Organisation | ||||||||||||||||
| Spezifikation | https://www.webmproject.org/vp9/ | |||||||||||||||
| Lizenzierung | Offen und frei von Lizenzgebühren und anderen Lizenzanforderungen |
Auswahl eines Video-Codecs
Die Entscheidung, welchen Codec oder welche Codecs Sie verwenden möchten, beginnt mit einer Reihe von Fragen, um sich vorzubereiten:
- Möchten Sie ein offenes Format verwenden oder sollen auch proprietäre Formate in Betracht gezogen werden?
- Haben Sie die Ressourcen, um mehr als ein Format für jedes Ihrer Videos zu erstellen? Die Möglichkeit, eine Fallback-Option anzubieten, vereinfacht den Entscheidungsprozess erheblich.
- Gibt es Browser, bei denen Sie bereit sind, auf Kompatibilität zu verzichten?
- Wie alt ist die älteste Version des Webbrowsers, die Sie unterstützen müssen? Zum Beispiel, müssen Sie auf jedem in den letzten fünf Jahren ausgelieferten Browser funktionieren oder nur im vergangenen Jahr?
In den folgenden Abschnitten bieten wir empfohlene Codec-Auswahlen für spezifische Anwendungsfälle an. Für jeden Anwendungsfall finden Sie bis zu zwei Empfehlungen. Wenn der Codec, der als am besten für den Anwendungsfall betrachtet wird, proprietär ist oder Lizenzgebühren 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 am besten zu Ihren Anforderungen passt. Die erste wird als gute Kombination aus Qualität, Leistung und Kompatibilität empfohlen. Die zweite Option wird die am weitesten kompatible Wahl sein, allerdings auf Kosten von etwas Qualität, Leistung und/oder Größe.
Empfehlungen für das Web
Zuerst betrachten wir die besten Optionen für Videos auf einer typischen Website wie einem Blog, einer Informationsseite, einer kleinen Unternehmenswebsite, auf der Videos zur Demonstration von Produkten verwendet werden (aber nicht, wo die Videos selbst ein Produkt sind) und so weiter.
-
Ein WebM Container mit dem AV1 Codec für Video und dem Opus Codec für Audio. Diese sind alle offene, lizenzfreie Formate, die im Allgemeinen gut unterstützt werden, mit der 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) Video-Codec, idealerweise mit AAC als Ihrem Audio-Codec. Dies ist, weil die Kombination aus dem MP4-Container mit AVC und AAC-Codec in jedem großen Browser unterstützt wird, und die Qualität ist typischerweise gut für die meisten Anwendungsfälle. Stellen Sie jedoch sicher, dass Sie Ihre Einhaltung der Lizenzanforderungen überprüfen.
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 Remixen
Es gibt derzeit keine verlustfreien – oder auch nur annähernd verlustfreien – Video-Codecs, die allgemein in Webbrowsern verfügbar sind. Der Grund dafür ist einfach: Video ist riesig. Verlustfreie Kompression ist per Definition weniger effektiv als verlustbehaftete Kompression. Beispielsweise benötigt unkomprimiertes 1080p-Video (1920 mal 1080 Pixel) mit 4:2:0-Chroma-Abtastung mindestens 1,5 Gbps. Die Verwendung verlustfreier Kompression wie FFV1 (die nicht von Webbrowsern unterstützt wird) könnte dies möglicherweise auf etwa 600 Mbps reduzieren, je nach Inhalt. Das ist immer noch eine riesige Menge an Bits, die jede Sekunde durch eine Verbindung gepumpt werden müssen, und ist derzeit für keinen realen Anwendungsfall praktikabel.
Dies ist der Fall, obwohl einige der verlustbehafteten Codecs einen verlustfreien Modus haben; die verlustfreien Modi sind in keinem aktuellen Webbrowser 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 tun, besteht darin, den Codec so zu konfigurieren, dass er "schnelle" Kompression verwendet, was inhärent bedeutet, dass weniger Kompression erreicht wird.
Vorbereitung von Videos auf externen Systemen
Um Videos zu Archivierungszwecken außerhalb Ihrer Website oder App vorzubereiten, verwenden Sie ein Hilfsprogramm, das die Kompression auf den ursprünglichen unkomprimierten Videodaten durchführt. Beispielsweise kann das kostenlose x264-Hilfsprogramm 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
Obwohl andere Codecs möglicherweise bessere Qualitätsstufen erreichen können, wenn das Video erheblich komprimiert wird, sind deren Encoder oft so langsam, dass die nahezu verlustfreie Kodierung, die Sie mit dieser Kompression erhalten, bei etwa gleichem Qualitätslevel erheblich schneller ist.
Aufnahme von Videos
Angesichts der Einschränkungen, wie nah Sie an verlustfreies Video herankommen können, sollten Sie vielleicht AVC oder AV1 in Betracht ziehen. Zum Beispiel, wenn Sie die MediaStream Recording API verwenden, um Video aufzuzeichnen, könnten Sie einen Code wie den folgenden verwenden, wenn Sie Ihr MediaRecorder-Objekt 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 so konfiguriert ist, AV1-Video mit BT.2100 HDR in 12-Bit-Farbe mit 4:4:4-Chroma-Abtastung aufzunehmen und FLAC für verlustfreies Audio zu verwenden. Die resultierende Datei wird eine Bitrate von maximal 800 Mbps zwischen den Video- und Audiotracks verwenden. Sie müssen diese Werte wahrscheinlich an die Hardwareleistung, Ihre Anforderungen und die spezifischen Codecs, die Sie wählen, anpassen. Diese Bitrate ist offensichtlich nicht realistisch für die Übertragung im Netzwerk und würde wahrscheinlich nur lokal verwendet werden.
Wenn wir den Wert des codecs-Parameters in seine punktabgetrennten Eigenschaften zerlegen, sehen wir folgendes:
| Wert | Beschreibung |
|---|---|
av01 |
Der vierstellige Code (4CC), der den AV1-Codec identifiziert. |
2 |
Das Profil. Ein Wert von 2 steht für das professionelle Profil. Ein Wert von 1 ist das High Profile, während ein Wert von 0 das Main Profile angibt. |
19H |
Der Level und Tier. Dieser Wert stammt aus der Tabelle in Abschnitt A.3 der AV1-Spezifikation und gibt den High Tier von Level 6.3 an. |
12 |
Die Farbtiefe. Dies zeigt 12 Bit pro Komponente an. Andere mögliche Werte sind 8 und 10, aber 12 ist die höchste Farbgenauigkeit, die in AV1 verfügbar ist. |
0 |
Das Monochrommodus-Flag. Wenn 1, dann würden keine Chroma-Ebenen aufgezeichnet, und alle Daten sollten nur Luma-Daten sein, was zu einem Graustufenbild führt. Wir haben 0 angegeben, da wir Farbe möchten. |
000 |
Der Chroma-Abtastmodus nach Abschnitt 6.4.2 in der AV1-Spezifikation. Ein Wert von 000, in Kombination mit dem Monochrommodus-Wert 0, zeigt an, dass wir eine 4:4:4-Chroma-Abtastung oder keinen Verlust von Farbdaten wünschen. |
09 |
Die verwendeten Farbprimärfarben. Dieser Wert stammt aus Abschnitt 6.4.2 in der AV1-Spezifikation; 9 zeigt an, dass wir BT.2020-Farben verwenden wollen, die für HDR verwendet werden. |
16 |
Die verwendeten Übertragungscharakteristika. Diese stammen ebenfalls aus Abschnitt 6.4.2; 16 zeigt an, dass wir die Charakteristika für BT.2100 PQ-Farben verwenden wollen. |
09 |
Die verwendeten Matrixkoeffizienten aus Abschnitt 6.4.2 erneut. Ein Wert von 9 gibt an, dass wir BT.2020 mit variabler Luminanz verwenden wollen; dies ist auch bekannt als BT.2010 YbCbCr. |
1 |
Das Video-„Vollbereichs“-Flag. Ein Wert von 1 zeigt an, dass wir den vollen Farbbereich verwenden möchten. |
Die Dokumentation für Ihre gewählten Codecs wird wahrscheinlich Informationen bieten, die Sie beim Erstellen Ihres codecs-Parameters verwenden können.
Siehe auch
- Leitfaden für Web-Audio-Codecs
- Mediencontainerformate (Dateitypen)
- Umgehung von Medienunterstützungsproblemen im Webinhalt
- Codecs, die von WebRTC verwendet werden
- RFC 6381: Die Parameter „Codecs“ und „Profile“ für „Bucket“-Medientypen
- 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

