Attention : la lecture de ce billet est probablement plus aisée sur sa page originale.

Récemment, j'ai eu une discussion passionnée vive intéressante avec un développeur talentueux sur l'utilité des nouvelles balises HTML5, à savoir <audio></> et <video></>. Lui n'en voyait pas vraiment. Or pour moi, qui produit l'un des plus vieux podcasts encore en activité, j'en vois une car elle permettra aux aveugles de se passer d'une lecture hasardeuse par une applet Flash™.

Au sein de l'équipe de normalisation WHAT-WG débatant du HTML5, il y a eu un combat, gagné par Apple, empêchant le support obligatoire d'un format unique, ouvert, open-source et surtout sans brevets par tous les navigateurs, le format Ogg. Tout ça parce que eux préfèrent vendre des iPod qui lisent le AAC. On va pas revenir sur les motivations plus économiques que logiques de cet industriel (et qui n'a pas pour vocation de faire de la philanthropie), mais dans les derniers brouillons de la norme HTML5, le W3 recommande toujours fortement le format ogg.

Open source : la révolution industrielle permanente

Ogg Theora (le codec vidéo basé sur le conteneur Ogg, et fille du Ogg Vorbis) est, comme tous les codecs Ogg une norme de décompression, pas de compression (à l'inverse du mp3, du H.264 et de tout MPEG, en fait). L'avantage technique : il et possible de mieux compresser sans avoir à changer les décodeurs.
Cela peut être anodin, mais cela signifie que l'évolution est continue et que si vous ré-encodez toute votre bibliothèque, vous n'aurez pas à garder les anciens formats pour des raisons de compatibilité, tous les lecteurs disponibles pourront les lire sans chichis.

L'autre avantage, c'est que le codec est libre, publié, et surtout sans aucun brevet ou demande de droits dessus.
Ce qui veut dire que n'importe quel groupe d'étude peut se pencher dessus et proposer des améliorations. Amener des idées neuves et en faire bénéficier tout le monde.

La news Slashdot du 8 Mai dernier avec ma traduction en Français, mon décryptage ensuite. D'abord, une définition du PNSR, sachant que dans la news, il est question de qualité objective. Ensuite, pour les pros de la vidéo, un petit tuto en Français sur comment tester une qualité PSNR.

«Theora devance H.264 en qualité objective PSNR»

Les hackers [de la fondation] Xiph se sont donnés du mal l'année dernière pour améliorer le codec Theora, leur dernière version a même doublé le codec h.264 dans les mesures de qualité objective PSNR. Citation de leur mise-à-jour : « Effet de bord amusant, la version de test du codec Thusnelda va même au-delà du h.264 en terme de qualité objective en augmentant les débits (“bitrates”). Il est important de noter que le PSNR est une analyse objective qui ne mesure pas exactement la qualité perçue, et les mesures PSNR ont toujours été très favorables à Theora. Voici justement des données sur une séquence. Ceci dit, il est clair que l'écart dans la structure fondamentale s'est réduit significativement avant même que le travail sur les réglages sur les détails subjectifs n'aient sérieusement été entâmés. ».

Le tournant va s'approcher à grands-pas avec une importante conférence Open-Vidéo en Juin, l'arrivée imminente de Firefox 3.5 et l'excitation d'une plus large adoption dans un des 4 sites les plus visités du web. On dirait que les codecs vidéos libres commencent à être une menace sérieuse sur le plan h.264 appâter-et-faire-payer qui prévoie de facturer des millions [de $] en 2010 pour la diffusion sur internet en stream.

Autre lien du communiqué : le blog d'un des dev de Xiph.

Codecs proprios : gelés dans le temps, redevances à payer

la balise <video></> dans Firefox comprendra par défaut le Ogg Theora. Safari, lui, restera bloqué en .mov, plus exactement en codec h.264. Seulement, qu'arrivera-t-il en 2010, quand les ayants-droits des brevets fondamentaux du h.264 vont commencer à faire payer chaque fichier encodé ?
Flash prépare le support du Theora, à côté du h.264, à la demande expresse de YouTube qui ne compte bien ne pas avoir à payer des royalties supplémentaires. Car YouTube n'est pas encore arrivé à la profitabilité, contrairement à Apple. Et payer d'autres royalties en plus de ceux de la musique en fond qu'on entend sur les premiers pas de bébés, ça commence à faire lourd.

J'ai toujours fait le pari du ogg vorbis par rapport au mp3, mais aussi par rapport au mp4/aac... Ce dernier format, comme expliqué là-haut, n'a pas l'agilité de l'évolution de son encodage. On est obligé de changer les décodeurs pour chaque nouvelle version ou application particulière (aac, aac+, aac+he, etc...). Chez mon ancien employeur, pour chaque téléphone portable qui avait sa version particulière du décodeur AAC, c'était autant de versions du même sonore à stocker pour chaque sonnerie/chanson/vidéo de portable. Je vous laisse imaginer le volume de données, et le nombre de documents spécifiques à produire pour chaque râle de Thomas Dutronc. Insupportable (les deux : le parolier néo-faciste, le gâchis de disques durs).
Le bond qualitatif des encodeurs ogg est plus que perceptible en dix ans, mais surtout continuera à progresser. Alors que je n'ai jamais eu besoin de mettre à jour mon iRiver iHP-140 acheté en 2002 pour lire mes nouveaux sonores produits via la dernière béta de l'encodeur en 2009.

HTML5 et OGG : un avenir sans nuages, sans blocages

Note importante
À partir d'ici, cette page utilise des techniques HTML5. Au moment de son écriture, le mieux pour le voir est d'utiliser Firefox 3.5 Béta 4 ou une béta d'Opera. Les autres verront le contenu via un player Flash, pour pas trop les frustrer.

Je pense qu'on va construire les pages avec vidéo embarquées comme suit :

  • une balise <video> avec ogg theora
  • une balise <object> appelant un player Flash™ qui lira du .flv encodé en une sorte de MPEG-1 (depuis Flash™8, le H.264 est parfaitement supporté , mais les royalties pourraient rebuter les sites à contenu). Rappel : n'utilisez plus <embed>
  • Un texte fallover avec une description de la vidéo pour les personnes déficientes et les moteurs de recherche, et qui permet de télécharger le ogg theora avec lien vers VLC.

C'est une technique équivalente que j'utilise pour mon podcast. Le mp3 reste pour les lecteurs traditionnels, le ogg vorbis est présent pour la qualité, mais désormais avec un plus baut débit (principalement dû au fait que nous ne pouvons plus enregistrer nos archives sur MiniDisc au studio de la radio). La popularité acquise par VLC lève l'obstacle de chercher un lecteur adéquat pour chaque plateforme. Celui-ci étant d"ésormais agnostique.
Pour l'instant, la page de garde du site supplementweekend.fr supporte déjà une construction similaire pour l'écoute audio de l'émission. Pour la vidéo, il faut que mon comparse Thomas se mettre à encoder du Ogg, et comme on a la 200ème ce week-end, va falloir patienter un peu avant la suite des travaux.

Un acteur majeur fait le pas

J'avais commencé l'écriture de ce billet en début de mois. Depuis, ça se bouscule plus vite que je le pensais car Dailymotion adopte le Ogg !
La performance n'est pas anodine : les Frenchies ont tout codé en HTML/SVG/aPNG/CSS/JS/DOM standard (attention, MSIE ne reconnait jamais complètement les standards) et réussi à obtenir une interface qui ressemble à celle que certains “professionnels” croient faisable uniquement en Flash™, mais avec une réactivité beaucoup plus impressionnante : la timeline réagit à l'image près ! Essayez vous-même !


Flander's Company S02 Ep06 - Motus
envoyé par peeweeprod

On ne va pas rajouter une couche à ce pauvre Flash, je l'ai déjà bien chargé, mais maintenant, il existe une sérieuse alternative, nettement plus agréable pour les visiteurs de sites webs.
Plus besoin de charger le code spécifique au Player Flash, pas besoin de mobiliser plusieurs dizaines de Mo pour lancer l'applicatif plugin Flash, et parfois les risques de crashs violent dans MSIE. C'est clair que les surfeurs avec Firefox 3.5 vont trouver le web nettement plus rapide.

L'intérêt est simple pour des sites comme Dailymotion : gagner de précieux Ko/page en se passant du player Flash, inciter le public à abandonner MSIE pour ne plus perdre de temps avec ce dinosaure, et ne pas payer le futur impôt H.264.

Ne faites pas ça à la maison !

Néanmoins, je déconseille tout développeur ou webmestre peu expérimenté de se lancer immédiatement dans l'aventure du HTML5. D'abord la norme n'est pas finalisée, et certains changements qui peuvent sembler anodins peut remettre en cause votre code. C'est justement mon cas dans un gros projet. Les balises <audio></> et <video></> semblent stabilisés, mais il manque dans les navigateurs comme Firefox 3.5beta le support d'une balise additionnelle fort utile : <source src="" type="" /> car il reste certains points à éclaircir.
Ensuite, il manque de nombreuses pierres à l'édifice. Par exemple, aucune DTD n'a encore été sortie pour permettre de produire du XHTML5. C'est même carrément pénible car je vais devoir m'en créer une, et qu'elle marche dans les validateurs.

Je déconseille aussi de tout miser sur le Ogg. Il y aura toujours MSIE qui aura impérativement besoin d'une verrue béquille en Flash, avant l'adoption du HTML5 prévue dans la version 14 qui sortira en 2034. Il y a aussi la position boudeuse d'Apple. Même si leurs parts de marchés sont moins significatives que Firefox, elle est quand même conséquente. Néanmoins, je vois mal les autres navigateurs sérieux payer des redevances pour supporter le AAC et le H.264.
Faisons le pari que les power-users Mac installeront Firefox ou l'extension Quicktime acceptant le Ogg, que les développeurs de navigateurs sur KHTML/WebKit (comme Konqueror, Epiphany, iCab et surtout Google Chrome) intègreront le code de libogg qu'Apple finira par reprendre parce que ça ne mangera pas de pain.

Dans ses dernières bétas, Opera a déjà choisi Ogg, et ne compte vraisemblablement pas supporter le mpeg4, quelqu'en soit la forme.

Parce que l'avenir du web, c'est ça.