Video for Everybody!, lecture de vidéos avec HTML5 ou pas

La bataille concernant la vidéo est en train de faire tanguer le monde du libre, comment afficher une vidéo avec une résolution et un débit convenable sans restreindre la diffusion à tel ou tel navigateur.

Si vous avez suivi les commentaires (off) de Steve Jobs : Flash a un taux de pénétration du marché très important (98%) sur les machines utilisateurs (donc on diffuse de la vidéo dans un lecteur flash sans souci de format de la vidéo) ; mais flash fait travailler votre processeur à fond les ballons et donc ralentit votre machine.

L'arrivée d'HTML5 sur les plus gros navigateurs du marché permet de se passer des lecteurs en flash. Sauf qu'en passant par HTML5, la lecture de la vidéo dépend des codecs (codeurs-décodeurs) présent sur votre machine. On peut se passer d'un lecteur Flash, mais il faut que le navigateur ait le droit de lire ces codecs.

A ce propos, Firefox et Opéra ont choisi de lire des codecs libres (ogg), pas très performants. Google (chrome) et Safari (apple) permettent la lecture de h264 qui n'est pas libre mais dont ils ont les brevets (malins les américains, pas evil mais presques).

Par la fermeture de format, Apple attaque, non seulement Adobe et le plugin flash, mais aussi Mozilla et les navigateurs Libres. C'est vraiment pas bien du tout.

Les développeurs HTML pour le moment comment qu'on fait. Pour avoir un aperçu, une solution possible, il faut visiter cette page : Video for Everybody!.

Video for Everybody is simply a chunk of HTML code that embeds a video into a website using the HTML5

Video for Everybody! propose un système de fall back ; en français, ça veut dire que quand un média ne passe pas (pas compatible), on en lit un autre par défaut. Il est possible de le faire plusieurs fois, en cascade.

Pour la vidéo, le fallback est ainsi fait :

  1. Si j'ai Firefox (>3.5) ou Opera, je lis la balise
  2. Si j'ai chrome ou safari, je lis la balise
  3. Si mon navigateur ne peut pas lire HTML5, et que quicktime est installé, je lis le fichier avec quicktime
  4. Si mon navigateur ne peut pas lire HTML5, et que quicktime n'est pas installé, je lis le fichier dans un player flash

Si tu n'a pas quicktime, pas flash et pas HTML5, tant pis pour toi. A part ça, on notera deux avantages :

  1. Pas de pages spécifiques à visiter pour voir une vidéo, on lit la vidéo quel que qoit son navigateur
  2. Pas de détection de navigateur avec JavaScript, qui est lourd et pas beau

Mais elle présente deux soucis.

  1. Le code est un peu long à implémenter, pas facile de s'y retrouver
  2. L'éditeur doit compresser ses vidéos dans les deux formats que sont ogg et mp4 (h264)

Video for Everybody! propose un code prêt à l'emploi pour afficher de la vidéo à tous les visiteurs de votre site. Cependant, il ne résout pas le problème de fond concernant la nécessité d'avoir une vidéo encodée dans deux formats différents. Oui, les brevets c'est n'importe quoi, c'est pas écolo.