Aller au contenu

WebM

Un article de Wikipédia, l'encyclopédie libre.
WebM
Logo du format WebM
Caractéristiques
Extension
.webmVoir et modifier les données sur Wikidata
Type MIME
video/webm, audio/webmVoir et modifier les données sur Wikidata
PUID
Signatures
1A 45 DF A3 (hexa)
1A45DFA3{0-32}4282847765626D4287 (PRONOM regex)Voir et modifier les données sur Wikidata
Développé par
Version initiale
Type de format
conteneur de flux vidéo et audio, gère les chapitres
Conteneur de fichiers
Basé sur
Spécification
Site web

WebM est un format de fichier multimédia ouvert, principalement destiné à un usage sur le web.

WebM Vidéo

Il s'appuie sur un conteneur dérivé de Matroska, et regroupe des flux vidéo codés en VP8 et des flux audio codés en Vorbis[1]. Ce format fait partie des formats vidéo proposés pour la balise <video> de HTML5[2],[3]. Il est amené à remplacer le premier format ouvert proposé, Ogg Theora, et fait concurrence au format fermé H.264.

Depuis , le format WebM est capable d'embarquer les successeurs vidéo et audio respectifs de VP8 & Vorbis que sont VP9[4] et Opus[5].

WebM est annoncé le par Sundar Pichai, chef produit du navigateur Chrome chez Google à l’occasion du Google I/O 2010[6]. Google, alors propriétaire du codec VP8 depuis le rachat de l’entreprise On2 Technologies, le libère :

  1. En publiant ses spécifications sous licence Creative Commons paternité (CC BY) avec une implémentation sous licence BSD[7] ;
  2. En accordant pour l’usage des spécifications[8] comme de l’implémentation[9] une licence d’exploitation des brevets qu’il détient ou pourra détenir pour tout usage — commercial ou non — qui sera fait de cette implémentation ou de toute autre mise en œuvre de la spécification. Cette licence est concédée à titre perpétuel, mondial, gratuit et irrévocable (sauf pour ceux qui tenteraient de revendiquer des brevets contre une implémentation de la spécification).

Le , Google annonce la création de WebP. C’est un format d’image utilisant la technique de compression des images clés du VP8[10].

Le format est géré lors de son annonce par une quarantaine d’acteurs, dont la Mozilla Foundation, Opera Software et Google[11]. Microsoft (IE9)[12],[13] et Adobe (Flash Player)[14] annoncent peu après leur intention de le prendre en charge également. Absent de la liste des premiers soutiens du format, Intel indique la semaine suivante que l’accélération matérielle pour WebM était étudiée, notamment dans le cadre de la télévision par Internet[15].

Google annonce par ailleurs l’utilisation de WebM dans la version HTML5 de YouTube (et à terme la disponibilité de tout le catalogue dans ce format)[16],[17].
Le , YouTube annonce que la Wii utilisera le format WebM avec une définition de 360p[18]. Ce format est préféré à cause de la capacité mémoire de la console, si la vidéo n'est pas codée dans ce format, YouTube proposera le format H263[19].

Le lecteur vidéo de Wikipédia et de la constellation Wikimédia peuvent lire le format WebM[20].

Le format est également pris en charge par certains constructeurs de matériel, dont AMD, ARM, MIPS Technologies et Nvidia.

Un groupement d'intérêt s'est formé pour défendre webM, sous le nom de l'accord WebM Community Cross Licence[21]. Les signataires sont au nombre d'une vingtaine, et s'engagent à ne pas engager de poursuites judiciaires à l'encontre de ce logiciel libre, à la manière de l'Open Invention Network.

La PS5 de Sony proposera dès sa sortie, l'enregistrement de l'écran en 4K au format WebM en plus du format MP4[22].

Matériels disponibles

[modifier | modifier le code]

Les SoC d’architecture ARM, RK29xx de Rockchip, présentés au CES en , sont les premiers à le supporter avec un décodage matériel complet[23].

Décodent également matériellement le VP8 et le Vorbis : les Tegra 2 et 3 de Nvidia et le OMAP 4 de Texas Instrument[24].

Toutefois, la question de la disponibilité des pilotes permettant d'exploiter ces fonctionnalités se pose[25]. En , le Nexus 5 - porte-étendard des téléphones Android - peut coder et décoder matériellement en VP8[26].

Mises en œuvre

[modifier | modifier le code]

WebM est supporté par le navigateur Google Chrome depuis sa version 6, Mozilla Firefox depuis sa version 4 et Opera depuis sa version 10.60. Les utilisateurs d'Internet Explorer dans sa version 9 et supérieure doivent installer l'application WebM Microsoft Media Foundation components [1] pour pouvoir lire ce format[27].

Les applications s'appuyant sur la bibliothèque multimédia GStreamer, comme le navigateur Web Epiphany, peuvent lire le format WebM du fait de la mise à jour de la bibliothèque.

Le lecteur multimédia VLC 1.1 supporte WebM[28].

Le système Android lit ce codec dans le format WebM depuis sa version 2.3[29]. La version 4.0 offre la possibilité de l'utiliser en flux de vidéo continu (streaming)[30]

Dans sa version HTML5, YouTube gère le WebM, et beaucoup de vidéos ont été déjà converties. Il suffit, pour l’activer, d’avoir un navigateur compatible, d’avoir activé la version, et les vidéos compatibles seront automatiquement lues avec WebM. Pour rechercher directement une vidéo WebM, il faut lancer une recherche et rajouter &webm=1 à la fin de l’URL de la page de recherche de vidéo, ce qui filtrera les vidéos WebM des autres.

Les outils suivants permettent de manipuler, coder ou optimiser des vidéos au format WebM :

  • logiciels en ligne de commande ;
    • la bibliothèque multimédia GStreamer (sous licence libre GNU LGPL) permet de coder et décoder au format WebM (à partir des versions GStreamer Good Plugins 0.10.23, Ugly Plugins 0.10.15 et Bad Plugins 0.10.19[31]), tout comme la collection de logiciels FFmpeg à partir de la version 0.6[32] (sous licence libre GNU LGPL),
    • MKVToolNix[33] (disponible pour Windows, MacOS, Linux et d’autres systèmes d’exploitation, sous licence libre GNU GPL, s’appuie sur les bibliothèques libebml et libmatroska publiées sous licence libre GNU LGPL), est un jeu d’outils dont mkvmerge qui vous servira à générer des fichiers WebM (à partir de la version 4.0.0),
    • mkclean[34] disponible sous licence libre BSD pour Windows, MacOS, Linux et d’autres, il peut générer un fichier WebM à partir d’un fichier Matroska qui contiendrait déjà une séquence codée en VP8 et en Vorbis, ou simplement d’optimiser votre fichier WebM (la taille de votre fichier sera éventuellement réduite, les non-conformités seront le cas échéant corrigées, et l’index sera placé en tête du fichier pour optimiser la lecture sur Internet),
    • mkvalidator[35] disponible sous licence libre BSD pour Windows, MacOS, Linux et d’autres, s’assure de la conformité d’un fichier WebM,
  • logiciels pourvus d’une interface graphique ;
    • mkvmerge, inclus dans MKVToolNix, vient avec une interface graphique,
    • il existe de nombreuses interfaces graphiques pour GStreamer (Pitivi, Transmageddon, Arista, etc.) et FFmpeg,
    • Miro Video Converter[36] (disponible sous licence libre GNU GPL pour Windows et MacOS) repose sur FFmpeg,
    • Firefogg, sous forme d’extension pour Firefox, repose sur FFmpeg[37],
    • Konvertor (gratuiciel sous Windows)
    • Handbrake (transcodeur open-source multiplatforme)
  • services en ligne ;
    • toute vidéo d’une définition au moins égale à 720p envoyée sur YouTube sera codée au format WebM[38]. D’autre part, toute vidéo pré-codée au format WebM et envoyée sur YouTube sera proposée par le site au format WebM à condition de ne pas utiliser les annotations vidéo ni l’option d’affichage des publicités[39].

Caractéristiques techniques

[modifier | modifier le code]

Les spécifications du format WebM sont figées, garantissant la compatibilité ascendante et descendante du format et des implémentations, mais cela limite par contre les améliorations pouvant être apportées à celles n’ayant pas d’impact sur le format.

Sur le plan légal

[modifier | modifier le code]
  • La MPEG-LA est un consortium d’industriels et d’éditeurs (parmi lesquels Microsoft et Apple), qui délivre des licences payantes pour le format vidéo H.264. La MPEG-LA a posé les premières pierres d’une bataille juridique à l’encontre de WebM (sous licence Berkeley Software Distribution (BSD)), en lançant un appel général le à tous les acteurs du domaine qui pourraient posséder au moins « un brevet essentiel » du format vidéo VP8 (VP8 étant le socle de WebM). Et ce afin de constituer « un réservoir de propriété intellectuelle » en vue d'ester en justice par la suite, contre WebM[40].
  • Dans un premier temps, Google a préféré minimiser l’importance de cette initiative, en rappelant que la MPEG-LA fait allusion à ce portefeuille VP8 depuis que WebM a été lancé. Puis Google a répliqué en en constituant à son tour une communauté de membres fondateurs, la WebM Community Cross-License (CCL)[41]. Chaque membre s'engageant d'une part à apporter à la communauté leurs brevets liés aux technologies WebM, et d'autre part à ne pas poursuivre les utilisateurs de ces technologies et brevets. La WebM Community Cross-License (CCL) comprend 17 membres, parmi lesquels des entreprises industrielles de semi-conducteurs, de hardware (indispensables pour intégrer le support de WebM dans les équipements et favoriser leur adoption) : Advanced Micro Devices, Cisco Systems, Google Inc, Hisilicon Technologies, LG Electronics, Logitech International S.A., Matroska, MIPS Technologies, Mozilla Corporation, Opera Software ASA, Pantech Curitel, Quanta Computer Incorporated, Samsung Electronics Co., STMicroelectronics (en nom propre ainsi que sa coentreprise à 50/50 ST-Ericsson), Texas Instruments, Verisilicon Holdings, Xiph.Org Foundation[42].
  • En , une partie des membres de la MPEG-LA signent un accord avec Google sur les brevets qu’enfreindraient WebM et le VP8[43]. Le fait que cela ne concerna pas la totalité des membres[44] laisse encore un risque juridique[45]. Google bascule une partie de ses services sur ce codec par la suite (vidéo conférence[46], streaming TV[47], smartphone avec accélération matérielle[26]). La WebM CCL a donc pour objectif d’empêcher la MPEG-LA de constituer un portefeuille de propriété intellectuelle qui lui serait opposable en cas d’action en justice.
  • Derrière cette bataille juridique de brevets entre un codec sous licence propriétaire, le MPEG-LA (H.264) et un codec sous licence libre le WebM (VP8), se trament les enjeux du futur codec vidéo intégré dans le HTML5 en 2014.
  • Un autre enjeu de cette bataille concerne les royalties et les restrictions d’utilisation du format H.264 en cas d'intégration dans le HTML 5, incompatibles avec les logiciels libres. En , la Free Software Foundation (FSF), a donc annoncé son soutien au format ouvert WebM[48].

Sur le plan technique

[modifier | modifier le code]

Si les choix du conteneur Matroska pour le multiplexage de la video et de l'audio, et celui du codec Vorbis pour l’audio n’ont pas suscité beaucoup de critiques, celui du codec VP8 pour la vidéo est le sujet de nombreuses discussions.

Si tout le monde s’accorde à reconnaître la supériorité de VP8 sur Theora (Theora étant une amélioration de VP3, prédécesseur de VP8), il est parfois mis en défaut face à son principal concurrent, le codec breveté H.264, notamment par Jason Garrett-Glaser, développeur de x264, une implémentation sous licence libre de la norme H.264[49]. Selon ce dernier, VP8 ne disposerait pas de certains algorithmes avancés présents dans H.264. En particulier, comme VP5 et VP6, VP8 effectue un codage arithmétique non adaptatif[49] qui, indépendamment de toute optimisation, ne pourrait permettre d’obtenir les mêmes ratios de compression qu’un codage adaptatif (mais qui peut être plus rapide).

Les comparaisons vis-à-vis du VP8 diffèrent selon les profils de la norme H.264 utilisés[50],[51],[45]

H.264, du fait de son ancienneté, bénéficie de plusieurs implémentations logicielles (dont certaines, comme x264, sont très performantes) là où VP8 n’en possède encore qu’une seule. Le codeur et le décodeur actuels sont plus lents que leurs équivalents pour H.264, mais VP8 n’a pas encore atteint ses limites en termes d’optimisation.

L’absence de support matériel pour le décodage de VP8, notamment par les plates-formes mobiles (quand le support de H.264 est courant) est également pointée du doigt, notamment par Apple. Toutefois, le nombre d’acteurs du marché soutenant le codec libre et les investissements faits par Google pour le support matériel de Theora sur ARM laissent envisager une résolution de ce problème à moyen terme.

Les développeurs du projet FFmpeg ont développé leur propre décodeur (ffvp8) fondé sur les spécifications de VP8[52] et ont obtenu, au moment de sa publication, des performances meilleures que celles de la bibliothèque de référence (libvpx)[53]. De même, il existe un décodeur développé en Java[54].

En 2012, Mozilla décide de ne pas utiliser gstreamer qui s'appuie sur FFmpeg car ils estiment que ce lecteur vidéo n'est pas aussi abouti que le lecteur vidéo interne de Firefox[55].

Google travaille à l’optimisation de la bibliothèque libvpx. Ainsi, la version 0.9.5 (nom de code : Aylesbury) est sortie le avec la promesse d’un codeur et d’un décodeur plus rapides et d’une meilleure qualité de codage[56].

Successeurs du VP8

[modifier | modifier le code]

Compte tenu de certaines limitations techniques du VP8, Google décide en 2011 de lui développer un successeur, également sous licence libre, le VP9.

L'un des buts du VP9 est de réduire le débit de 50 % comparé au VP8 tout en conservant la même qualité vidéo. Ce faisant, le VP9 obtient une meilleure capacité de compression que le H.265/HEVC6.

Au cours des années 2010, le VP9 a largement remplacé le VP8.

En 2018, Google a présenté le remplaçant du VP9, baptisé AV1. Celui-ci est un codec vidéo ouvert et libre de droits[57] conçu pour la diffusion de flux vidéo sur Internet et réseaux IP[58] avec de nouveaux gains en efficacité par rapport au VP9.

Notes et références

[modifier | modifier le code]
  1. (en) About the WebM Project, WebM Project
  2. « <video> », sur Documentation du Web - MDN (consulté le ).
  3. « HTML », sur whatwg.org (consulté le ).
  4. (en) « The WebM Open Media Project Blog : VP9 Lands in Chrome Dev Channel », sur webmproject.org (consulté le ).
  5. (en) Stephen Shankland, « Google's VP9 video codec nearly done; YouTube will use it », sur cnet.com, (consulté le ).
  6. I/O : Google libère le codec vidéo VP8, Guillaume Belfiore, Clubic, mercredi 19 mai 2010
  7. (en) Changes to the WebM Open Source License, WebM Project, 4 juin 2010
  8. (en) VP8 Bitstream Specification License, WebM Project
  9. (en) Software License, WebM Project
  10. (en) « WebP, a new image format for the Web », sur Blog Chromium, (consulté le ).
  11. (en) Google launches open WebM web video format based on VP8, Nilay Patel, engadget, 19 mai 2010
  12. (en) Another Follow-up on HTML5 Video in IE9, Dean Hachamovitch, The Windows Blog, 19 mai 2010
  13. (en) « : The Embed Audio element - HTML : HyperText Markup Language », sur microsoft.com (consulté le ).
  14. (en) Flash Player Will Support VP8, Michelle Perkins, Adobe Flash Platform Blog, 19 mai 2010
  15. (en) Intel eyes hardware acceleration for Google’s WebM, Agam Shah, ComputerWorld, 27 mai 2010
  16. YouTube se convertit au format ouvert WebM, LeMonde.fr, 20 avril 2011
  17. (en) YouTube videos now served in WebM, YouTube blog, 19 avril 2011
  18. « YouTube API Blog : Using WebM to power the YouTube app for Nintendo Wii », sur youtube.com via Wikiwix (consulté le ).
  19. « Home », sur gigaom.com, (consulté le ).
  20. (en) « Introducing Wikipedia's new HTML5 video player », sur Diff, (consulté le ).
  21. WebM : un accord autour de la licence d'exploitation, Clubic, Guillaume Belfiore, 26 avril 2011
  22. (en) « How to Capture and Record Video on Your PS5 - PlayStation 5 Wiki Guide - IGN » (consulté le ).
  23. (zh) 【瑞芯微】联合WebM发布RK29xx解决方案 sur imp3.net
  24. (en) Demo of WebM Running on TI OMAP 4 Processor, WebM blog, 15 octobre 2010
  25. (en) Message de Ralph Giles, Mozilla, liste de diffusion mozilla.dev.platform, 12 mars 2012
  26. a et b (en)https://plus.google.com/+WebRTCorg/posts/VXXwACq3wv6
  27. (en) How to Play WebM Video
  28. (en) VLC 1.1.0 What’s new?, VideoLAN
  29. (en)« Android 2.3 Platform Highlights », Android Developer, .
  30. (en) « Supported media formats / Android Developers », sur Android Developers (consulté le ).
  31. (en) GStreamer Good Plugins 0.10.23, Ugly Plugins 0.10.15, Bad Plugins 0.10.19 stable releases, GStreamer, 31 mai 2010
  32. (en) Realease Notes FFmpeg, juin 2010
  33. (en) News Matroska, MKVToolNix
  34. (en) mkclean, Matroska
  35. (en) mkvalidator, Matroska
  36. (en) Miro Video Converter, MiroVideoConverter.com
  37. (en) Extension Firefogg pour Firefox 3.5+, Firefogg.org
  38. (en) Easy Tricks for Finding WebM Videos in YouTube
  39. (en) YouTube and WebM transcodes
  40. (en) (MPEG-LA Announces Call for Patents Essential to VP8 Video Codec) released « Copie archivée » (version du sur Internet Archive)
  41. (en) (About the WebM Community Cross-License) released
  42. (en) (WebM Community Cross-License Members) released
  43. Un accord entre Google et MPEG-LA sur VP8
  44. (en)http://www.ietf.org/mail-archive/web/rtcweb/current/msg09169.html
  45. a et b (en)http://webrtchacks.com/webrtc-video-codec-discussion/
  46. (en)http://gigaom.com/2013/08/28/hangouts-hd-vp8-webrtc/
  47. (en)https://www.engadget.com/2013/07/31/marvell-flaunts-its-aramada-1500-mini-cpu-powering-chromecast/
  48. (en) Matt Lee, « Free Software Foundation statement on WebM and VP8 », sur fsf.org, (consulté le ) : « The Free Software Foundation supports the adoption of WebM and calls upon all browser developers to support WebM and Ogg, much like Mozilla and Google are already doing with Firefox and Chromium. ».
  49. a et b (en) Diary Of An x264 Developer, ason Garrett-Glaser, 19 mai 2010
  50. (en)http://webrtchacks.com/wp-content/uploads/2013/10/VP8-vs-AVC-Baselinev2.pdf The test was conducted by Vittorio Baroncini (MPEG’s test chair), as requested by MPEG [...] In 7/10 sequences tested VP 8 LD was clearly better than AVC constrained baseline.
  51. (en)http://www.ietf.org/mail-archive/web/rtcweb/current/msg09124.html
  52. (en) FFmpeg gets its own implementation of Google’s VP8 codec, Ryan Paul, ars technica, 29 juin 2010
  53. (en) « FFmpeg VP8 Decoder Implementation », sur WebM Project, (consulté le ).
  54. (en) Java VP8 Decoder, Sourceforge
  55. (en) « 794282 - Enable GStreamer in official builds », sur mozilla.org (consulté le ).
  56. (en) libvpx v0.9.5 (Aylesbury) released
  57. (en-US) « License », Alliance for Open Media,‎ (lire en ligne, consulté le ).
  58. (en) Christian Feldmann, « Multi-Codec DASH Dataset: An Evaluation of AV1, AVC, HEVC and VP9 », bitmovin,‎ (lire en ligne, consulté le ).

Articles connexes

[modifier | modifier le code]

Liens externes

[modifier | modifier le code]

Sur les autres projets Wikimedia :