WebM: Ein offener Container für das Web
WebM ist ein Multimedia-Containerformat, das für das Web entwickelt wurde. Es wurde im Mai 2010 von Google im Rahmen des WebM-Projekts veröffentlicht, einer Initiative zur Etablierung offener, lizenzfreier Videostandards für HTML5. Das Format basiert auf dem Matroska-Container (derselben Technologie hinter MKV-Dateien), speziell für die Weblieferung angepasst.
WebM-Dateien enthalten Video, das mit den Codecs VP8, VP9 oder AV1 kodiert ist, und Audio, das mit Vorbis oder Opus kodiert ist. Alle diese Codecs sind Open Source und lizenzfrei, was bedeutet, dass jeder WebM-Inhalte kodieren, dekodieren und verteilen kann, ohne Patentlizenzgebühren zahlen zu müssen.
Wichtiger Punkt: WebM ist ein Container, kein Codec. Es ist die Verpackung, die die tatsächlichen Video- und Audiodaten enthält. Die Qualität wird durch den Codec im Inneren bestimmt (VP8, VP9 oder AV1), nicht durch den WebM-Container selbst.
Die Geschichte von WebM
Die Geschichte von WebM beginnt mit On2 Technologies, einem Unternehmen für Videocodecs, das die VP-Codec-Serie entwickelte. Google übernahm On2 im Februar 2010 für 124,6 Millionen US-Dollar, hauptsächlich wegen des VP8-Codecs. Im Mai 2010 stellte Google VP8 unter einer BSD-ähnlichen Lizenz als Open Source zur Verfügung und kündigte das WebM-Format auf der Google-I/O-Konferenz an.
Der Zeitpunkt war strategisch. Im Jahr 2010 wurde der HTML5-<video>-Tag standardisiert, aber das Web hatte keinen lizenzfreien Videocodec, auf den sich alle Browserhersteller einigen konnten. H.264 war durch MPEG LA patentbelastet, was es für kostenlose und Open-Source-Software unmöglich machte, ihn ohne Lizenzbedenken einzubinden. Google positionierte WebM als die offene Alternative.
Chrome und Firefox übernahmen die WebM-Unterstützung sofort. Opera folgte. Microsofts Internet Explorer und Apples Safari hielten dagegen und unterstützten weiterhin nur H.264. Der „Codec-Krieg" von 2010-2015 prägte die Web-Videolandschaft, die wir heute haben — und führte letztendlich dazu, dass Google VP9 (2013) entwickelte und AV1 (2018) gemeinsam mit der Alliance for Open Media entwickelte.
Codecs in WebM
Eine WebM-Datei kann einen von drei Videocodecs und einen von zwei Audiocodecs enthalten:
| Codec | Typ | Veröffentlicht | Hauptmerkmal |
|---|---|---|---|
| VP8 | Video | 2010 | Erster WebM-Codec; vergleichbar mit H.264 Baseline |
| VP9 | Video | 2013 | ~30 % kleiner als H.264 bei gleicher Qualität; von YouTube für 4K verwendet |
| AV1 | Video | 2018 | ~30 % kleiner als VP9; offener Codec der nächsten Generation |
| Vorbis | Audio | 2000 | Open-Source verlustbehaftetes Audio; mit VP8 gepaart |
| Opus | Audio | 2012 | Bester verfügbarer verlustbehafteter Audiocodec; schlägt AAC bei jeder Bitrate |
VP9 ist heute der am weitesten verbreitete Videocodec in WebM-Dateien. YouTube führte VP9 im Jahr 2014 ein und nutzt ihn, um den Großteil seiner Inhalte auszuliefern, einschließlich aller 4K-Streams. VP9 erreicht etwa 30 % bessere Kompression als H.264 bei gleicher wahrgenommener Qualität, was bei YouTubes Größenordnung erhebliche Bandbreiteneinsparungen bedeutet.
AV1 ist die neueste Generation, gemeinsam entwickelt von der Alliance for Open Media (AOM) — einem Konsortium, zu dem Google, Mozilla, Microsoft, Apple, Amazon, Netflix und andere gehören. AV1 verbessert VP9 um weitere ~30 %, aber die Kodierung ist deutlich langsamer. Die Browser-Unterstützung für AV1 in WebM wächst rasch, wobei Chrome 70+, Firefox 67+ und Edge 79+ ihn alle unterstützen.
Opus gilt weithin als der beste existierende verlustbehaftete Audiocodec. Er übertrifft AAC, MP3 und Vorbis bei jeder Bitrate in Blindhörtests. Opus bewältigt alles von Sprache mit niedriger Bitrate (6 kbps) bis zu High-Fidelity-Musik (510 kbps) mit einem einzigen Codec, was ihn ideal für Web-Video macht.
Wo WebM verwendet wird
WebM ist tief im Web-Ökosystem verankert:
- YouTube: liefert den Großteil seiner Videoinhalte mit VP9 in WebM-Containern aus. Wenn Sie ein YouTube-Video in Chrome oder Firefox in 4K ansehen, sehen Sie mit ziemlicher Sicherheit WebM.
- Wikipedia / Wikimedia Commons: erfordert WebM (oder Ogg) für alle Video-Uploads. MP4 ist aufgrund von Patentlizenzbedenken ausdrücklich nicht erlaubt.
- WebRTC: der Echtzeit-Kommunikationsstandard, der von Google Meet, Discord und unzähligen Videokonferenz-Apps verwendet wird, nutzt VP8/VP9 als obligatorischen Videocodec, typischerweise in WebM-Containern.
- Reddit / Imgur: viele „GIF"-Alternativen auf Reddit und Imgur sind eigentlich stumme VP9-WebM-Videos, die 10–50-mal kleiner sind als echte animierte GIFs.
- HTML5 <video>: WebM ist ein erstklassiges Format für das HTML5-Videoelement und wird von Chrome, Firefox, Edge und Opera seit ihren frühesten Versionen nativ unterstützt.
- MediaRecorder-API: wenn Webanwendungen Video über den Browser aufnehmen (Bildschirmaufnahme, Webcam-Aufnahme), verwenden die meisten Browser standardmäßig das WebM-Format.
Größenperspektive: Allein YouTube liefert täglich über eine Milliarde Stunden Video aus. Der Großteil davon wird als VP9 WebM ausgeliefert. Nach Sehzeit ist WebM wohl das meistkonsumierte Videoformat der Welt.
Browser- & Geräteunterstützung
Die WebM-Unterstützung variiert je nach Browser und Gerät:
| Plattform | WebM-VP9-Unterstützung | Hinweise |
|---|---|---|
| Chrome | Vollständig | Seit Chrome 29 (2013) |
| Firefox | Vollständig | Seit Firefox 28 (2014) |
| Edge | Vollständig | Seit Edge 79 (Chromium-basiert, 2020) |
| Opera | Vollständig | Seit Opera 16 (2013) |
| Safari (macOS) | Vollständig | Seit Safari 16.4 (März 2023, macOS Ventura) |
| Safari (iOS) | Vollständig | Seit iOS 16.4 (März 2023) |
| Android | Vollständig | Seit Android 4.4 (VP8 seit 2.3) |
| Smart-TVs | Teilweise | YouTube-App verwendet VP9; native Wiedergabe variiert je nach Hersteller |
| VLC Player | Vollständig | Plattformübergreifend, enthält VP8/VP9/AV1-Decoder |
Ab 2026 wird WebM VP9 weltweit von über 97 % der Webbrowser unterstützt (Quelle: Can I Use). Der letzte große Nachzügler war Safari, das im März 2023 VP9-Unterstützung hinzufügte. Für Webentwickler ist WebM nun ein sicheres Standardformat für HTML5-Video.
Technische Struktur von WebM-Dateien
WebM ist ein Profil (Teilmenge) des Matroska-Containerformats. Matroska (MKV) ist ein sehr flexibler, quelloffener Container, der praktisch jede Codec-Kombination unterstützt. WebM beschränkt diese Flexibilität auf einen bestimmten Satz offener Codecs:
- EBML-Header: das erste Element in jeder WebM-Datei, das sie als Matroska-basiertes Dokument mit dem WebM-DocType identifiziert. Dies ist analog zum
ftyp-Atom in MP4. - Segment: das Wurzelelement, das alle Mediendaten enthält, organisiert in Clustern.
- Spuren: Metadaten, die jede Spur beschreiben — Videoauflösung, Bildrate, Codec-ID, Audio-Samplerate und Kanalanzahl.
- Cluster: Gruppen von kodierten Video- und Audioframes mit Zeitstempeln. Jeder Cluster enthält typischerweise 1–5 Sekunden Medien.
- Cues: ein Seek-Index für wahlfreien Zugriff, ähnlich den Sample-Tabellen des
moov-Atoms in MP4.
WebM-Dateien können für Streaming konfiguriert werden, indem das Cues-Element vor den Clustern platziert wird (analog zu faststart in MP4). Dies ermöglicht es dem Browser, innerhalb des Videos zu navigieren, ohne zuerst die gesamte Datei herunterzuladen.