====== Streams: formats et intégration ======
Sur Fansub Streaming, il y a des streams :-) Autour de 1000 streams WebM, intégrés en HTML 5.
Dans cet article, nous allons apprendre la théorie sur le format WebM, ainsi que l'intégration de streams WebM dans les pages web :-) La création de ces fichiers WebM ça sera pour un article ultérieur.
===== HTML 5: la guerre des formats =====
* OGG
* Liste numérotéeTheora
* Vorbis
* Pas de royalties
* MP4
* MPEG-4 AVC "H.264"
* AAC
* Royalties
* WEBM
* VP8
* Vorbis
* Pas de royalties
Contexte: le web s'est depuis toujours développé autour de formats exempts de tout payement de royalities: vous pouvez utiliser ces formats sans vous acquitter d'une licence d'utilisation auprès de son ayant-droit. Mais coup de théâtre lors de la normalisation HTML 5 portant sur les éléments multimédia (vidéo et audio): le W3C n'exige pas de la part des navigateurs qu'ils n'utilisent pas de formats soumis à royalities. Deux intervenants ont immédiatement pris position, l'un contre l'autre: Apple et Mozilla. Le premier, qui possède des droits sur le format MPEG-4 AVC, poussa ce format dans son navigateur Safari. Le second, qui défend l'ouverture du web, s'appuya sur le seul format libre de tout royalities ayant été suffisamment développé alors: Theora.
Problème: si MPEG-4 AVC est unanimement reconnu comme le format vidéo à compression DCT le plus puissant du moment, Theora accuse un sérieux retard technologique, qui le place à peine mieux que MPEG-4 ASP, très connu sous l’appellation "DivX" .
La situation aurait pu durer si entre temps un nouveau mastodonte n'entra pas dans l'arène: Google inclua à Chrome à la fois des décodeurs MPEG-4 AVC et Theora. Et puis ils rachetèrent On2, l'entreprise qui créa le format VP3 dont est dérivé Theora: entre temps ils avaient développé de nouveaux formats, dont leur plus récent: VP8. Ce dernier, Google le plaça sous une licence spécifique "royality-free" , ce qui autorisa les autres défenseurs du web ouvert de supporter le format. VP8 est l'un des formats les plus proches de MPEG-4 AVC, réduisant drastiquement la différence qualitative entre MPEG-4 AVC et les formats "royality-free" .
Si Google, Mozilla et Opera Software se sont clairement positionnés en faveur des formats "royality-free" , Microsoft ne soutient que mollement MPEG-4 AVC (support à partir de Internet Explorer 9 seulement, parts de marché faibles) et Apple se retrouve isolé. Surtout que Google, avec sa plateforme Youtube, a le rôle de chef d'orchestre en la matière (et ce d'autant plus que les iPhone et iPad ne supportent pas Flash).
===== Les meilleurs encodeurs à l'heure actuelle =====
Un format peut avoir une qualité médiocre comme excellente, tout dépend de la puissance de l'outil utilisé pour générer ce format. On ne peut que difficilement comparer des formats entre eux, par contre on peut bien comparer les encodeurs.
libtheora est notamment présent dans l'encodeur ffmpeg2theora (édité par v2v.cc), outil simple d'usage et qui tire le meilleur pour le format Theora. Développement faible, progrès faible.
x264 est un projet parallèle chapeauté par la fondation VideoLAN, est un encodeur extrêmement puissant et complet, très souvent utilisé. Développement soutenu, progrès faible.
Squeeze est un logiciel d'encodage multiformats qui arrive à de très bons résultats, tout particulièrement avec MPEG-4 AVC. Développement moyen, progrès moyen.
libvpx peut être utilisé en indépendant (vpxenc) ou couplé à la suite libre ffmpeg. Seul encodeur réellement fonctionnel pour le format VP8, il lui manque encore pas mal d'optimisations psychovisuelles et processeur, développement très soutenu, progrès rapide.
===== Intégration de streams WebM =====
En HTML, quand vous voulez intégrer une image, voici la syntaxe telle que recommandée par le W3C pour les normes HTML 4.01 et 5:
L'ordre des paramètres n'est pas important. L'intégration de streams WebM est similaire:
Ça c'est le code minimal. On va ajouter les contrôles (lecture/pause, volume,..) et un avertissement qui sera affiché si le navigateur ne sait pas traiter la balise