# Vidéo HTML5

Open Video est un élément introduit dans le langage informatique HTML5 dédié aux pages web, qui permet une meilleure incorporation des vidéos dans l'Internet par ses navigateurs. Les créateurs de l'élément ont l'intention d'en faire la nouvelle norme pour la lecture de vidéos en ligne, mais l'absence d'accord en ce qui concerne les formats de vidéos supportés a gêné son essor.

## Exemples d'élément <video>

Le fragment de code suivant placera une vidéo WebM dans une page internet.

### Sources multiples

Grâce à un nombre illimité d'éléments <source>, voir ci-dessous, le navigateur choisira automatiquement le fichier à télécharger. Autrement, la fonction de JavaScript canPlay le fera. L'attribut "type" précise le type MIME et peut-être une liste de codecs, qui aide le navigateur à déterminer s'il est capable de déchiffrer le fichier. Même dans le cas d'un choix unique, de tels indices pourraient être nécessaires à un navigateur hypothétique examinant son ossature multimédiatique pour les codecs de tiers. À cause du manque de format commun, cette fonctionnalité de sources multiples s'impose pour éviter la détermination par le navigateur, ce qui est source d'erreurs. Vu que la connaissance de tout développeur sera inévitablement incomplète, c'est le navigateur en question qui décide.

## Formats de vidéo soutenus

   Les spécifications avant-projet actuelles de HTML5 ne précisent pas les formats de vidéo que les navigateurs doivent soutenir. Les agents utilisateurs (user agents) sont libres de soutenir tout format de vidéo qu'ils estiment approprié, mais les auteurs de contenu ne peuvent pas supposer que toute vidéo sera à portée de tous les agents utilisateurs, puisque ceux-ci n'ont pas un minimum de formats vidéo à respecter.

### Le débat de format par défaut

Le groupe de travail de HTML5 estime préférable de préciser au moins un format de vidéo que les navigateurs soutiendront. Le format idéal:
* aurait une compression de données puissante, une bonne qualité d'images et une utilisation de processeur minimale pour le déchiffrement
* serait exonéré de droits d'auteur
* en plus des déchiffreurs de logiciel, un déchiffreur de matériel vidéo s'impose pour le format, car de nombreux processeurs embarqués ont insuffisamment de puissance pour déchiffrer les vidéos
Au début, Ogg Theora était la norme conseillée de HTML5, n'étant pas affectée par un brevet. Or, le 10 décembre 2007, on mit à jour la stipulation HTML5, remplaçant la référence aux formats concrets par un passe-partout.
Bien que Theora ne soit pas affecté par un brevet connu, des entreprises comme Apple et (selon certains) Nokia s'inquiètent de la présence de brevets inconnus qui auraient un effet sur le navigateur, dont les propriétaires attendent son emploi par une société de poids considérable avant de la poursuivre en justice. Des formats tels que H.264 pourraient, en principe, être soumis à des brevets inconnus, mais leur emploi d'envergure suggère que les titulaires potentiels se seraient déclarés. Apple s'est également opposé à l'exigence que Ogg soit soutenu par la norme HTML (même comme une préférence) en raison du fait que certains appareils pourraient soutenir d'autres formats plus facilement, et que HTML n'a jamais exigé de formats.
Certains développeurs ont critiqué le retrait des formats Ogg de la stipulation. Une discussion complémentaire avait eu lieu au moyen d'une foire aux questions au W3C.
H.264/MPEG-4 AVC s'utilise à grande échelle, et est muni d'une bonne vitesse, compression et qualité de vidéo. Il est largement supporté par du matériel de décompression. Sauf dans des cas spéciaux, les utilisateurs de H.264 doivent payer un accord de licence à MPEG LA, un groupe de titulaires de brevet qui comprend Microsoft et Apple. En conséquence, il n'est pas considéré comme un codec.
En juin 2009, le WHATWG (collaboration non officielle de développeurs de navigateurs) conclurent qu'aucun format ne satisferait aux besoins précisés.

#### L'achat d'On2 par Google

L'acquisition par Google d'On2 en 2010 entraîna l'acquisition du format vidéo VP8. Google a offert une licence exempte de redevances. Il a également mis en route WebM, qui allie le codec vidéo VP8 (non-normalisé mais à code source libre) avec audio Vorbis dans un conteneur Matroska. La Free Software Foundation a accueilli l'ouverture de VP8.
Lors de la révélation de Google en janvier 2011 qu'il mettrait fin au support natif de H.264 pour Chrome, les critiques furent nombreuses et diverses, Peter Bright d'Ars Technica et l'évangéliste internautique Tim Sneath comparèrent la décision de Google à la déclaration de faire de l'espéranto, la langue officielle des États-Unis. Cependant, Haavard Moen d'Open Software attaqua vivement l'article d'Ars Technica, et Google rétorqua en clarifiant son intention de faire avancer l'insertion de WebM dans ses produits grâce aux franchises.
Après le lancement de WebM, Mozilla et Opera ont exigé l'inclusion de VP8 dans HTML.

## Support navigateur

Le tableau montre les formats de vidéo que les agents utilisateurs supportent probablement. La plupart de navigateurs ci-dessous emploient un framework multimédia pour le déchiffrage et la projection des vidéos, au lieu d'incorporer de tels éléments de logiciel. En règle générale on ne peut pas déterminer les formats supportés par le framework multimédia sans la mettre à la recherche, puisqu'ils dépendent du système d'exploitation et les codecs de tiers. Dans de tels cas, le support du format vidéo est un attribut de l'ossature, non du navigateur (ou son moteur de rendu), en supposant que le navigateur recherche correctement son ossature multimédia avant de rejeter les formats inconnus. Dans quelques cas, le support cité est plutôt une extension du navigateur, qui pourrait, par exemple, contourner son analyse HTML habituelle de la balise <video> pour embarquer un lecteur de vidéo à base d'extensions ou greffons.
Les valeurs indiquent le niveau de support dans la dernière version du moteur de rendu, ou (si numéro de version) dans la version précisée. Les numéros de versions sans aucune autre valeur indiquent la version à partir de laquelle le moteur commençait son support total de la fonctionnalité.
| Navigateur | Dernière parution de version stable | Formats supportés par les navigateurs | Formats supportés par les navigateurs | Formats supportés par les navigateurs |
| Navigateur | Dernière parution de version stable | Ogg Theora | H.264 | VP8 (WebM) |
| Internet Explorer | 11 | installation manuelle | 9.0 | installation manuelle |
| Mozilla Firefox | 92 | depuis 3.5 | depuis 35 | depuis 4.0 |
| Google Chrome | 93 | depuis 3.0 | depuis 3.0 | depuis 6.0 |
| Chromium | r918952 | depuis r18297 | Non | depuis r47759 |
| Android browser | 92 | Non | 4.4 | 2.3 |
| Safari | 14.1.2 | installation manuelle | 3.2 | depuis 12.1 |
| Opera | 78 | depuis 10.50 | depuis 24 | 10.60 |
| Konqueror | 21.8.1 | 4.4 | Non | Oui |
| GNOME Web | 40.3 | 2.28 | Non | Oui |

## Utilisation

Depuis avril 2010, à la suite du lancement de l'iPad Apple, un nombre de sites importants se sont mis à utiliser les vidéos H.264 HTML5 au lieu de Flash pour les agents utilisateurs s'identifiant comme iPad.
Depuis mai 2010, les vidéos HTML5 ne sont pas actuellement aussi étendues que celles de Flash, mais de récents déploiements de lecteurs de vidéo expérimentaux à base de HTML5 de DailyMotion (utilisation des formats Ogg Theora et Vorbis), YouTube (utilisation des formats H.264 et WebM) et Vimeo (utilisation du format H.264) suggèrent que l'intérêt pour HTML5 est en hausse.
Certains sites d'hébergement de vidéos ont annoncé qu'ils continueraient de se servir de technologies autres que la vidéo HTML5. Selon une discussion sur YouTube en juin 2010, la balise <video> ‹‹ne satisfait pas aux besoins d'une site comme YouTube››. Les raisons principales seraient la manque de format de norme, l'absence d'un moyen efficace et fiable de porter le contenu au navigateur, l'incapacité de JavaScript de projeter en plein écran, et des questions de droits numériques. Hulu, lui aussi, n'a pas adopté HTML5 à cause de son incapacité de fournir des vidéos adaptées au débit, de protéger le contenu du producteur et de fournir des données aux annonceurs. Netflix déclara que beaucoup de questions l'empêche d'employer la vidéo HTML5: acceptabilité de formats de conteneur audiovisuel, acceptabilité de codecs audio et vidéo, protocole de diffusion en flux, la façon pour le protocole de flux de s'adapter au débit disponible, le moyen de transmettre les renseignements des flux disponibles et d'autres paramètres au module de flux; un moyen de supporter le contenu protégé, et un moyen de transmettre toutes ces fonctionnalités à HTML5.
Le 11 janvier 2011, le projet Chromium de Google annonça par leur journal en ligne qu'il enlèverait le support des codecs fermés (surtout H.264) des versions de Chrome à venir. Cette déclaration mentionna en particulier que ce retrait constituait une démarche afin d'augmenter l'utilisation de HTML5 sans licence et la balise <video>, incitant une adoption universelle des codecs à source libre de VP8 et Theora. Le 2 février 2011, Microsoft déploya l'extension HTML5 du Lecteur Windows Media pour Chrome, qui ajouta la capacité d'utiliser le lecteur H.264 (sous licence et faisant partie du paquet Windows) pour relire le contenu H.264 avec Chrome.
Un nombre de lecteurs de vidéo HTML5 avancés et des solutions à plus grande échelle ont fait leur apparition. Le lecteur SublimeVideo était le premier à démontrer qu'un lecteur personnalisé pourrait fournir une projection meilleure que celle du lecteur originel du navigateur, y compris un seul lecteur pour tous les appareils, recours au Flash pour les appareils incompatibles et une véritable capacité de plein écran. D'autres choix estimés comprennent JW Player, Video JS et MediaElement.js.

## Le dilemme de Mozilla

Premier éditeur à fournir un navigateur stable intégrant la balise vidéo (la version 3.5 est sortie en juin 2009), Mozilla a toujours cherché à défendre un format vidéo ouvert, débarrassé de brevets$^,$. Après le rachat d'On2 par Google et l'acquisition du codec VP8, Mozilla espérait avec WebM, avoir un codec ouvert, réunissant des acteurs de poids, capable de contrebalancer H.264. Surtout après l'annonce de Google, en janvier 2011, d'enlever H.264 de son navigateur Google Chrome et celle d'Abobe en mai 2011 d'intégrer le codec VP8 dans Flash. La position de Google prenait d'autant plus de sens, que sa place dans les mobiles via Android, augmentait (Android 2.3 peut lire WebM). Les fabricants de cartes graphiques permettant de décoder matériellement le VP8$^,$$^,$. Enfin, YouTube, leader dans le partage de vidéo, propose des vidéos avec les 2 formats (H.264 et WebM).
Malheureusement, Android n'utilise toujours pas les possibilités des puces graphique de décoder matériellement le VP8. Chrome lit toujours le H.264 en plus du WebM. Adobe n'a pas intégré le VP8. Enfin Google a racheté Motorola en août 2011, cette firme possédant des brevets sur le H264.
La volonté de Mozilla de prendre une place dans les mobiles achoppe sur la forte présence des codecs propriétaires mp3 et H.264 sur ces appareils où ils bénéficient de l'accélération matérielle et procurent ainsi une meilleure autonomie et une plus grande fluidité. Mozilla prend alors la décision d'incorporer ces codecs si le système le propose$^,$. Cela commencera d'abord sur le mobile avec la version 17. À terme, Windows Seven (et supérieur), Mac OS X et les plates-formes GNU/Linux (via Gstreamer) possédant ces codecs pourraient profiter de ce changement de politique.
Un changement reste possible avec le WebRTC où un codec audio ouvert a pu émerger: Opus. Un codec vidéo doit aussi être choisi et Mozilla et Google souhaite s'appuyer sur le VP8/WebM

## Codec

Le principal codec utilisé est le format WebM, mais certains navigateurs supportent également Ogg Theora ou H.264.
Le codec est implémenté en natif dans le navigateur et ne nécessite dès lors plus aucune extension à ajouter au navigateur pour lire le contenu vidéo, tel que c'était le cas pour les formats vidéo existants jusqu'alors (comme Adobe Flash).