HTML5 et video : H.264 VS Theora Round 2

Ce billet date de plusieurs années, ses informations peuvent être devenues obsolètes.

Faute de s'être entendus sur un codec commun, les fabriquants de navigateurs ont chacun fait un choix personnel : H.264, Theora ou les deux. On se retrouve dans une situation délicate dans laquelle le choix de la technologie d'encodage video est laissée aux gens qui diffusent le contenu.

État de l'art

Malgré la récence et la disparité du support de la balise video, YouTube a commencé son expérimentation de la balise HTML5 <video> en utilisant le codec H.264, suivi de près par Vimeo avec le même codec. Pour la petite histoire, Dailymotion expérimente depuis mai 2009 sur la base du codec Theora.

Tout le monde en parle...

Le choix par YouTube du format H.264 fait beaucoup parler. Pourquoi ? Mais je vais vous le dire :

  • parce qu'il n'y a pas eu de consensus sur le codec à implémenter de la part des fabriquants de navigateurs et que par conséquent vous ne pouvez pas (par exemple) visionner des videos sans Flash sur le site YouTube via le navigateur Firefox
  • parce qu'il existe un problème de brevet logiciel avec le codec H.264
  • parce que YouTube (Google) c'est le patron sur ce créneau avec plus de 80% des videos embarquées par les blogueurs en provenance de chez eux et 12.2 milliards de videos vues en novembre 2009

...mais surtout les Mozilliens...

Dans Video, Freedom And Mozilla on nous explique pourquoi Firefox n'implémente pas H.264 :

  • H.264 est breveté est son utilisation très encadrée par la MPEG-LA
  • Mozilla ne souhaite pas acheter une licence d'utilisation par principe (copyleft...)
  • H.264 est breveté jusqu'en 2017
  • il y aurait peut-être à l'avenir des complications pour les auteurs et les fournisseurs de contenu, pas seulement pour les fabriquants de navigateurs

Et dans HTML5 video and H.264 [...], un post (trop) long et heureusement amputé, dans lequel l'auteur :

  • mesure le progrès de la video sur le web : après Real Media, puis l'<embed> via Windows Media ou Quicktime, puis Flash, on commence à passer à la video native
  • souligne le caractère propriétaire du codec H.264
  • compare la situation aux épisodes des formats GIF et MP3
  • pense que Theora et Vorbis sont des formats entièrement libres de droits, sans coûts cachés et qu'ils répondent aux critères de qualité nécessaires pour en faire le standard pour la video sur le web
  • suppute le choix du H.264 par Google comme n'étant pas définitif
  • affirme que Theora peut faire aussi bien que H.264 en pratique (mais pas en théorie !)

Et donc ?

La philosophie de Mozilla est bonne, rien à dire là dessus même si certains arguments de Christopher Blizzard sont exprimés de façon maladroite. On est manifestement encore une fois face à un problème de brevet logiciel, le genre de problème qui rend impossible de se passer d'un avocat et/ou de payer pour une licence d'utilisation. Mozilla a raison de se battre sur ce point.

Pourtant H.264 est déjà implémenté dans Chrome, dans Safari, dans l'iPhone... et YouTube a l'aura pour orienter le marché. Opera arrive bientôt dans la course et mise sur Theora. Toujours pas de support de la video native prévu dans IE.

Avec des "si"

La video native sur YouTube en H.264 via la balise <video> en est encore au stade du test et certains pensent que les choses pourraient changer.

Pour l'instant Mozilla peut se permettre de ne pas implémenter ce codec dans Firefox. Mais si Microsoft se décidait pour H.264 ou si Chrome suite à son offensive commençait à prendre une part de marché trop importante, alors Mozilla finirait par intégrer H.264 dans Firefox en plus de Theora.

En attendant le vecteur principal de diffusion de la video sur le web reste Flash. Le combat pour le choix du codec de la video native a commencé. Mais les brevets sur les formats GIF et MP3 n'ont jamais empêché leur adoption à l'échelle planétaire, ni leur implémentation dans les navigateurs.

#1 oskar

26/01/2010 09:30

Salut Marco,

Tu vas bien ? Excuse-moi mais je ne comprends pas pourquoi un navigateur doit implémenter un codec ? N'est-ce pas là le rôle des plug-ins, genre perian ou celui de vlc de décoder les vidéos qui s'animent dans nos navigateurs.

Si tu pouvais m'expliquer un brun, je me coucherai ainsi moins con les prochaines nuits.

Merci, à bientôt.

#2 Kemar

26/01/2010 13:05

@oskar salut :)

Ils veulent se passer des plug-ins pour pouvoir se passer d'un intermédiaire le plus souvent propriétaire (DirectShow ou QuickTime) car l'audience des solutions open-source (Perian...) est limitée, pour simplifier les choses pour les non informaticiens (pas besoin d'installer un logiciel supplémentaire), pour faciliter l'implémentation dans les navigateurs et limiter les risques de sécurité.

Tu peux lire la position de Mozilla à ce sujet : http://weblogs.mozillazine.org/roc/archives/2009/06/directshow_and.html

#3 Vince

28/01/2010 18:19

VLC lit bien du H264 via une implémentation open source du H264. Pourquoi un navigateur ne pourrait-il pas en faire de même ?

Sinon Google a racheté On2 qui a développé un codec vidéo (propriétaire) qui est performant (VP7) pourquoi ne pas l'intégrer la technologie dans Chrome ?

Le format Ogg pour faire de l'audio opensource n'a pas vraiment abouti non plus... Que dire de théora...

Bref, tout cela est bien difficile à comprendre.

#4 Kemar

28/01/2010 21:19

@Vince ouais VLC lit bien du H.264 et l'encode via x.264 mais j'ai pas tout capté, je crois qu'il y a une astuce juridique qui consiste à distribuer le logiciel depuis l'Europe plutôt que depuis les États-Unis.

On en parle ici dans les commentaires : http://news.ycombinator.com/item?id=1070780

Enfin bref, c'est davantage une position idéologique anti-brevets de la part de Mozilla qu'une contrainte technique. Et ils ont raison :)

Avant Auto-entrepreneur, l'enfer de l'administration Après Notes à propos de virtualenvwrapper avec MacPorts

Tag Kemar Joint