Pas de support DirectShow et Quicktime dans Firefox
Par Laurentj le mardi, juin 23 2009, 12:49 - Technologies Web - Lien permanent
À l'origine, dans le cadre de la balise video, il était prévu d'intégrer le support de DirectShow et de Quicktime dans Firefox, pour ses versions respectives sous windows et mac, en plus du support natif du format OGG/Theora. Finalement, cela ne se fera pas, comme l'explique Robert O'Callahan l'un des core-developer de Mozilla. Voici en gros les raisons :
- Mozilla veut se concentrer sur la promotion des formats ouverts comme OGG/Theora
- Apparemment, peu d'utilisateurs ont les codecs installés pour H264, par défaut, il n'y a que des codecs pour des "vieux" formats (sauf dans Windows 7 qui fournira un codec H264 en standard)
- DirectShow est sous-spécifié, contient des bugs, et les codecs disponibles pour DirectShow sont de qualités très inégales, et ne fournissent pas tous tout ce qu'il faut pour que l'API de la balise video fonctionne correctement. C'est à dire, qu'avec certains codec, des scripts dans les pages web ne pourraient pas fonctionner, et l'auteur de la page web ne pourrait rien y faire. Déjà que la compatibilité cross-browser est un cauchemar, alors si il faut aussi se préoccuper des problèmes cross-codec...
- Vu la qualité inégale des codecs, cela veut dire bugs potentiels, que les utilisateurs attribueraient à tord à Firefox. Les développeurs de Firefox ont assez de problèmes à régler comme ça
- Il y a des codecs "malware"
- Il y a des codecs avec des trous de sécurité, que Firefox ne pourrait pas "contrôler"
- Deux backends en plus, c'est du boulot en plus, de la maintenance en plus etc.
- Mozilla ne peut fournir des codecs par défauts avec le support Quicktime ou DirectShow (pour H264 notamment), à cause des royalties qu'il faudrait payer, et des problèmes de brevet.
Bref, dans Firefox, il n'y aura que le support natif de OGG/Theora (et OGG/Vorbis), ainsi que la backend GStreamer (au moins pour la version mobile, il n'est pas encore sûr qu'il le soit dans la version desktop).
Commentaires
Je suis curieux de savoir ce qui empêcherait l'utilisation du backen GStreamer dans la version desktop...
Ben surtout que proposer DirectShow ou Quicktime, on va tomber encore une fois dans le problème des compatibilités des plateformes tierces. C'est surtout donner une prime aux mauvais développeurs.
Allez sur le site ddes archives de l'INA sous Linux, puis, histoire de rire, lisez la doc qui précise comment installer Quicktime. http://www.ina.fr/archivespourtous/... Vous avez dit « archive pour tous » ?
Tant mieux !
Ce post de Robert O'Callahan est un tract.
Il est dommage que Mozilla se fasse embarquer dans le prosélytisme pro-Xiph qui avait heureusement partiellement échoué avec le (X)HTML5.
Mozilla ne veut pas assumer les bugs des autres, certes, mais ceux de XiPH c'est pas grave ? c'est parce que c'est des bugs libres ? Si on trouve des problèmes de sécurité dans le decodeur de Theora (ce qui est hautement probablement, je suis désolé quand on voit comment beaucoup de lecteurs plantent sur la lecture de fichiers vidéo partiels et corrompus tout formats et licences confondues, libre compris, il faut espérer que le support des libraries qui gèrent ces formats sera facilement désactivable.
Et actuellement quand il y a trou de sécurité de la plugin flash ou via le plugin acrobat, tout le monde tombe sur mozilla ?
Ce qu'on attend de Mozilla, quand je dis on, je veux dire le reste du monde en dehors d'une frange de libristes très militants qui ne promeuvent pas la liberté de choix, c'est de faire un bon navigateur dans la conformité des standards, pas d'essayer de faire les faiseurs de roi sur le secteur des frameworks multimédia. Un truc dans lequel il y a que des coups à prendre, et probablement pas grand chose à gagner : Theora est techniquement inférieur, les outils pour la chaine de production ne sont pas au niveau de ce qu'on peut trouver ailleurs et de toute façon Safari ne l'implémentera pas (ne parlons pas d'IE, qui aura le support du tag video en 2025).
Robert ne rentre pas réellement dans les problèmes techniques et est très approximatif. Le problème de distribution potentielle d'un codec H.264 concerne essentiellement les US et que DirectShow, QuickTime contient un codec H.264. Passer par les frameworks tierce parties, en leur laissant gérer le problème des codecs - quitte à faire des whitelists de codecs, modifiables par l'utilisateur - était une solution plus élégante.
En outre, si quelqu'un veut diffuser par exemple une vidéo au format VC-1 (wmv), je vois pas la logique de lui mettre des batons dans les roues : le forcer à réencoder avec pertes son fichier, avec un codec inférieur : il a peu de chances d'être enthousiasmé par les solutions promues par la fondation mozilla. C'est ça aussi la vidéo : un existant qu'on veut pouvoir diffuser sans tout réencoder.
Enfin ils veulent pas implémenter plusieurs backend, mais le natif et GStreamer, ça fait déjà deux. D'ailleurs Robert devrait préciser qui sera prioritaire du natif et d'un GStreamer sachant décoder le Theora.
Donc si je résume bien zed9, le choix du décodeur n'a aucune importance puisque la balise <video/> ne sera pas implémentée avant 2025 dans le navigateur Web monopolistique utilisé par 7 personnes sur 10, à savoir Internet Explorer ?
Les revendeurs de produits et services utilisant la norme H.264/AVC doivent payer des droits pour l'utilisation d'une technologie brevetée, cela concerne les États-Unis, et d'autres pays. Les brevets logiciels ne vont-ils pas à l'encontre de la politique de Mozilla et d'un Web ouvert ? Par exemple la GPL, une des licences dont est disponible Mozilla, interdit l'utilisation des brevets logiciels et le W3C plébiscite des standards sans royalties.
Theora est peut-être techniquement inférieur pour le moment au H.264, bien que Theora arrive à un résultat décent et que le jugement reste très subjectif. Si Mozilla pousse Theora nous pourrions voir arriver rapidement des outils permettant au Theora de devenir une alternative plus que crédible au H.264, mais à mon avis nous n'en sommes pas loin.
Il n'est pas étonnant que Safari n'ajoute pas Theora, mais Google Chrome supportera Theora.
Theora Soccer Video Comparison
http://www-cs-faculty.stanford.edu/...
Concrete Comparisons of Theora Vs. Mpeg-4
http://tech.slashdot.org/story/09/0...
YouTube, HTML5, and Comparing H.264 With Theora
http://tech.slashdot.org/story/09/0...
@zed9
La différence entre un bug dans le décodeur Theora ou un bug au niveau de DirectShow, c'est que le décodeur Theora est inclut dans Firefox, donc il est possible de corriger le problème avec une mise à jour de Firefox.
Par contre, un problème au niveau de DirectShow nécessite une mise à jour du côté de Microsoft, ce qui est potentiellement plus long et non contrôlable.
@zed9
>Mozilla ne veut pas assumer les bugs des autres, certes, mais ceux de XiPH c'est pas grave ?
Comme dis Sylvain, Mozilla peut mettre à jour son navigateur pour boucher les trous dans l'implementation de Theora qu'ils utilisent puisque c'est libre. Quand c'est un trou introduit par DirectShow ou Quicktime, ils feraient comment ?
>Et actuellement quand il y a trou de sécurité de la plugin flash ou via le plugin acrobat, tout le monde tombe sur mozilla ?
ça arrive, y a qu'à suivre les bugs postés sur le bugzilla. Mais les utilisateurs "avancés" peuvent arriver à la limite à faire la différence entre la page web et le flash (pas le même menu contextuel). Il peut à la limite même essayer de desinstaller/désactiver flash pour voir si son problème persiste. Par contre, pour l'affichage de la vidéo, on n'y voit que du feu, puisque DirectShow est utilisé directement par le code de Firefox, et n'est finalement qu'une lib, pas un plugin.
>Ce qu'on attend de Mozilla, quand je dis on, je veux dire le reste du monde en dehors d'une frange de libristes très militants qui ne promeuvent pas la liberté de choix,
Non, quand tu dis on, ce ne sont pas ceux qui sont pour la liberté de choix, mais ceux qui ne comprennent pas le manifesto de Mozilla.
Et les "libristes très militants", contrairement à ce que tu dis, promeut la liberté de choix. C'est grâce à Mozilla aujourd'hui si on a le choix dans les navigateurs.
>pas d'essayer de faire les faiseurs de roi sur le secteur des frameworks multimédia
C'est de la faute à personne si il n'y a qu'UN seul format "ouvert" de la vidéo hein (bon, ok, y aussi Dirac, mais son utilisation est encore plus confidentielle que Theora). Si il y en avait plusieurs, Mozilla les utiliserait tous. Si h264 n'était pas encombré de royalties, de brevets en tout genre, Mozilla l'intégrerait.
Mozilla n'est pas là pour promouvoir les trucs fermés, non libres, mais les formats ouverts, les standards du web ouverts et libre de royalties/brevets. Lire son manifesto.
>Theora est techniquement inférieur,
Pour l'usage qu'est fait de la video sur le web, c'est totalement faux. Et actuellement, il y a pas mal de développement sur l'encodeur de référence qui sont fait pour améliorer la qualité (dev sponsorisé d'ailleurs par Mozilla)
>les outils pour la chaine de production ne sont pas au niveau de ce qu'on peut trouver ailleurs
Bah oui, mais c'est un cercle vicieux : le format est peu utilisé, alors peu d'outils. Mais si peu d'outils, alors format peu utilisé. Bref, si on veut sortir ce format de l'ombre et l'amélioré, il faut bien commencer par un bout. Et c'est ce que fait Mozilla. Ils poussent à l'utilisation du format. Il sera donc plus utilisé, plus connu. Les outils suivront alors.
>si quelqu'un veut diffuser par exemple une vidéo au format VC-1 (wmv), je vois pas la logique de lui mettre des batons dans les roues : le forcer à réencoder avec pertes son fichier, avec un codec inférieur : il a peu de chances d'être enthousiasmé par les solutions promues par la fondation mozilla
Et euh.. est ce que ce même utilisateur a le choix dans le format des images pour faire ses pages web ? Non. il est restreint à du png/gif/jpeg. pas de format raw ou je ne sais quoi d'autre. Ben là c'est pareil. Pour le moment, ce sera theora pour la video et vorbis pour l'audio, parce que c'est tout ce qu'il y a de libre pour le moment.
Faut que tu comprennes que si un auteur de page web veut toucher un maximum de monde, il a beaucoup plus de chance d'y arriver en utilisant des standards. Par exemple, si il fait son site en RTF ou en .doc, il a peu de chance d'avoir beaucoup de monde, parce que les navigateurs ne supportent pas ces formats. Les navigateurs ne comprennent que le (x)html.
> Enfin ils veulent pas implémenter plusieurs backend, mais le natif et GStreamer, ça fait déjà deux.
Bah oui, et c'est déjà du boulot. Implementer DirectShow et Quicktime, c'est deux fois plus de boulot. Et y a des choses plus importantes que de maintenir ces trucs qui finalement, n'apporteraient que des problèmes.
>D'ailleurs Robert devrait préciser qui sera prioritaire du natif et d'un GStreamer sachant décoder le Theora.
Je suppose que bien entendu l'implementation native du format l'emporte sur le backend générique. Et ça dependra aussi des options de compilations. Je ne sais pas si lorsqu'ils distribueront Fennec, il y aura les deux.
Au risque de passer pour un idéaliste ou un naïf je me lance.
Mozilla ne devait/pourrait pas intégrer ffdshow ?
La discussion du codec revient souvent mais ce qu'on oublie c'est que le même problème s'est posé pour les formats d'image. Certes dans une moindre mesure puisque le net n'était pas encore vraiment grand public.
Je n'y connais rien, mais il me semble que le JPG est soumis à des licences aussi non ? Pourquoi tous les navigateurs l'intègrent ?
Et la balise <object> ? Elle n'est pas sensée faire fonctionner n'importe quoi ? Qu'en est-il de la sécurité de tout ça ? Si quelqu'un met une vidéo en WMV via la balise object et que le codec est foireux je ne vois pas ce que Mozilla peut y faire…
Ce qu'il faut retenir de toute façon, c'est qu'on va galérer. C'est sûr que tous les navigateurs n'utiliseront pas le même codec et qu'il faudra fournir des formats alternatifs. Le point positif c'est qu'on pourra le faire simplement avec la balise <source>, et il ne faut pas avoir peur du temps ou de la bande passante utilisée. À une époque on mettait une plombe à compresser une image, quand on pouvait se payer le luxe d'en fournir sur son site. Pour les vidéos ça sera pareil, bientôt on passera quelque secondes à encoder des minutes de vidéos…
> Je n'y connais rien, mais il me semble que le JPG est soumis à des licences aussi non ? Pourquoi tous les navigateurs l'intègrent ?
Pour l'instant non, il y a juste un procès en cours aux États-Unis pour essayer de faire reconnaître un brevet (le premier ayant échoué).
http://en.wikipedia.org/wiki/JPEG#P...
Par contre pour H.264 il y a non seulement brevet mais demande de royalties aux logiciels qui l'utilisent. Mozilla pourrait le payer pour Firefox (si vraiment il n'y avait pas des utilisations plus intelligentes de cet argent), mais le code ne serait alors plus redistribuable gratuitement.
@Neovov
La finalité de la balise <object> est d'inclure dans le document du contenu géré par un plugin externe, qui peut-être de n'importe quelle type (c'est ce qui est utilisé par le JRE pour les applets).
La balise video permet de représenter des videos dans le document, ça véhicule un signification sémantique (on sait que c'est une video, pas juste un objet générique, on peut exposer des fonctionnalités spécifiques (contrôle) à ce type de contenu).
@Laurent
Les problème lié aux brevets ont été instrumentalisés pour des raisons politiques (pousser Theora) ; voir
http://en.wikipedia.org/wiki/H.264#...
Qualcomm a perdu et ses brevets ont été invalidés ; le problème reste localisé géographiquement (firefox est quand même distribué partout, doit-on punir le reste du monde).
Et si la lecture du Manifesto, c'est de dire qu'il faut se coucher systématiquement dès qu'il y a quelques brevets contestables qui traînent, c'est dommage. A ce jeu là personne ne peut réellement garantir que Theora est complètement à l'abri.
En outre le H.264 et même à présent le VC-1 sont des standards ; insinuer que ce sont des formats propriétaires fermés est complètement abusif. Il existe d'ailleurs de nombreuses implémentations du codec H.264 ou de son prédessseur le MPEG4 video de base, y compris en libre.
La comparaison avec le RAW n'a pas de sens, le raw est un format de travail, proche du matériel qui a capturé l'image, les video encodés que ça soit en H.264, en VC-1 ou en Theora le sont dans des formats de diffusion, et c'est une compression avec perte, Il y a un coût à les recommpresser (temps de traitement long + perte de qualité).
Les formats d'images il y en a plusieurs et on va pas reparler de la situation du gif...
Je suis assez pessimiste sur les perspectives sécuritaires par rapport à l'inclusion des librairies dans firefox ; le fait que la fondation mozilla puisse les corriger n'est pas une solution suffisament satisfaisante, je n'ai pas envie d'avoir une mise à jour par semaine dans chacun de mes firefox pour passer les trains de patchs sur Theora et consorts. On verra dans 6-8 mois ce que ça aura donné sur la durée. je ferais mon mea culpa si je me suis trompé.
En attendant je maintiens que ne proposer aucune solution sous win ou sous os x pour voir des vidéos encodés en H.264 alors que Safari le fait sur ces plateformes est lamentable. Le résultat c'est que ça va passer sous Linux avec GStreamer, et les autres ils vont lacher firefox pour Safari beaucoup plus rapidement qu'ils n'iront faire un checkout dans un repo svn ou git quelconque pour récompiler l'outil qui leur permettra de recompresser les vidéo H.264 prises avec leur iphone avec Theora.
@zed9 : Ma question ne portait pas sur l'intérêt de la balise vidéo mais sur la manière dont les plugins sont gérés actuellement. Il peut très bien y avoir une faille dans le plugin flash et ce n'est pas pour autant que c'est à Mozilla de le corriger. Je ne comprends donc pas le problème avec les codecs (hormis que c'est largement plus visible pour le grand public).
Neovov > FFDshow n'est rien d'autre qu'un wrapper DirectShow autour de libavcodec, un des composants de FFMPEG. Donc autant intégrer directement FFMPEG ou tout du moins les formats les plus intéressants pour le web. Mais... C'est ce ce que fait déjà Mozilla avec Theora !
La seule solution que je verrai pour le support de H.264 dans Firefox, c'est probablement la même que la plupart des distributions linux : un FFMPEG amputé des formats à risque juridique en standand, un dépot tiers hébergé dans un pays adéquat pour la version complète.
C'est bancal, c'est toujours problématique pour Mme Michu, mais personne n'a encore trouvé mieux...
>Et si la lecture du Manifesto, c'est de dire qu'il faut se coucher systématiquement dès qu'il y a quelques brevets contestables qui traînent, c'est dommage. A ce jeu là personne ne peut réellement garantir que Theora est complètement à l'abri.
Oui Theora n'est pas à l'abri. Mais avec du h264, on est sûr de pas être à l'abri à mon avis. Ce n'est pas parce qu'avec Quarkcom, ça a échoué, que ça ne va pas échoué avec un autre patent owner.
Mozilla n'a pas décidé comme ça de ne pas intégré du H264. Si je ne me trompe pas, ils ont étudié le problème avec des avocats etc. Si ils fournissent pas H264, c'est qu'il y a des risques assez grand tout de même.
Qu'il y ait des implémentations libre, ne veut pas dire que Mozilla n'aurait pas de problème juridique à inclure un codec H264. Firefox a quand même une des plus grande notoriété dans le monde libre, et ça en fait une cible de choix pour des cabinets d'avocats.
Commencer par Theora permettra ainsi de faire un test parmis cette jungle des brevets (ce n'est que mon avis, pas l'objectif de Mozilla), et voir si certains vont se faire connaître.. Et peut être après de voir si ça vaut le coup d'intégrer d'autres codec.
>alors que Safari le fait sur ces plateformes
C'est facile aussi pour safari :
1) ils n'ont pas les mêmes part de marché que Mozilla (c'est plus restreint, donc peut être moins interressant à attaquer)
2) Apple possède un immense portefeuille de brevet, peut être d'ailleurs sur des algos de video, qui peut servir à contre-attaquer (si tu m'attaques avec ton brevet sur H264, alors moi je t'attaques avec mon brevet machin que tu utilises sans autorisation dans ton bidule).
3) et puis Apple, c'est pas une petite boite non plus...
Bref, Apple ne prend pas du tout les mêmes risques que Mozilla. D'autant que Safari n'est pas libre il me semble (il n'y a que le moteur de rendu), et donc ils peuvent se permettre de diffuser leur application en ayant payé des royalties à qui de droit.
Mozilla ne peut pas payer de royalties, parce qu'alors personne ne pourrer rediffuser Firefox, ni le recompiler à l'identique. Bref, on perd tout l'essence du logiciel libre... Quant à diffuser une version de Firefox avec ou sans le codec selon les pays, d'une part ça servira à rien, d'autre part ça complexifie la diffusion si il faut vraiment contrôler qui télécharge à partir de quel pays...
En conclusion, l'intégration de ce genre de codec, c'est pas mal stratégique, politique et juridique. Mozilla, même avec ses millions de coté, n'a pas la carrure d'un Apple ou d'un Microsoft pour affronter les procès (enfin , je pense). Et ils limitent donc les risques au niveau juridique. Sans oublier aussi bien sûr, les problèmes purement techniques évoqués.
Salut à tous
> La balise video permet de représenter des videos dans le document, […] (on sait que c'est une video, pas juste un objet générique, on peut exposer des fonctionnalités spécifiques (contrôle) à ce type de contenu).
L’élément object est certes générique, mais il possède un attribut qui précise justement le type de média de l’objet inclus, donc rien n’empêchait les navigateurs de proposer la même interface que l’élément video inventé en plus.
> parce qu'alors personne ne pourrer rediffuser Firefox, ni le recompiler à l'identique. Bref, on perd tout l'essence du logiciel libre...
La politique des marques déposées de Firefox associée à la volonté de vérifier tous les patchs utilisés par les distributeurs pourrait être considérée comme une entorse à l’esprit du libre. (Cf. http://www.mail-archive.com/debian-... et suivants)