Un challenge pour la communauté Flash: Quicktime est meilleur que Flash! Prouvez moi que j’ai tort!
Publié le 22 April 2008, par Babozor dans la catégorie Développement, OutilsC’est sous ce titre hautement provocateur que Pascal nous livre ses remarques (je traduis, adapte et caviarde un peu) dans cet article.
L’état des players vidéo sur le web est assez consternant: flash, flash et encore flash. Si au moins flash était le player parfait, ou si il existait des alternatives (ce qui n’est pas vraiment le cas aujourd’hui). Une liste des options possibles:
- Quicktime: vous pouvez le voir sur le site d’Apple (évidemment) et sur n’importe quel site qui propose des vidéos de bonne qualité (NDB: on sens pas du tout le côté partial de l’auteur…)
- RealPlayer (apparemment toujours en vie, pour des raisons historiques sûrement)
- Windows Media Plugin: pour windows seulement (avec la possibilité de le lire via Quicktime sous OsX via Perian ou Flip4Mac)
- VLC plugin: une vraie solution multiplatforme… si vous trouvez et comprenez comment l’installer, et en plus c’est OpenSource! Sympa, mais manque un poil de finition.
- DivX, un futur RealPlayer (NDB: méchant mais tellement vrai!) Sauront-ils résister? La fermeture de stage6 n’est pas vraiment un bon signe.
- Le tag vidéo HTML5 tant espéré? Bientôt ou tout de suite (si vous êtes un heureux utilisateur de Safari3), mais la part de marché de Safari n’est pas suffisante pour imposer rapidement ceci.
- Vivo… un qui semblait prometteur, d’une époque préhistorique
- Java… Ok c’est juste pour oublier personne, comme par exemple espresolutions
Je pense qu’il doit exister d’autres solutions, particulièrement sous Linux, mais ce n’est pas le but de cet article.
Un autre chemin semble être de se détacher du navigateur web pour la vidéo. La façon dont nous consommons cette vidéo, même en streaming, semble valider ce mouvement. Un bon signe est que après Miro et Joost, Adobe se lance aussi dans l’aventure…
Bref, pleins de possibilités et pourtant tous les nouveaux et branchés sites 2.57 suivent la tendance et adoptent… Flash! Quel comportement innovant! Ce lecteur qui jusqu’à l’année dernière ne pouvait jouer de la vidéo de qualité. Adobe a été si fier d’annoncer le support du H264, alors qu’il était disponible depuis plus de 3 ans sous Quicktime.
Bon, maintenant vous allez dire, Flash à la possibilité de jouer des vidéos de haute qualité, arrête de te plaindre et passe sous Flash. Le problème c’est que Flash n’est pas si bien que ça, du moins de ce que j’en ai vu jusqu’à présent. Et je suis très curieux si un développeur flash peut me prouver le contraire…
Voici donc le challenge: Flash peut-il faire tout ça?
| Capacités demandées | Quicktime | Flash |
|---|---|---|
| Avance rapide (propre, pas un saut toutes les 5 secondes) | Oui | You tube ??? no thanks ! |
| Arrière rapide | Oui | Non |
| Variation de vitesse (let’s speed it up !) | OUI ! | Oublies |
| Avance et retour image par image | Oui | Non |
| Plus généralement, accès direct à chaque frame déjà téléchargé | Oui | Non (sevenload y est presque) |
| Informations précises sur l’image en cours | Oui | Non |
| Informations précises sur les données déjà téléchargées (en téléchargement progressif) | Oui | ? |
| Selection control (constraint the navigation within the video)… [Pas compris pas traduit] | Oui | Non |
| Peut lire tous les formats? | Oui ! (et installer Perian and flip4mac si il vous en manque) | NON MPEG1, NO MPEG2, NO … |
| Cache crypté,aucun moyen simple de pirater la vidéo, même en téléchargement progressif | Suffisament si vous n’avez pas à faire à des hackers | NON : si vous voulez une solution sécurisée, vous devez streamer le contenu et adpoter et payer le système adobe complet (serveur): aucune moyen d’utiliser Apache pour ça |
| Ajout de logos en transparence | Oui | Oui (Mais je n’ai pas vu le rendu sur une version plein écran avec un tel logo) |
| Plein écran | Presque : maximiser la taille du navigateur. | OUI ! |
| Multi platformes | Mac/PC IE/FF/Saf et plusieurs options sous Linux, mais pas de release officielle. Donc la démo qui suit ne devrait pas tourner sous Linux |
YES! |
Je pourrais ajouter d’autres aspects comme les performances (énergie, cpu) de flash comparé à Quicktime quand il lit une vidéo en H264, ou du fait qu’utiliser tous le même outil créé par une seule même companie est un rêve pour les hackers (windows?), mais ces points sont plus subjectifs, donc je ne les utiliserais pas, mais ils doivent tout de même être pris en compte. Par exemple: il y a un domaine où on ne voit jamais Flash pour la vidéo: quand quelqu’un paye pour le contenu (VOD ou replayTV)
En conclusion à part les deux points précédents, Quicktime est bien meilleur que Flash. Pour être un peu plus concret, voici une démo basé sur le plugin Quicktime et du Javascript (avec l’aide de Prototype et Scriptaculous). [cliquer sur la photo pour accéder à la démo live]

La question: Est ce que quelqu’un peu proposer le même type d’interactivité que celle faite via Quicktime et Javascript??
Ma note personnelle: Pascal connaît son sujet et sait mettre le doigt où ça fait mal, pas de doute là dessus
Sa démo est aussi très impressionnante avec des fonctionnalités jamais vues sous flash aujourd’hui (ou alors faut nous prouver le contraire). Reste le problème majeur pour certaines entreprises de la propagation du plugin Quicktime par rapport à celui de Flash. Il est vrai que si les fonctionnalités proposées sont largement supérieur une majorité d’utilisateurs risquent de sauter le pas, mais quid des visiteurs lambda (comme mon père ou ma femme)?? Ceci n’enlève rien au contraire aux qualité technique de Quicktime, mais reste à mon avis une question importante.
Et vous vous en pense quoi? Un dev flash volontaire dans la salle??



le 22 April 2008 à 12h57
Peut être que Flash est utilisé parce que l’on peut faire des animations facilement soi même intégré dans un site alors que Quicktime (à ma connaissance) ne le peut pas et que donc Flash est déjà dans les navigateurs. Du coup pourquoi développer pour un logiciel que les gens devront installé (en plus d’un téléchargement ultra-long et d’une inscription obligatoire) alors que l’autre est simple et en général déjà configuré?
le 22 April 2008 à 13h21
Tout comme les logiciels, il existe aussi des formats libres, dont le code est public et ouvert à tous, qui ne dépendent pas de brevets et dont la licence garantie l’accessibilité gratuite à tous aujourd’hui et demain. Je pense au format Ogg et à ses déclinaisons audio (Vorbis) et vidéo (Theora). Des solutions sont disponibles pour rendre accessibles à des non-spécialistes les contenus encodés dans ce format libre, je pense notamment à iTheora (http://menguy.aymeric.free.fr/theora/).
le 22 April 2008 à 13h21
Le titre de l’article est trompeur et son contenu également. On ne compare pas Flash (qui est une “boite à outil” énorme) à Quicktime (qui n’est qu’un lecteur de vidéo/audio). C’est un peu comme si j’écris un article sur “PHP meilleur que Ruby On Rails” dans un autre domaine !
Le taux de pénétration de Quicktime est toujours plus faible que Flash et comme le souligne @Mu, l’installation de quicktime est fastidieuse comparée à Flash !
J’ai cliqué sur le lien d’exemple en bas de l’article et paf, mon ordi se met à pédaler, mon navigateur se fige à moitié. Que se passe-t-il ? Quicktime se lance !! (sur un Core 2 Duo 2Ghz, 3 Go de RAM sous Firefox). Pas très “smooth” dirons nous.
L’exemple qui est montré est certe “impressionant” mais il ne reflète pas la réalité des vidéos quicktime. Cet exemple relève à mon avis du “proof of concept” et non pas de la réalité de la diffusion de vidéos sur Internet.
le 22 April 2008 à 23h23
D’abord, Merci Olivier : les réponses fusent plus vite que sur mon blog ou je ne poste qu’une fois tous les 6 mois
Entre parenthèses, un argument définitif pour Quicktime : Flash ne peut lire de MPEG1 donc il y a des lieux (comme par exemple, à tout hasard, le site B2B de l’INA) ou l’on ne va pas s’amuser à tout convertir en Flash video (sorenson). A la rigueur en MPEG4 …
@Mu : Ou as tu vu une inscription obligatoire ?
Tu vas la :
http://www.apple.com/quicktime/download/
Tu décoches l’option recevoir des news et tu télécharges. Tu doubles clic et ça s’installe
Même principe que la première fois ou tu installe Flash : pas plus ni moins compliqué
Et si tu veux lire un format video correct (MPEG4/H264) avec Flash, tu doit forcer tes utilisateurs à installer la dernière version (9) de Flash : 1 partout
@Kilgore : Etudie un peu QuickTime avant de le diminuer ainsi. Par exemple par la lecture de cet article :
http://www.streamingmedia.com/article.asp?id=9799&page=1&c=6
- Si un des deux est une boite à outils, c’est bien QuickTime.
D’abord, QT lit quasiment tous les codec vidéos existant (dont Ogg Theora par exemple), et non seulement il les lit, mais il permet de convertir d’un format à un autre dans tous les sens. C’est par ailleurs un moteur multimedia (et d’ailleurs sans doute un des premiers) avec des pistes video, son textes, graphiques, sprites, SMIL, QTVR, son spatialisé… depuis bien avant la naissance de Flash. Et jusqu’à la version 7.3.1 de QT, il était même possible d’insérer dans des fichiers QT des pistes … flash ! Le player en démonstration dans l’article précédent est en fait une copie isofonctionelle d’une version précédente où tout était intégré dans un unique fichier QuickTime. Malheureusement, Apple à décidé il y a environ 6 mois de cesser le support de Flash au sein de QT pour des raison de sécurité …
- J’ai vu plusieurs fois l’argument du taux de pénétration de QT sans jamais voir personne citer ses sources … sauf peut être de la part d’un commercial de chez Adobe, dont les sources étaient … Adobe :-). Tes sources donc ?
Et surtout celles comparant la version 9 de Flash au taux de pénétration de QT ?
Etant donnée le cheval de troy qu’est l’iPod/iTunes pour QuickTime, je serait curieux de connaître ces chiffres.
- Pour ton test cela m’inquiète un peu, j’ai pourtant fait des tests sous de vieux portables sous XP et cela marchait bien (après une phase de chargement parfois un peu pénible je le conçoit). D’un autre coté, des que je visionne une video H264 sous Flash, c’est mon MacBookPro 2Ghz qui est sur les genoux … comme quoi
- Par contre “il ne reflète pas la réalité des vidéos quicktime” la je ne comprend pas ou tu veux en venir. D’ici peu de temps, on devrait voir se développer des sites de montage de video en ligne. Je suis près à parier d’ailleurs que si cela n’est pas encore répandu, c’est parce que que pour faire du montage correcte, il faut pouvoir se positionner à la frame près, et que personne n’a fait encore allusion à cet aspect. Pour ce qui est de la réalité des vidéos QT, je te conseille à nouveau la lecture de l’article cité précédemment, tu y verras une multitude de contexte d’utilisation de QT
Enfin, @Vincent , merci pour le lien, cela faisait qq temps que je n’avais pas fouillé du coté de Theora et je ne lui connaissais pas de viewer dédié aussi aboutit (juste le codec installé dans un agrégateur comme QT par exemple). Il faut que je m’y replonge. J’avais retenu aussi que certains affirmaient que le format n’était pas totalement sans risque de se faire attaquer par certain détenteurs de patents, mais ce n’est qu’un vague souvenir. De toute façon j’avais inclus Theora, puisque je mentionnait le tag video d’HTML5
le 23 April 2008 à 08h49
Assez d’accord avec Vincent Florin, il existe de très bonnes alternatives libres, performantes et multi-plateformes telles que ogg Vorbis & Theora et le lecteur VLC.
Flash est lourd, souvent mal utilisé, très mal implémenté sur certaines plateformes et propriétaire, et Quicktime propriétaire. Je ne vois donc pas vraiment l’intérêt de les utiliser pour embedder de la vidéo sur une page web.
Mais c’est vrai qu’un tag HTML musique & vidéo serait la panacée.
le 23 April 2008 à 18h20
@Pascal V : je ne le diminue pas tant que ça, Flash reste une boite à outil bien plus importante que Quicktime ! Essaye de développer un site Internet (non accessible certes mais le débat n’est pas là) avec Quicktime ? Essaye de développer un jeu (débile certes …) avec Quicktime ? Ceci n’est pas forcément un avantage pour Flash mais ça permet de recadrer le fait qu’on ne compare pas deux outils équivalents.
En admettant que mon argument du taux de pénétration manque de sources fiables, la pénétration de QT sous Linux et sur les plateformes mobiles reste à démontrer…
le 26 April 2008 à 03h13
Juste pour info, tout cela fonctionne aussi avec Flash et les flv, je viens de tester.
Voici le lien: http://www.baizone.be/flvPlayer/
Développé rapidement et il est tard donc il se peut qu’il y ai des bugs mais je pense que ça fonctionne… accélérations, image par image et fullscreen en cliquant une fois sur la vidéo.
J’espère qu’il n’est pas trop tard pour un commentaire et que ça sera lu
A bientôt.
ps: petite remarque en passant… merci pour ce très bon blog, très intéressant ou je viens régulièrement puiser des infos… même si c’est la première fois que je participe.
le 26 April 2008 à 05h59
@Christophe : pas mal du tout, bravo ! Impressionnant. Les réglages RGB directs sont assez drôles.
Quel est le format de la vidéo elle-même, et avec quoi a-t-elle été encodée ?
le 26 April 2008 à 10h17
C’est du FLV, encodé depuis un .mov de 1280 x 544 en h264. Le tout, c’est d’encoder le FLV avec un keyframing sur 1, ce qui permet de faire de l’image par image. Il est possible aussi de “simplement” virer l’extension .mov et de la remplacer par .flv. Ce qui permet d’utiliser le h264 dans un flv mais pas le IpI si le keyframing n’est pas encodé comme tel.
le 5 May 2008 à 11h13
And the winner is : Christophe Gossiaux. C’est effectivement la meilleure demo flash que j’ai pu voir (bon il est vrai aussi que je n’ai pas vu beaucoup de réponses avec démonstration du coté flash. Maintenant j’aurais quand même quelques interrogations sur la méthode : en effet, le fond du problème est surtout de pouvoir lire n’importe quelle video mpeg4 (a defaut de faire du mpeg1). Donc en pratique :
- un keyframing de 1 signifie bien que toute les frames sont des iframes et donc en fait que l’on envoie toutes les frames de la vidéo, sans compression interframe, non ? Ça doit sacrèment gonfler la taille du fichier video ? Et bien sur, il faudrait comparer avec une qualité d’image résolution similaire : la video que tu utilises présente une qualité similaire à la version 640×272 de H264
Donc Quicktime reste vainqueur puisqu’il sait calculer les frames intermédiaires sans avoir à recompresser les vidéos (je titille pour voir jusqu’ou flash peut aller :-).
- la jog shuttle fait de l’accéléré et non du ralenti. C’est une limitation Flash ou simplement que tu ne l’ a pas proposé dans ta démo Et s’agit-il d’une possibilité du flash (setting du frameRate) ou de ton travail d’intégration (saut de frame en fonction du temps écoulé calculé en actionscript)
- pour le cout de virer le suffixe, tu as vraiment besoin de faire cela ? (pour un .mov, peut être, mais je pensais que flash pouvait lire directement des fichiers h264 au suffixe .mp4
- je n’ai pas vu de trace de fichier .flv : tu l’as encapsulé dans ton player ?
le 6 May 2008 à 00h17
Voilà, désolé Pascal pour le délais entre ton/mon mail et cette réponses mais j’avais quelques petites choses à vérifier pour être certain de ne pas dire de bêtises.
D’abord, je voudrais préciser que je n’ai jamais prétendu que Flash était l’arme absolue au niveau des players vidéo… c’est vrai que ce n’est pas sa vocation première. Par contre, je trouve qu’il domine pas mal son sujet quand on parle d’animation ou d’applications web (RIA)
Et pour un soft qui n’est pas destiné à jouer de la vidéo, il se débrouille quand même vachement bien. Tout ce que je voulais, en développant ce player, c’était simplement démontrer que certaines choses que l’on croyait impossibles parce qu’on ne les voit jamais le sont tout de même si on prend le temps de s’attarder sur la question.
Je vais donc répondre à tes remarques point par point.
1- La lecture des vidéos est possible. Si on ne s’attarde pas à la lecture image par image, on peut prendre une h264 brute de coffre sans s’inquiéter de l’extension. J’ai personnellement essayé avec le fichier source, le .mov, et ça fonctionne très bien. Quand au mpeg4, je n’ai pas testé mais d’autres m’ont confirmé que ça fonctionne. Donc, pas universel mais si on reste dans le bon codec, no problemo
2- Le keyframing, si on veut de l’image par image, pas moyen d’y échapper. Il faut repasser en FLV et régler le keyframing sur 1. Par contre, par rapport au fichier .mov d’origine, en réglant le max data rate à 450, on gagne 5mb. L’original, le .mov, pèse 79.081 mb et le flv résultant pèse 74.116 mb. Vous allez me dire qu’on doit certainement ressentir la compression. Difficile de juger pour moi car je n’ai pas d’écran de contrôle vidéo, je n’ai que mes tft 22″ de développement. Mais pour pouvoir comparer ce qui est comparable, j’ai modifié mon player pour qu’il lise une vidéo identique à l’originale, en taille, mais re-compressée en flv avec le max data rate à 450 et le keyframing à 1. Vous pouvez consulter l’originale ici: http://www.apple.com/trailers/paramount/indianajonesandthekingdomofthecrystalskull/hd/ en cliquant sur le bouton 720p dans la colonne “Trailer 1″. Et mon player est toujours à cette adresse: http://www.baizone.be/flvPlayer/
A mon tour de titiller
Les vidéos sont lourdes donc il faut une bonne bande passante. J’estime donc qu’il n’y a pas “re-compression” mais “ré-échantillonage”
3- Le jog shuttle qui ne ralentis pas, c’est un oubli de ma part. Mais étant donné que le déplacement est calculé en fonction du fps, il est tout autant possible de ralentir que d’accélérer. Mais effectivement, ce n’est pas une fonction native.
4- Concernant l’extension, voir ci-dessus.
5- C’est du chargement temps réel… le flv n’est pas intégré au player. Juste l’url,parce que je n’ai pas jugé nécessaire de faire du “complètement dynamique” pour la démo. Mais le fichier est bel et bien chargé à la demande et il est possible de se déplacer dans le frames qui sont déjà en cache. Le player en lui même pèse 73kb.
Voilà, j’espère que j’ai répondu à tes question concernant la vidéo. Par contre, il faut quand même préciser que Flash, c’est bien plus que ça. Ce sont les animations vectorielles et surtout l’ActionScript qui devient un puissant langage de programmation qui permet de faire des applications complexes qui sont bien plus évoluées qu’un simple player, si on prend la peine de s’y attarder une peu. Par exemple (même si c’est complètement inutile) on peut imaginer une vidéo, avec tout ses contrôles, se déplaçant dans un espace 3D avec des filtres réagissant à la souris, au clavier ou même avec une webcam. C’est peut-être possible avec QuickTime, mais là, c’est à toi de me le démontrer
Cordialement,
Christophe
le 6 May 2008 à 01h12
Bien… je viens de laisser une tartine qui m’a pris 1/2 heure de rédaction mais visiblement, tout s’est perdu dans les méandres de l’Internet lors de l’envoi… alors je recommence. Si c’est une question de modération, merci de deleter celui-ci et de placer le premier.
Je commençais en m’excusant d’avoir pris autant de temps entre ton/mon mail et cette réponse. Je devais vérifier quelques petites choses pour être certain de ne pas dire de bêtises.
D’abord, je n’ai jamais prétendu que Flash était la solution miracle et universelle concernant les players vidéo. C’est vrai que ce n’est pas son boulot initial. Par contre, si on parle d’animation ou d’applications web (RIA) je pense qu’il domine largement la situation.
Concernant tes remarques, je vais y répondre point par point.
1- Concernant la lecture de n’importe quelle vidéos, c’est tout à fait possible à partir du moment ou l’on n’a pas besoin d’image par image et tant que la vidéo est codée dans un codec reconnu, le h264 en l’occurrence. J’ai testé avec la vidéo source, en .mov, et ça fonctionne parfaitement. Je n’ai pas testé avec une .mpeg4 mais d’autres m’assurent que ça fonctionne aussi.
2- Concernant l’image par image, pas moyen d’y échapper, il faut passer à un keyframing de 1 et donc repasser vers une flv. Mais en en réglant le max data rate sur 450, on gagne 5Mb sur la vidéo d’origine
L’originale fait 79.081 Mb et la flv fait 74.161 Mb. Tu vas me dire que ça doit se ressentir à l’image ? Là, je ne peux pas répondre car je n’ai pas de moniteur de contrôle vidéo mais juste des tft 22″ que j’utilise en développement. Mais pour pouvoir comparer le comparable, j’ai décidé de mettre en ligne la vidéo au même format que l’originale. Tu peux consulter l’originale sur http://www.apple.com/trailers/paramount/indianajonesandthekingdomofthecrystalskull/hd/ en cliquant sur le bouton “720p” dans la colonne “Trailer 1″. Mon player est toujours sur www.baizone.be/flvPlayer/ . Autant être prévenu, il faut une solide bande passante pour visionner les deux en parallèle. Compare et dis-moi ce que tu en penses.
Bon, là, c’est moi qui titille
Vu le résultat, je n’appelle pas ça “re-compresser” mais “ré-échantilloner”
3- Concernant le jog shuttle faisant du ralenti, c’est un oubli de ma part. Mais comme tu l’as dis, c’est lié au fps et au saut de frames et ce n’est pas une fonction native de Flash. Donc, tout à fait possible de ralentir la lecture.
4- Concernant les suffixes, voir ci-dessus.
5- Le fichier flv n’est pas encapsulé dans le player mais est bel et bien chargé à la demande. Seule l’url est hard-codée car je n’ai pas jugé nécessaire de faire du “tout dynamique” pour la démo. Et il est possible de se déplacer dans le frames déjà chargées en mémoire. Le player fait 73kb.
Voilà, j’espère avoir répondu à tes questions concernant le vidéo dans Flash. Par contre, Flash est bien plus puissant qu’un “simple” lecteur vidéo. Flash c’est aussi et surtout les animations vectorielles et l’ActionScript, langage puissant qui permet le développement d’applications complexes. C’est aussi AIR, qui permet maintenant des développement desktop. On peut imaginer (même si c’est totalement inutile) un player vidéo, muni de tout ses contrôles, se déplaçant dans un espace 3D, réagissant à la souris, au clavier ou même à la webcam ? Avec l’application de filtres, de transparences, de textes dynamiques, de superpositions de couches etc… etc…
C’est peut-être possible dans QuickTime mais là, c’est à toi de me le démontrer.
Cordialement,
Christophe Gossiaux
le 6 May 2008 à 05h15
@Chritophe: juste pour info, si tu mets plus de 2 liens dans ton commentaire, il doit être validé avant d’apparaître (pour éviter les vilains spam)
le 8 May 2008 à 13h35
i am gonna show this to my friend, brother
le 12 June 2008 à 14h19
Quicktime est une maladie que l’on doit éradiquer, comme tous les produit qui ne respectent pas la tranquillité de l’utilisateur. J’ai tellement eu des problemes avec les outils apple que je ne réinstallerais jamais le moindre programme de cet éditeur.
Flash ne casse jamais les couilles et se dirige vers un modèle de développement libre et omniprésent, voilà les raisons de son succès. Pour ce qui est du tableau comparatif plus haut, il contient des erreurs grossières : Accès à n’importe quelle frame déjà chargée : oui avec flash, avance et retour rapide : oui avec flash, cache crypté : heureusement que non !
Si la video n’est pas criptée, il n’y a pas de raison ! Par contre il est possible de crypter une video en lui appliquant un masque (ou trame) et en utilisant un bitmapData pour décrypter !
Toutes façons, pour résumer, quicktime a eu sa chance, qu’il a loupée, c’est pas la peine de revenir dessus.