WebM : un conteneur ouvert pour le web
WebM est un format de conteneur multimédia conçu pour le web. Il a été publié par Google en mai 2010 dans le cadre du projet WebM, une initiative visant à établir des standards vidéo ouverts et libres de droits pour HTML5. Le format est basé sur le conteneur Matroska (la même technologie derrière les fichiers MKV), adapté spécifiquement pour la diffusion web.
Les fichiers WebM contiennent de la vidéo encodée avec les codecs VP8, VP9 ou AV1 et de l'audio encodé avec Vorbis ou Opus. Tous ces codecs sont open source et libres de droits, ce qui signifie que n'importe qui peut encoder, décoder et distribuer du contenu WebM sans payer de frais de licence de brevet.
Point clé : WebM est un conteneur, pas un codec. C'est l'emballage qui contient les données vidéo et audio réelles. La qualité est déterminée par le codec à l'intérieur (VP8, VP9 ou AV1), pas par le conteneur WebM lui-même.
L'histoire de WebM
L'histoire de WebM commence avec On2 Technologies, une société de codecs vidéo qui a développé la série de codecs VP. Google a racheté On2 en février 2010 pour 124,6 millions de dollars, principalement pour le codec VP8. En mai 2010, Google a rendu VP8 open source sous une licence de type BSD et a annoncé le format WebM lors de la conférence Google I/O.
Le timing était stratégique. En 2010, la balise HTML5 <video> était en cours de standardisation, mais le web ne disposait d'aucun codec vidéo libre de droits sur lequel tous les éditeurs de navigateurs pouvaient s'accorder. H.264 était soumis à des brevets via MPEG LA, rendant son inclusion impossible pour les logiciels libres et open source sans problèmes de licence. Google a positionné WebM comme l'alternative ouverte.
Chrome et Firefox ont adopté la prise en charge de WebM immédiatement. Opera a suivi. Internet Explorer de Microsoft et Safari d'Apple ont résisté, continuant à ne prendre en charge que H.264. La « guerre des codecs » de 2010-2015 a façonné le paysage de la vidéo web que nous connaissons aujourd'hui — et a finalement conduit Google à développer VP9 (2013) et à co-développer AV1 (2018) avec l'Alliance for Open Media.
Les codecs à l'intérieur de WebM
Un fichier WebM peut contenir l'un des trois codecs vidéo et l'un des deux codecs audio :
| Codec | Type | Sortie | Caractéristique clé |
|---|---|---|---|
| VP8 | Vidéo | 2010 | Premier codec WebM ; comparable à H.264 Baseline |
| VP9 | Vidéo | 2013 | ~30 % plus petit que H.264 à qualité égale ; utilisé par YouTube pour la 4K |
| AV1 | Vidéo | 2018 | ~30 % plus petit que VP9 ; codec ouvert de nouvelle génération |
| Vorbis | Audio | 2000 | Audio avec perte open source ; associé à VP8 |
| Opus | Audio | 2012 | Meilleur codec audio avec perte disponible ; surpasse AAC à tout bitrate |
VP9 est le codec vidéo le plus largement utilisé dans les fichiers WebM aujourd'hui. YouTube a adopté VP9 en 2014 et l'utilise pour diffuser la majorité de son contenu, y compris tous les flux 4K. VP9 offre une compression environ 30 % meilleure que H.264 à qualité perçue égale, ce qui se traduit par des économies de bande passante considérables à l'échelle de YouTube.
AV1 est la toute dernière génération, développée conjointement par l'Alliance for Open Media (AOM) — un consortium qui comprend Google, Mozilla, Microsoft, Apple, Amazon, Netflix et d'autres. AV1 améliore VP9 d'environ 30 % supplémentaires, mais l'encodage est nettement plus lent. La prise en charge d'AV1 dans WebM par les navigateurs progresse rapidement, avec Chrome 70+, Firefox 67+ et Edge 79+ qui le prennent tous en charge.
Opus est largement considéré comme le meilleur codec audio avec perte existant. Il surpasse AAC, MP3 et Vorbis à tous les bitrates lors des tests d'écoute à l'aveugle. Opus gère tout, de la parole à faible bitrate (6 kbps) à la musique haute fidélité (510 kbps) avec un seul codec, ce qui le rend idéal pour la vidéo web.
Où WebM est utilisé
WebM est devenu profondément ancré dans l'écosystème web :
- YouTube : diffuse la majorité de son contenu vidéo en utilisant VP9 dans des conteneurs WebM. Lorsque vous regardez une vidéo YouTube dans Chrome ou Firefox en 4K, vous regardez presque certainement du WebM.
- Wikipedia / Wikimedia Commons : exige le WebM (ou Ogg) pour tous les envois vidéo. Le MP4 est explicitement interdit en raison de problèmes de licences de brevets.
- WebRTC : le standard de communication en temps réel utilisé par Google Meet, Discord et d'innombrables applications de visioconférence utilise VP8/VP9 comme codec vidéo obligatoire, généralement dans des conteneurs WebM.
- Reddit / Imgur : de nombreuses alternatives aux « GIF » sur Reddit et Imgur sont en réalité des vidéos WebM VP9 silencieuses, 10–50 fois plus petites que des GIF animés réels.
- HTML5 <video> : WebM est un format de premier plan pour l'élément vidéo HTML5, pris en charge nativement par Chrome, Firefox, Edge et Opera depuis leurs toutes premières versions.
- API MediaRecorder : lorsque les applications web enregistrent de la vidéo via le navigateur (enregistrement d'écran, capture webcam), la plupart des navigateurs utilisent par défaut le format WebM.
Mise en perspective : YouTube à lui seul diffuse plus d'un milliard d'heures de vidéo par jour. La majorité est diffusée en VP9 WebM. Par temps de visionnage, WebM est sans doute le format vidéo le plus consommé au monde.
Prise en charge des navigateurs & appareils
La prise en charge de WebM varie selon le navigateur et l'appareil :
| Plateforme | Prise en charge WebM VP9 | Notes |
|---|---|---|
| Chrome | Complète | Depuis Chrome 29 (2013) |
| Firefox | Complète | Depuis Firefox 28 (2014) |
| Edge | Complète | Depuis Edge 79 (basé sur Chromium, 2020) |
| Opera | Complète | Depuis Opera 16 (2013) |
| Safari (macOS) | Complète | Depuis Safari 16.4 (mars 2023, macOS Ventura) |
| Safari (iOS) | Complète | Depuis iOS 16.4 (mars 2023) |
| Android | Complète | Depuis Android 4.4 (VP8 depuis 2.3) |
| TV connectées | Partielle | L'application YouTube utilise VP9 ; la lecture native varie selon le fabricant |
| Lecteur VLC | Complète | Multiplateforme, intègre les décodeurs VP8/VP9/AV1 |
En 2026, WebM VP9 est pris en charge par plus de 97 % des navigateurs web dans le monde (source : Can I Use). Le dernier grand retardataire était Safari, qui a ajouté la prise en charge de VP9 en mars 2023. Pour les développeurs web, WebM est désormais un format par défaut sûr pour la vidéo HTML5.
Structure technique des fichiers WebM
WebM est un profil (sous-ensemble) du format conteneur Matroska. Matroska (MKV) est un conteneur open source très flexible qui prend en charge pratiquement n'importe quelle combinaison de codecs. WebM restreint cette flexibilité à un ensemble spécifique de codecs ouverts :
- En-tête EBML : le premier élément de chaque fichier WebM, l'identifiant comme un document basé sur Matroska avec le DocType WebM. Il est analogue à l'atome
ftypdans MP4. - Segment : l'élément racine contenant toutes les données médias, organisées en clusters.
- Pistes : métadonnées décrivant chaque piste — résolution vidéo, fréquence d'images, ID du codec, fréquence d'échantillonnage audio et nombre de canaux.
- Clusters : groupes d'images vidéo et audio encodées avec horodatages. Chaque cluster contient généralement 1–5 secondes de média.
- Cues : un index de recherche pour l'accès aléatoire, similaire aux tables d'échantillons de l'atome
moovdans MP4.
Les fichiers WebM peuvent être configurés pour le streaming en plaçant l'élément Cues avant les Clusters (analogue au faststart dans MP4). Cela permet au navigateur de naviguer dans la vidéo sans télécharger d'abord l'intégralité du fichier.