[center][/center]
Google a annoncé lors de la conférence d’ouverture de Google I/O 2010 qu’ils distribueraient VP8, le dernier codec d’On2 récemment acquis, de façon libre de droit. Petit bonus et pas des moindres, VP8 est aussi maintenant open source. Tout ceci se fera dans le cadre du projet WebM dont Mozilla et Opera sont aussi parties prenantes. Bref c’est l’avènement probable de la vidéo libre sur internet que beaucoup appelaient de leurs voeux.
Aussi surprenant que cela puisse paraître, Adobe joue le jeu en adhérant à WebM et a même indiqué que VP8 serait prochainement intégré à Flash. Microsoft est un peu en reste puisqu’ils viennent d’annoncer qu’IE9 supportera VP8 mais seulement en loucedé. Comme pour Theora, il faudra installer soi-même le codec. Position très certainement motivée par les manques de légitimité de certains brevets. La seule grande inconnue reste Apple. Mais maintenant que Steve Jobs s’est positionné comme grand défenseur des standards ouverts sur le web, je vois mal comment Apple pourrait ne pas adopter WebM. L’argument de mauvaise foi d’un surplus d’ingénierie ne tenant pas car Google fera tout le boulot à leur place dans WebKit.
Edit: Quelqu’un aurait envoyé un courriel à Steve Jobs pour connaître sa position. Sa réponse fut comme à son habitude succincte. Il s’est contenté mettre un lien vers le billet de Jason Garrett-Glaser. (cf. plus bas) Je doute qu’on puisse compter sur le soutien d’Apple.
Laissons un peu de côté les guerres de paroisse ou d’idéologie et résumons l’idée : un standard vidéo libre et ouvert vient de voir le jour. Standard car dans le monde du web quand Google (donc YouTube), Mozilla, Opera et Adobe (donc Flash) supportent un codec open source cela devient de facto un standard. C’est bien, très bien même. Cela permettra à tous les webdevs d’avoir l’esprit tranquille lorsque se posera la question de la vidéo dans leurs sites. La question sera peut-être bientôt un non problème au même titre que les images. Le couple HTML5/WebM prend nettement l’avantage sur les autres. Surtout que l’implémentation dans Flash permettra d’avoir une transition en douceur.
Bref pour l’instant rien que du bon.
[center]Que vaut WebM comme standard ?
[/center]
[center]WebM = VP8 + Vorbis + Matroska[/center]
Question qui mérite d’être posée car standard n’est pas obligatoirement synonyme de qualité. Pour preuve, l’arrache et le pifométrique sont aussi à leurs manières des standards de l’industrie informatique. Si je vous en parle ce n’est pas anodin.
Bien sûr je n’ai pas les compétences suffisantes pour juger de la qualité du format. Mais d’autres les ont à ma place. La meilleure réponse que j’ai pu lire à ce sujet c’est celle de Jason Garrett-Glaser, un développeur de x264. Puisqu’il est à la fois pro open source et pro H.264, sa réponse est à prendre en considération. Et le moins que l’on puisse dire c’est qu’elle est contrastée :
[quote]Summary for the lazy:[ul]
[li]VP8, as a spec, should be a bit better than H.264 Baseline Profile and VC-1. It’s not even close to competitive with H.264 Main or High Profile. If Google is willing to revise the spec, this can probably be improved.[/li][li]VP8, as an encoder, is somewhere between Xvid and Microsoft’s VC-1 in terms of visual quality. This can definitely be improved a lot, but not via conventional means.[/li][li]VP8, as a decoder, decodes even slower than ffmpeg’s H.264. This probably can’t be improved that much.[/li][li]With regard to patents, VP8 copies way too much from H.264 for anyone sane to be comfortable with it, no matter whose word is behind the claim of being patent-free.[/li][li]VP8 is definitely better compression-wise than Theora and Dirac, so if its claim to being patent-free does stand up, it’s an upgrade with regard to patent-free video formats.[/li][li]VP8 is not ready for prime-time; the spec is a pile of copy-pasted C code and the encoder’s interface is lacking in features and buggy. They aren’t even ready to finalize the bitstream format, let alone switch the world over to VP8.[/li][li]Google made the right decision to pick Matroska and Vorbis for its HTML5 video proposal.[/li][/ul][/quote][quote]Résumé pour les flemmards : (traduit à l’arrache)[ul]
[li]VP8, en tant que spec, devrait se situer un poil au dessus de VC-1 et du profil bas de H.264. Par contre elle est larguée par rapport aux profils normal et haut de H.264. Si Google est prêt à revoir sa spec, cela devrait pouvoir s’améliorer.[/li][li]VP8, en tant qu’encodeur, se situe en termes de qualité d’image quelque part entre XviD et le VC-1 de Microsoft. Cela pourrait très nettement être amélioré, mais pas de façon conventionnelle. (note de traduction: Comprendre du gros hack/patch qui tâche.)[/li][li]VP8, en tant que décodeur, est encore moins performant que le décodeur H.264 de ffmpeg. La marge de progression dans ce domaine est sans doute assez mince.[/li][li]Du point de vue des brevets, VP8 est par certains aspects bien trop ressemblant à H.264 pour que quiconque avec un tant soit peu de raison se sente à l’aise à l’idée l’utiliser. Et ce malgré toutes les déclarations de bonnes intentions qui nous promettent que c’est sans risque de conflit de brevet.[/li][li]VP8 est de loin un choix bien plus sage par rapport à Theora et Dirac. Donc s’il tient sa promesse de rester en dehors de tout problème de brevet, VP8 marquera un réel progrès dans le domaine des formats de vidéo libre.[/li][li]VP8 n’est pas encore prêt à déployé largement. La spec n’est qu’un assemblage de copier/coller de bouts de code en C. De plus il manque certaines fonctionnalités à l’interface de l’encodeur qui en plus est boguée. Ils ne sont même pas prêts de finaliser le bitstream, et encore moins le mettre là disposition au monde entier.[/li][li]Google a fait le bon choix en prenant Matroska (encapsuleur) et Vorbis (codec audio) pour son format vidéo HTML5.[/li][/ul][/quote]Je vous conseille fortement de lire son billet en entier. Cela reste très instructif même si, comme moi, vous êtes une bille dans le domaine. Ne serait-ce que pour votre culture geek et les quelques passages croustillants.
J’en ai retenu que les fondations du codec ne sont pas très solides et que Google était tout de même prêt à passer en force. Ça sent le rush à plein nez, parfois même frisant l’amateurisme et l’à peu près. Par exemple la spec est une sorte de brouillon pondue à l’arrache. Cela ne veut pas dire que le format ou ce qui va en être tiré est mauvais, il n’y a pas de corrélation. Mais clairement cela fait tâche.
VP8, au moins sur le papier est clairement en deçà de ce que peut proposer H.264. Sur le papier. Car le consortium WebM compte en son sein beaucoup d’entreprises de hardware et de middleware qui chacune auront à coeur d’optimiser leurs solutions pour VP8. On ne peut qu’être rassuré par la présence d’AMD, ARM, Broadcom, Nvidia et plein d’autres. D’ailleurs le récent chèque de Google pour soutenir le projet d’optimisation de Theora sur la plateforme ARM prend ici tout son sens. Et quand bien même VP8 n’est pas aussi performant que H.264, vous savez quoi ? Ce n’est pas grave. Le but c’est de disposer d’un format moderne et libre de vidéo. Ce qu’il est. La guerre entre VHS et Betamax nous a appris que ce n’est pas toujours le meilleur format qui gagne.
[center]La Guerre de brevets.
[/center]
Mais parmi tous ces problèmes c’est l’aspect conflit de brevets qui de loin me préoccupe le plus. Car dans la liste des entreprises qui font partie de WebM ce qui m’a le plus sauté aux yeux ce sont les absents de marque.
Dans cette liste des absents, on trouve :[ul]
[li]quelques très grands équipementiers en télécommunication (Cisco, Ericsson, Nokia, Siemens) sans qui l’optimisation des flux dans le réseau sera très difficile,[/li][li]les grands conglomérats japonais (Hitashi, Mitsubishi, Panasonic, Sharp, Sony) qui verrouillent tous les brevets de la vidéo depuis des années,[/li][li]leurs petits frères coréens (LG, Samsung) qui commencent à faire de même,[/li][li]3 grands acteurs (Apple, Intel, Microsoft) sans qui rien ne se fait en informatique[/li][/ul]Cette liste n’a rien de surprenant quand on sait que 90% de ces entreprises sont les membres de la MPEG LA qui gèrent les droits de H.264. Mais tout n’est pas aussi simple que cela.
Prenons par exemple Microsoft. Ils possèdent quelques brevets sur H.264 qui leur rapportent un peu d’argent. Cependant il est de notoriété publique que les licences H.264 qu’ils ont acheté leur coûtent plus cher que ne leur rapportent leurs brevets. D’où une position très ambigüe sur le sujet. En ayant un pied dans chaque camp, Microsoft sait très bien combien leur coûte H.264. Mais leurs récents déboires avec HD-DVD et VC-1 leur ont aussi ouvert les yeux aux risques monstrueux qu’il y avait à proposer une technologie alternative. Le fait qu’elle soit libre ajoute une difficulté supplémentaire. Le socle de brevets sur lesquels on peut se reposer n’existe pas. Pire il appartient en grande partie aux grands groupes japonais qui n’ont jamais fait de cadeaux en la matière.
[center]Où va Google ?[/center]
Mais d’ailleurs quel est l’avantage pour Google de se lancer dans telle guerre ? Pourquoi mettre la main dans ce qui de toute évidence ressemble à un panier de crabes ? La réponse n’est pas claire mais j’ai ma petite idée sur la question.
Google se sert de la balise de HTML5 comme d’un appeau pour amener tout le monde à basculer au plus vite vers HTML5. Pourquoi ? Que ça soit par le biais de leurs pubs, de leurs magasins d’application ou leurs services d’hébergement et de développement, Google a intérêt à ce que nous utilisions toujours plus internet. Et pour ça HTML5 est un point de passage obligé. En outre Google a bien compris que était LA fonction sexy d’HTML5. Celle qui allait pousser des milliers de développeurs web à passer le pas. Ils ont aussi compris le gros point de blocage que représente le flou artistique au niveau des codecs. Et comme à leur habitude, Google met les pieds dans le plat pour faire sauter un à un les obstacles qui se trouvent sur le chemin du cloud computing. La liste est longue : Le projet Chromium (c.-à-d. Chome & Chrome OS), Google Android, Google Fiber, Google Public DNS, Google SPDY, Google Cloud Print, Google Go, etc. D’ailleurs si vous observez bien, toutes leurs annonces récentes vont dans ce sens. « Il y a un blocage quelque part, pas grave voici notre solution. Elle est au pire gratuite, au mieux open source et libre d’utilisation. Maintenant vous n’avez plus d’excuse pour ne pas plus utiliser internet ! »
Maintenant qu’on se le dise, ça sera c’est la guerre. Et il y aura du sang. Le MPEG LA ne se laissera laisse pas faire facilement. (Ça a déjà commencé, la MPEG LA est déjà en train de réunir un pool de brevets pour préparer une attaque en règle) Et tout puissant que soit le grand Google, je ne donne pas cher de sa peau. Bien qu’au plus profond de moi je souhaite de tout coeur qu’ils réussissent.
Et vous savez ce qui est le plus drôle dans l’histoire ? C’est que Google vient d’annoncer dans le lancement de Google TV, entre autres, en partenariat avec Intel et Sony. 2 grandes sociétés qui précisément ne font pas partie du projet WebM.
Pour aller plus loin :
[ul]
[li]Pour faire un peu mumuse avec WebM, suivez ces instructions. Sachez d’ailleurs que la preRC de VLC v1.1.0 supportant WebM vient de sortir. (Win32 only)[/li][li]Zorgloob s’est amusé à faire quelques statistiques de comparaison H.264/VP8 sur des vidéos de YouTube.[/li][li]Google Watch Blog a une image de comparaison visuelle entre Flash/H.264/VP8.[/li][li]Les saisies d’écran qu’a réalisé Jason Garrett-Glaser :[list][/li][li]VP8 (On2 VP8 rc8) (vidéo source)[/li][li]H.264 (Recent x264) (vidéo source)[/li][li]H.264 Baseline Profile (Recent x264) (vidéo source)[/li][li]Theora (Recent ptalabvorm nightly) (vidéo source)[/li][li]Dirac (Schroedinger 1.0.9) (vidéo source)[/li][li]VC-1 (Microsoft VC-1 SDK) (vidéo source)[/li][li]MPEG-4 ASP (Xvid 1.2.2) (vidéo source)[/li][/ul]
[li]Pour mieux saisir les problématiques des spec en informatique, je vous conseille de googler Daniel Glazman, Co-Chairman du CSS working group au W3C, et de visionner l’une de ses interventions. Le sujet n’est pas identique, mais la problématique reste la même. Pour les plus feignants, celle-là est bien et en Français.[/li][li]Les premières critiques de l’analyse de Jason Garrett-Glaser commencent à poindre.[/li]Principal grief : on ne peut pas comparer VP8 avec les profils optimisés de x.264 car ils dépendants de certains matériels. Par exemple les vidéos ainsi encodées ne fonctionnent pas sur l’iPhone. De plus x264 représente en quelque sorte l’état de l’art en matière d’encodeur avec plusieures années de développement derière lui. Le comparer avec un qui vient tout juste de sortir n’est pas “juste”.
Sur le plan des attaques de brevet, Gregory Maxwell affirme que Jason n’y connait rien et que blabla. Chose à prendre avec des méga pincettes vu que le type semble être un croisé du libre.
[li]Pour en savoir un peu plus sur H.264, combien coûte les licences et qui a le plus de brevets, je conseille de lire le billet d’Ed Bott sur ZDnet. Attention, c’est en 2 parties.[/li][/list]
Credit Photographique
Google logo render, cc Mark Knol : http://www.flickr.com/photos/markknol/2568436053/
Standing up to a patent bully, cc opensourceway : http://www.flickr.com/photos/opensourceway/4598624005/
Edit v1.1 : Ortho + ajout de liens
Edit v1.2 : Ajout réponse de S. Jobs
Edit v1.3 : Paufinage + ajouts de liens dans la partie “Pour aller plus loin”