WebM, VP8, Theora et Vorbis
L’objectif de ce billet est déclaircir un peu les choses à propos des nouveaux formats dont on parle de plus en plus. J’espère qu’il vous sera utile, il l’est pour moi. Lets go.
WebM (.webm) est un conteneur vidéo très proche du format Matroska (.mkv) conteneur vidéo libre de haute qualité. WebM a été annoncé lors du Google I/O 2010. Un autre excellent conteneur très connu est Ogg (.ogv).
Ce qui est important c’est que WebM sera supporté nativement (sans plug-ins) par Chromium, Google Chrome, Mozilla Firefox et Opera. De plus, voici un billet d’Adobe annonçant que Flash supportera également WebM (maintenant pensez à Google TV. Pour le moment H.264 est conseillé en cas d’utilisation de Flash 10.1).
Dans un conteneur, on retrouve généralement des codecs, audio et vidéo. Parfois des sous-titres. WebM utilise pour la vidéo VP8 et Vorbis pour laudio.
VP8
Pour expliquer ce quest le VP8 il faut revenir au codec VP3. VP3 est un format vidéo de compression à perte assez performant. Appartenant initialement à la société On2. En juin 2002, On2 a gracieusement cédé VP3 à Xiph.org Foundation. Le codec vidéo Theora est ainsi basé sur VP3. Theora peut être embarqué dans n’importe quel conteneur, vous le verrez souvent dans du Ogg. Firefox 3.5 supporte nativement Theora avec le conteneur Ogg. VP8 est un autre codec vidéo dOn2 plus évolué que VP3 et de qualité similaire à H.264. Le codec vidéo VP8 est plus évolué que Theora.
Depuis le 18 mai 2010 (19 heures 13 minutes 19 secondes précisément ;-)) les spécifications de VP8 sont disponibles ainsi qu’un exemple de décodeur/encodeur (l’annonce dAdobe date du 19 mai 2010). Google a acquis ce format à coup de millions et a placé son code sous licence BSD. Merci Google (cependant il reste quelques brevets, héritage d’On2).
Vorbis
Vorbis est la partie audio de WebM. Il s’agit donc d’un codec. Souvent retrouvé dans des fichiers Ogg. (Personnellement, j’utilise exclusivement ce format pour ma musique depuis au moins trois ans. Et avec Android, c’est parfait. Il me manque un décodeur Vorbis dans la voiture…). Bref, ne dites plus jamais Ogg Vorbis, techniquement cela n’existe pas. Firefox 3.5 supporte nativement Vorbis avec le conteneur Ogg. Android également.
Les Linuxiens connaissent très bien le décodeur ffmpeg supportant Vorbis. À ce point on comprend qu’il va être possible de générer des fichiers WebM avec ffmpeg. ffmpeg est multi-plateformes et sous licence LGPG/GPL. C’est génial. Vorbis est à présent contenu dans Ogg, Matroska ou WebM.
Donc si comme moi vous utilisez depuis longtemps exclusivement le format Vorbis pour l’audio, il sera simple d’obtenir des fichiers audio WebM sans ré-encodage ni perte (ayant compris ce que vous venez de lire ci-dessus). Voir ce billet. Pour des fichiers vidéo WebM on peut ainsi simplement utiliser ffmpeg.
Comme ci ce n’était pas assez, voilà WebP (prononcez weppy !).
Google a annoncé WebP le 30 septembre 2010. Il s’agit d’une
méthode de compression. Ce sont des images basées sur celles du VP8 (codec vidéo)
dans un conteneur RIFF (vous connaissez bien les fichiers .wav). (Je ne sais pas
si l’objectif de WebP est de concurrencer frontalement JPEG pour la photographie. Je
n’ai pas l’impression. Je pense que WebP est vraiment là pour améliorer les connections,
faciliter le chargement des pages pour les terminaux mobiles, Google Chrome OS et autres
nouveaux petits appareils. Cependant WebP semble avoir une meilleur compression que
JPEG, surtout pour les petites images. Les sites utilisent pratiquement que des petites
images. Voici une intéressante galerie de comparaison WebP/JPEG. En tout cas si
WebP devait concurrencer JPEG pour la photographie, je suis pour WebP maintenant que je
comprends un peu mieux ce qu’il y a derrière).
Pour le moment le canal alpha (pour la transparence) n’est pas encore supporté. (Je pense que rien que pour bouger les choses il serait bien que WebP fasse un peu trembler le JPEG (ici le Joint Photographic Experts Group). De la même manière que WebM a fait un chouilla bouger H.264. Un chouilla.
Conseils de lecture pour approfondir: