Les Trois Codecs Vidéo FlashLes Trois Codecs Vidéo Flash

juin 2009 | Pierre Boureau

Introduction

Le développement des technonologies liées à l’internet s’annoncent prometteurs [1]. HTML 5, encore en cours de définition, prévoie notamment la possibilité d’embarquer directement au sein des pages web les fichiers vidéos sans faire appel à des outils tiers (plugins). Des formats ouverts, comme le trop méconnu OGG, de la fondation Xiph, seront alors facilement accessible à tous... Le navigateur prendra ainsi en charge la lecture de ces fichiers comme il le fait déjà pour les images, le texte et certains fichiers audio, se substituant alors totalement aux différents lecteurs multimédia des systèmes d’exploitation.
[ajout 2011] : Le format webm de Google est aujourd’hui une alternative ouverte encore plus crédible aux codecs propriétaires.

Cette différence notable avec la situation actuelle promet de clarifier la problématique de partage des fichiers vidéos en ligne.
En effet, les différences entre les système Windows, MacOs ou GNU/Linux ont parfois rendu l’expérience de navigation difficile pour l’internaute du début des années 2000. Les éditeurs de contenu devaient choisir de privilégier une technologie donnée, incompatible avec les autres, et excluaient à chaque fois les visiteurs qui n’étaient pas équipés des outils choisis !
Cette situation était entretenue par les différentes parties en présence (Microsoft et WindowsMedia ; Real Networks avec RealMedia ; Apple et QuickTime...), chacun ayant l’ambition à terme d’imposer à tous sa propre technologie propriétaire comme standard de fait...

Un imbroglio que Flash a néanmoins largement contribué à atténuer ces dernières années en proposant une solution légère et accessible pour la très grande majorité des systèmes d’exploitation.

Avant donc que des solutions vraiment libres et ouvertes ne finissent par s’imposer, la pertinence du plugin Flash a rendu celui-ci pratiquement incontournable. Il équipe aujourd’hui la majorité des ordinateurs. Adobe publie ainsi les taux de pénétration des versions de son plugin sur les machines des internautes. Si ces chiffres sont à prendre avec la réserve qui s’impose, ils traduisent tout de même une réelle égémonie...

Le plugin Flash, depuis son origine, a été conçu pour lire des animations vectoriels au format .swf, format natif du logiciel Macromedia Flash. Il prend également en charge les principaux formats d’images (.gif, .jpg, .png), ainsi que le son .mp3. Les versions les plus récentes du plugins permettent depuis quelques années l’associations de fichiers videos aux animations SWF traditionnelles. Flash Plugin s’est ainsi progressivement transformé en lecteur multimedia embarqué, au grand bonheur de site comme YouTube ou Dailymotion...

Les trois exemples qui suivent ne prétendent pas fournir de conclusions définitives sur les mérites comparés des algorithmes de codage [2] vidéo supportés par Flash. Les trois fichiers vidéo attachés à cet article ont des poids comparables (environs 2 Mo pour 32 secondes) et leur taille d’affichage a été choisie de façon a fournir des séquences au rendu équivalent, même si cette notion est assez subjective...

L’ancêtre H.263

  • Version Flash Compatible : Flash v.6 (Mars 2002)
  • Codec Video disponible : H.263 (Sorenson Spark)
  • Codec Audio disponible : MP3
  • Format conteneur : FLV
Big Buck Bunny - Bande Annonce - Codec h.263 - 320x180px - 512Kbps - encodé avec FFmpeg
flv

Initialement standardisé pour la visioconférence à la fin des années 90, le codec H263 (aussi connu en version propriétaire sous le nom commercial "Sorenson Spark") est aujourd’hui vieillissant. Ses performances de compression apparaissent limitées face à la concurrence d’algorithmes plus récents, mais il conserve néanmoins deux atouts importants :

  • Il est très peu gourmand en ressource pour le codage comme pour le décodage. La compression logicielle est ainsi rapide, et le fichier compressé est lu de façon fluide - y-compris sur de vieilles machines -, ce qui augmente sensiblement l’accessibilité des vidéos ainsi produites...
  • le codage et le décodage sont parfaitement supportés par les logiciels libres comme FFmpeg ou Mencoder, et tous leurs dérivés. Le coût d’utilisation de ce codec est donc extrèmement compétitif à tous points de vue

TrueMotion VP6 - L’alter Ego du DivX

  • Version Flash Compatible : Flash v.8 (Aout 2005)
  • Nouveau Codec Video supporté : ON2 VP6
  • Format conteneur : FLV
Big Buck Bunny - Bande Annonce - Codec ON2 VP6 - 368x202px - 512Kbps - encodé avec Adobe MediaCoder CS4
flv

Plus récent, le codec VP6 de la société ON2 a marqué son territoire au milieu des années 2000. Choisi d’abord par Macromedia pour Flash 8, puis par Skype pour supporté la visioconférence, VP6 a encore sans doute de beaux jours devant lui... Apparu au même moment que le divX et ses dérivés, le codec VP6 domine aujourd’hui la vidéo sur le web...

Seul bémol à ce tableau flatteur : il n’existe à l’heure actuelle aucune possibilité pour encoder des vidéos VP6 sans s’affranchir de licences couteuses. Les principaux encodeurs logiciels sont aujourd’hui distribués par Sorenson, Adobe ou ON2...

Mpeg4-AVC (H.264) - Les bases de la HD

  • Version Flash Compatible : Flash v.9.0.115 (Décembre 2007)
  • Nouveau Codec Video supporté : H.264-AVC
  • Nouveau Codec Audio supporté : AAC
  • Format conteneur : MP4, F4V, M4V
Big Buck Bunny - Bande Annonce - Codec h.264 - 640x368px - 512Kbps - encodé avec FFmpeg/x264
mp4

Le codec H.264, ou MPEG-4 AVC, est sans conteste le plus puissant des 3 codecs vidéos supportés par Flash. Publiées en 2003, ses spécifications font l’objet de brevets aux États-Unis et son usage n’est pas officiellement libre, même si l’Union Européenne ne reconnait pas pour le moment la validité des brevets logiciels [3]. Depuis fin 2008, le codec est associé au nouveau format propriétaire f4v dans Adobe Media Encoder CS4.

La librairie libre x264, sous-projet de VideoLan, offre ainsi des possibilités (légales en Europe jusqu’à preuve du contraire) d’encodage et de décodage bon marché par l’intermédiaire de logiciels libres comme FFmpeg ou VLC MediaPlayer. Mais pour ne pas prendre de risques inconsidérés vis-à-vis d’attaques juridiques toujours possibles [4], les promotteurs du logiciel libre distribuent généralement FFmpeg sans support du H.264. Sa prise en charge doit donc faire l’objet d’une compilation particulière, souvent inaccessibles au commun des utilisateurs, freinant ainsi le rayonnement des outils libres - ce qui ne doit pas trop gêner les partisants de la brevetabilité des logiciels...

Le codec H.264 requière une puissance de calcul importante. Son encodage par des solutions logicielles est long et nécessite des processeurs puissants. Sur des machines vieillissantes, ne disposant pas de carte graphiques prenant en charge le décodage matériel du H.264, la lecture de ces vidéos peut s’avèrer saccadée. Mais l’avenir de cette technologie est assuré. Choisit par la plupart des diffuseurs de TVHD, le codec est également supporté nativement par un nombre croissant de caméra vidéo. La norme offre une qualité de compression remarquable, même à faible débit. On retrouve donc H.264 aussi bien dans la diffusion TVHD, sur les disques DVD Blu-Ray, que depuis 2007 sur Internet. Mais il faudra une version relativement récente de Flash Player pour pouvoir lire ce type de fichiers.
Seul aujourd’hui le projet de codec libre Dirac, de la British Broadcast Corporation (B.B.C. - télévision publique britannique), semble en mesure de concurrencer à terme H.264...

Un projet libre de module H.264 pour les principaux serveurs web (Apache, Lighttpd, etc...) permet en outre une diffusion des fichiers en pseudo-streaming. On peut alors "piloter" un fichier vidéo volumineux avant la fin de son téléchargement complet - ce qui peut prendre du temps - en s’affranchissant de solution d’hébergement propriétaires particulièrement onéreuses... Plusieurs exemples de fichiers longs, hébergés sur un serveur lighttpd disposant du module h264-pseudostreaming sont disponible sur ce site...

De surcroit, encapsulées dans un fichier MP4 [5], les vidéos s’avèrent parfaitement compatible avec la technologie Apple/QuickTime. Le même fichier est ainsi podcastable et lisible par un nombre croissant de baladeurs vidéo...

Big Buck Bunny - Bande-Annonce - H264 - 1280x720px - 1Mb/s - encodé avec FFmpeg/x264
mp4

Références

  • Le court-métrage d’animation “Big Buck Bunny” est disponible sous licence Creative-Commons-By sur le site du Peach Open Movie Project bigbuckbunny.org

Notes

[1À propos des perspectives offertes par HTML5 pour la vidéo, voir le Blog de Laurent Maisonnave ou le blog de Papy Geek

[2Codec : contraction de codeur/décodeur. Schématiquement, le codec est une formule mathématique qui permet d’enregistrer les informations décrivant un fichier multimedia dans un minimum de place. Le codec intervient directement dans le processus de compression. Voir Codec sur Wikipedia

[4Voir la page Legal Issues du site officiel de FFmpeg

[5Le format de fichier MP4, définie par la norme Mpeg-4 Part 14, est un dérivé du format MOV utilisé par QuickTime.

Ajouter un commentaire


SPIP v.3.0.17 [21515] | | Plan du site | Suivre la vie du site RSS 2.0