Mozilla continue sa période de promotion de pré-lancement de Firefox 3.5 avec un argument de taille : la vidéo nativement intégrée, en HTML5.
Comme d’habitude, à les écouter on pourrait croire qu’ils sont les premiers et à la limite, qu’ils ont inventé le concept (un peu comme pour l’Awesome Bar, repompée sur Opera. Ou la navigation privée, repompée sur Safari. Ou… bref, c’est une habitude).
Le problème, c’est que la vidéo dans Firefox, on s’en fout un peu et ceci pour une raison simple : le choix de ne supporter que du OGG.
OGG c’est super, c’est libre. Forcément, c’est un sacré avantage.
Mais il a aussi de sacrés inconvénients :
- ce n’est pas un standard du monde de l’imagerie
- il n’est pas de bonne qualité
- ce n’est pas un standard informatique installé
Le premier est plutôt problématique, car il signifie qu’on va devoir réencoder à coup sûr en OGG, même les sources déjà compressées. Et qui dit encodage dit perte de qualité. Mais soyons honnête, on recompresse très souvent de toute façon, ne serait-ce que pour mettre à l’échelle et changer le bitrate.
Le second devrait évoluer rapidement, et Mozilla finance son amélioration. Là j’ai envie de troller un petit peu au passage, je dois dire, mais je vais me retenir pour éviter de dévier.
Le troisième est le problème majeur, parce qu’il retient fortement les développeurs de choisir le OGG.
Le marché des navigateurs est assez simple : IE domine encore et ne supporte pas la vidéo en natif. Firefox est un second solide et supportera le OGG. Safari est un troisième non négligeable et il supporte tous les formats supportés par QuickTime.
Ajoutons à cela le marché des navigateurs mobiles, en forte expansion : l’iPhone représente la majorité du surf et inclus Safari, le second voir même le premier sera dès l’année prochaine Android qui va s’installer sur un grand nombre de marques et de modèles, et propose Chrome, donc un autre navigateur WebKit. Mais sans QuickTime.
Pour le reste, il y a du Opera mini qui supporte peut-être la vidéo comme son grand frère mais dont on se fiche un peu puisqu’il va perdre sans cesse du terrain, et IE qui est aussi appelé à perdre des parts de marché et qui ne fait pas grand chose de toute façon.
Donc : soit on fait du OGG et on ne s’adresse qu’à Firefox et Opera, et éventuellement à Safari en expliquant aux utilisateurs comment ajouter le codec OGG (ah ah ah) et il faut faire une version Flash pour les autres, soit on fait un lecteur Flash pour lire du H264 et on peut faire un lecteur standard pour Safari et Chrome desktop… et l’iPhone.
D’un autre coté, Mozilla va sortir Fennec, et il supportera probablement le tag video, tout comme Opera mini.
Les téléphones sous Android n’auront pas QuickTime donc pas de H264, et Linux non plus d’ailleurs, donc pour lui le OGG est tout désigné… ou le Flash puisqu’il existe déjà.
Ou bien on bouffe deux fois plus d’espace disque, deux fois plus d’encodage et on fait du OGG et du H264. Ou 3X et on ajoute le FLV : chaque plate-forme son fichier : c’est beau les standards du web, j’vous l’dit !
Pour finir de rigoler, parlons des possibilités et des performances :
- Firefox 3.5 permet plus de choses que Safari,en permettant d’accéder aux informations bitmap de la vidéo. Safari ne le proposera que plus tard, sans qu’on sache trop quand.
- Par contre, Firefox 3.5 est incroyablement gourmand en CPU, même en idle, dès qu’une vidéo est intégrée à la page. Autant vous dire que les pages avec plein de vidéos qui s’enchaînent vont par contre déchaîner les ventilateurs, et effrayer les portables.
De plus son algorithme de streaming est vraiment nul. Enfin était, il paraît qu’il y a eu du progrès récemment mais on partait de très, très loin.
De son coté, Safari est économe en CPU, a déjà un streaming excellent et va avoir un streaming adaptatif de folie avec Quicktime X, et ce sans avoir de serveur de vidéo dédié : idéal pour la diffusion autant HD que dans des conditions difficiles de mobilité.
Alors que les premiers retours de Fennec que j’ai pu voir indiquaient que le navigateur était plutôt lourd. Et puis je ne sais pas quand il va sortir mais s’il faut attendre autant que pour FF3.5, c’est pas pour tout de suite.
“Alors, tu tournes autour du pot mais qu’est-ce qu’on fait, du coup ?”, me demanderez-vous.
Pour le moment, je dirais :
- du H264 avec un javascript qui affiche un player HTML5 pour Safari et iPhone, un lecteur Flash pour les autres
- un fallback vers un tag vidéo HTML5 dans le noscript si on n’a pas d’Opera ni de Firefox dans la chaine de l’agent des headers HTTP (à voir…)
- un fallback video vers une image de preview et un lien de téléchargement du fichier vidéo.
Mais si vous avez de l’espace disque et du CPU en trop :
- deux version de la vidéo, détection javascript du navigateur pour afficher le player adéquat
- un fallback vers un tag vidéo HTML5 dans le noscript avec la vidéo H264 comme source si on a Webkit dans la chaine de l’agent des headers HTTP, le OGG sinon
- un fallback avec deux liens pour télécharger ou bien le fichier OGG, ou bien le H264. Et les linuxiens seront contents.
Dernière solution :
Un FLV dans un player Flash, à l’ancienne. A la limite un H264 pour avoir une chance d’évoluer un peu plus tard.
Pour faire bouger les choses, vous pouvez toujours demander à Mozilla de supporter les codecs système, à WebKit d’intégrer nativement le OGG, mais enfin il restera toujours le lamentable IE.
Et pour faire bouger Microsoft ça risque d’être coton : leur avancée très lente vers les standards n’est qu’une grosse blague destinée à maintenir des parts de marché pour IE, alors que dans le même temps ils mettent les bouchées doubles pour Silverlight.
Leur avancée vers les standards me rappelle quelque chose qui n’a rien à voir avec l’informatique : la Moonwalk.
Conclusion : y’a pas à dire, la vidéo en HTML5, ça simplifie vraiment la vie…