Join MDN and developers like you at Mozilla's View Source conference, 12-14 September in Berlin, Germany. Learn more at https://viewsourceconf.org

Formats Media supportés par les éléments HTML audio et vidéo

Les éléments <audio> et <video> permettent la lecture de médias audio et vidéo sans nécessiter de plug-ins. Les codecs vidéo et les codecs audio sont utilisés pour traiter la vidéo et l'audio : des codecs différents offrent différents niveaux de compression et de qualité. Un format de conteneur est utilisé pour stocker et transmettre la vidéo et l'audio codés ensemble. De nombreuses combinaisons de codecs et de formats conteneurs existent, bien que seule une poignée d’entre eux soit pertinentes pour une utilisation sur le web.

Différents navigateurs ne supportent pas les mêmes formats de médias dans leurs implémentations de HTML5 audio et vidéo, principalement en raison de problèmes de brevets. Les formats de médias sur le web ont beaucoup souffert du droit des brevets dans de nombreux pays dont les États-Unis et les pays de l’Union européenne. (Les notes sur les brevets dans cet article sont fournies en l'état et sans aucune garantie.) Cet article présente les différents combinaisons de codecs et conteneurs adaptées au web, ainsi que leur support par les navigateurs.

Pour lire une vidéo HTML5 qui fonctionne dans les dernières versions de tous les principaux navigateurs, vous pouvez vous servir votre vidéo au format WebM et au format MPEG H.264 AAC, à l'aide de l'élément <source> comme ceci :

<video controls>
  <source src="video.webm" type="video/webm">
  <source src="video.mp4" type="video/mp4">
  Je suis désolé, votre navigateur ne supporte pas les vidéos HTML5
  au format WebM avec VP8 ni au format MP4 avec H.264.
  <!-- Vous pouvez intégrer un lecteur Flash ici pour lire la vidéo mp4 dans les anciens navigateurs -->
</video>

WebM

Le format WebM est basé sur une version restreinte du format conteneur Matroska. Il utilise toujours le codec vidéo VP8 ou VP9 et le codec audio Vorbis ou Opus. WebM est supporté nativement dans Gecko (Firefox), Chrome et Opera, et le support du format peut être ajouté à Internet Explorer et Safari (mais pas iOS) en installant un add-on.

Communiqué de Microsoft expliquant pourquoi IE9 ne supporte pas WebM nativement.

Tous les brevets connus sur le format WebM sont autorisés à tous gratuitement. Toutefois, puisque WebM est un format relativement nouveau, le format n'a pas encore subi l'épreuve du temps par rapport à d'éventuels problèmes de brevets cachés, selon Microsoft et Apple.

Gecko reconnaît les types MIME suivants comme des fichiers WebM :

video/webm
Une fichier média WebM contenant de la vidéo (et éventuellement de l’audio).
audio/webm
Un fichier média WebM contenant seulement de l’audio.

Ogg Theora Vorbis

Le format conteneur Ogg avec le codec vidéo Theora et le codec audio Vorbis est pris en charge dans Gecko (Firefox), Chrome et Opera, et le support du format peut être ajouté à Safari (mais pas iOS) en installant un add-on. Le format n'est pas pris en charge dans Internet Explorer.

WebM est généralement préférée à Ogg Theora Vorbis lorsqu'il est disponible, car il offre un meilleur rapport compression/qualité et est supporté par plus de navigateurs. Le format Ogg peut cependant être utilisé pour le support de navigateurs plus anciens (par exemple, Firefox 3.5/3.6 ne gère pas WebM mais supporte Ogg).

La situation des brevets de Theora est similaire à celle de WebM.

Vous pouvez en apprendre plus sur la création de médias Ogg en lisant le Livre de cuisine de Theora.

Gecko reconnaît les types MIME suivants comme des fichiers Ogg :

audio/ogg
Un fichier Ogg contenant uniquement de l’audio.
video/ogg
Un fichier Ogg contenant de la vidéo (et éventuellement de l’audio).
application/ogg
Un fichier Ogg au contenu non spécifié. Utiliser l'un des deux autres types MIME est préférable, mais vous pouvez utiliser celui-ci si vous ne connaissez pas le contenu du fichier.

Ogg Opus

Le conteneur Ogg peut également contenir de l'audio encodé avec le codec Opus. Cette technologie est disponible dans Gecko 15,0 et plus.

MP4 H.264 (AAC ou MP3)

Le format conteneur MPEG avec le codec vidéo H.264 et le codec audio AAC ou le codec audio MP3 est supporté nativement par Internet Explorer, Safari et Chrome mais pas par Chromium et Opera. Firefox prendra bientôt en charge le format, mais seulement quand un décodeur tiers sera disponible.

Les formats MPEG médias sont couverts par des brevets, qui ne sont pas sous licence libre. Tous les permis nécessaires peuvent être achetés auprès de MPEG LA. Puisque H.264 n'est pas un format libre de droits, il est impropre à la plate-forme Web ouverte, selon Mozilla [1, 2], Google [1, 2] et Opera. Toutefois, étant donné que les formats libres ne sont pas pris en charge par Internet Explorer et Safari, Mozilla a quand même décidé d'inclure les codecs. De plus, Google n'a jamais rempli leur promesse de retirer sa prise en charge par Chrome.

WAVE PCM

Le format conteneur WAVE, avec le codec audio PCM (WAVE codec "1") est pris en charge par Gecko (Firefox) et Safari. Les fichiers au format WAVE finissent généralement par l'extension ". Wav".

Remarque: Voir la RFC 2361 pour le registre codec WAVE.

Gecko reconnaît les types MIME suivants sous forme de fichiers audio WAVE :

  • audio/wave (de préférence)
  • audio/wav
  • audio/x-wav
  • audio/x-pn-wav

Compatibilité des navigateurs

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Support de base 3.0 3.5 (1.9.1) 9.0 10.50 3.1
<audio>: WAVE, PCM (Oui) 3.5 (1.9.1) Pas de support 10.50 3.1
<audio>: Vorbis dans WebM (Oui) 4.0 (2.0) Pas de support 10.60 3.1 (doit être installé séparément)
<audio>: Streaming Vorbis dans WebM via Media Source Extensions (MSE) ? 36.0 (36.0) seulement dans l'édition développeur et la version Nightly ? ? ?
<audio>: Ogg, Vorbis (Oui) 3.5 (1.9.1) Pas de support 10.50 3.1 (doit être installé séparément, par exemple XiphQT)
<audio>: MP3 (Oui) (Pas dans Chromium) Partiel (voir ci-dessous) 9.0 (Oui) 3.1
<audio>: MP3 dans MP4

?

? ? ? (Oui)
<audio>: AAC dans MP4

(Oui) (seulement principal) (Pas dans Chromium)

Partiel (voir ci-dessous)

9.0 (Oui) 3.1
<audio>: Opus dans Ogg 27.0 15.0 (15.0) ? ? ?
<video>: VP8 et Vorbis dans WebM 6.0 4.0 (2.0) 9.0 (doit être installé séparément, par exemple WebM MF) 10.60 3.1(doit être installé séparément, par exemple Perian)
<video>: VP9 et Opus dans WebM 29.0 28.0 (28.0) ? (Oui) ?
<video>: Streaming VP9 et Opus/VP8 et Opus dans WebM via Media Source Extensions (MSE) ? 36.0 (36.0) seulement dans l'édition développeur et la version Nightly ? ? ?
<video>:  Theora et Vorbis dans Ogg (Oui) 3.5 (1.9.1) Pas de support 10.50 3.1 (doit être installé séparément, par exemple XiphQT)
<video>:  H.264 et MP3 dans MP4

(Oui) (Pas dans Chromium)

Partiel (voir ci-dessous) 9.0 (Oui) (Oui)
<video>: H.264 et AAC dans MP4

(Oui) (Pas dans Chromium)

Partiel (voir ci-dessous) 9.0 (Oui) 3.1
autre format Pas de support Pas de support Pas de support Pas de support 3.1 (joue tous les formats disponibles via QuickTime)
Fonctionnalité Android Firefox Mobile (Gecko) Firefox OS (Gecko) IE Mobile Opera Mobile Opera Mini Safari Mobile Chrome pour Android
Support de base 2.3 24.0 1.0.1 10.0 11.0 Partiel (voir ci-dessous) 3.2 29.0
<audio>: WAVE, PCM ? 24.0 1.0.1 Pas de support Pas de support Partiel (voir ci-dessous) 3.2 ?
<audio>: Vorbis dans WebM ? 24.0 1.0.1 Pas de support 11.0 Partiel (voir ci-dessous) Pas de support ?
<audio>: Streaming Vorbis dans WebM via Media Source Extensions (MSE) ? ? ? ? ? ? ? ?
<audio>: Vorbis dans Ogg ? 24.0 1.0.1 Pas de support 11.0 Partiel (voir ci-dessous) Pas de support ?
<audio>: MP3 ? Partiel (voir ci-dessous) Partiel (voir ci-dessous) 10.0 ? Partiel (voir ci-dessous) 3.2 ?
<audio>: MP3 dans MP4 ? ? ? ? ? ? (Oui) ?
<audio>: AAC dans MP4 ? Partiel (voir ci-dessous) Partiel (voir ci-dessous) 10.0 ? Partiel (voir ci-dessous) (Oui) ?
<audio>: Opus dans Ogg Pas de support 24.0 Pas de support Pas de support Pas de support Partiel (voir ci-dessous) Pas de support Pas de support
<video>:  VP8 et Vorbis dans WebM 2.3 24.0 1.0.1 Pas de support 16.0 Partiel (voir ci-dessous) Pas de support 29.0
<video>: VP9 et Opus dans WebM ? ? ? ? ? ? ? ?
<video>: Streaming VP9 et Opus/VP8 et Opus dans WebM via Media Source Extensions (MSE) ? ? ? ? ? ? ? ?
<video>: Theora et Vorbis dans Ogg Pas de support 24.0 1.0.1 Pas de support Pas de support Partiel (voir ci-dessous) Pas de support Pas de support
<video>:  H.264 et MP3 dans MP4 Partiel (voir ci-dessous) 24.0 Partiel (voir ci-dessous) 10.0 Partiel à partir de 11.0, complet à partir de 16.0 Partiel (voir ci-dessous) (Oui) 29.0
<video>: H.264 et AAC dans MP4 Partiel (voir ci-dessous) 24.0 Partiel (voir ci-dessous) 10.0 Partiel à partir de 11.0, complet à partir de 16.0 Partiel (voir ci-dessous) 3.2 29.0
autre format ? ? ? ? ? ? ? ?

Notes:

  • AAC est supporté uniquement dans le conteneur MP4.
  • Opera Mini ne supporte aucun format vidéo ou audio lui-même, mais ils sont transmis au système pour être joués si le format est supporté. Opera Mobile le fait aussi pour les formats non supportés.
  • Pour obtenir le navigateur Android jouant par défaut les vidéos au format H.264, il vous faudra réaliser certaines étapes, expliquées par Peter Gasston.
  • Dans Firefox OS 1.0.1, en détectant le support de <video> pour les différents formats, HTMLMediaElement.prototype.canPlayType renvoie true par erreur pour les vidéos h.264 alors qu'elle ne sont pas supportées. Ce problème a été corrigé dans Firefox OS 1.1.
  • Pour éviter des problèmes de brevets, le support pour MPEG 4, H.264, MP3 et AAC n'est pas compilé directement dans Firefox sur ordinateur et mobile (Android et Firefox OS). Il dépend du support par le système d'exploitation ou la carte graphique (la carte graphique doit aussi supporter le profil utilisé pour encoder la vidéo, dans le cas de MP4). Firefox pour ordinateur supporte ces formats sur les plateformes suivantes :
Plateforme version de Firefox
Windows Vista+ 22.0+
Android 20.0+
Firefox OS 15.0+
Linux

26.0+ (dépend des codecs GStreamer)

OS X 10.7+ 35.0+

Voir aussi

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : Hell_Carlito, stof, SyBen, wakka27, tregagnon, Goofy, Blancdememoire
 Dernière mise à jour par : Hell_Carlito,