Dans cet article, vous allez découvrir les principes de base des fichiers multimédias, tels que les concepts de conteneur, ainsi que quelques-uns des nombreux formats de codec disponibles que vous pouvez utiliser dans un flux. Nous abordons également brièvement des sujets tels que le streaming adaptatif, le débit et la résolution, mais nous y reviendrons plus en détail dans les sections suivantes.
Diffuser des fichiers vidéo
Vous pensez peut-être pouvoir prendre un fichier brut d'une caméra vidéo et l'importer sur le Web tel quel. En effet, les sites de streaming vidéo tels que YouTube ou Vimeo vous permettent de le faire et même de diffuser du contenu en direct, généralement en vous connectant au port HDMI de votre caméra, puis en le traitant via une carte de capture. Ces services simplifient grandement le traitement et l'importation des vidéos, ce qui inclut la génération des nombreux fichiers et fichiers manifestes nécessaires au streaming adaptatif et à différentes résolutions. Sans compter les nombreuses autres exigences complexes et nuancées qui rendent l'auto-hébergement un peu pénible. Préparer et diffuser une vidéo à partir de votre propre site, et probablement d'un serveur multimédia distinct, est un peu plus compliqué que de simplement importer un fichier brut de l'appareil photo si vous vous souciez de l'expérience utilisateur sur votre site.
Les fichiers vidéo se présentent sous différents formats. Le format de votre appareil photo est généralement un fichier .mov
ou .mp4
si vous possédez un bon appareil photo sans miroir moderne.
Toutefois, bien qu'un fichier .mov
soit adapté à l'enregistrement, au montage et à d'autres processus de post-production précoces, sa taille ne le rend pas adapté au streaming sur le Web. De plus, la taille de fichier d'un .mp4
brut en 4K rend la lecture de ce fichier sur mobile très prohibitive. Étant donné que les navigateurs acceptent différents formats de fichiers, vous devrez créer plusieurs fichiers optimisés et éventuellement un fichier manifeste si vous prévoyez de prendre en charge le streaming adaptatif. Avant de convertir des fichiers, vous devez comprendre quelques principes de base sur eux et sur leurs caractéristiques.
Conteneurs, codecs et flux ?
Le fichier que vous voyez dans le shell de votre système d'exploitation est un conteneur, identifié par une extension de fichier (.mp4
, .webm
, .ogg
, etc.). Le conteneur contient un ou plusieurs flux. Un fichier multimédia peut contenir un nombre illimité de flux, dans un nombre beaucoup plus important de formats que nous n'allons pas développer ici.
Les exemples de fichiers utilisés plus loin dans cette section contiennent au maximum deux flux: un flux audio et un flux vidéo. Parmi les autres types que vous pouvez rencontrer, citons les sous-titres et les données, qui ne sont pas abordés dans cet article. Il existe des cas où les flux audio et vidéo sont traités séparément. La plupart des fichiers que vous rencontrerez ne contiennent qu'un seul flux audio et un seul flux vidéo.
Dans les flux audio et vidéo, les données réelles sont compressées à l'aide d'un codec. Un codec, ou encodeur/décodeur, est un format de compression des données audio ou vidéo. La distinction entre un conteneur et un codec est importante, car le contenu des fichiers avec le même conteneur peut être encodé avec différents codecs.
L'image ci-dessous illustre cette structure. À gauche se trouve la structure de conteneur de base avec deux flux. À droite figurent les spécificités de cette structure pour un seul fichier WebM.

Les fichiers dans les conteneurs WebM peuvent être des ordres de grandeur plus petits que les autres formats, ce qui en fait un bon choix pour le streaming sur les sites mobiles. Malheureusement, tous les navigateurs ne sont pas compatibles avec les conteneurs et les codecs à jour. Par exemple, WebM a été créé spécifiquement pour le Web en tant qu'option Open Source de haute qualité, mais sa prise en charge n'est pas encore universelle. Selon Can I use au moment de la rédaction de cet article, Safari en particulier n'est pas compatible avec WebM pour les vidéos intégrées. Toutefois, WebM est partiellement compatible avec le codec VP8 et VP9 utilisé dans WebRTC. La meilleure option consiste donc à fournir une vidéo de remplacement.
Formats de codec
De nombreux types de fichiers sont compatibles avec plusieurs codecs dans le même conteneur. Une liste complète des codecs vidéo et des codecs audio disponibles constituerait un site Web entier. Les liens que nous venons de fournir renvoient aux listes pratiques de MDN sur les éléments utilisables sur le Web. Vous trouverez ci-dessous les types de fichiers actuellement recommandés et les codecs qu'ils peuvent utiliser. Suivez les liens vers les types de fichiers pour afficher les navigateurs compatibles.
Type de fichier | Codec vidéo | Codec audio |
---|---|---|
MP4 | AV1, AVC (H.264)*, VP9 | AAC |
WebM | AV1, VP9* | Vorbis, Opus |
* Indique le codec vidéo préféré.
Débit et résolution
Le débit est le nombre maximal de bits utilisés pour encoder une seconde d'un flux. Plus le nombre de bits utilisés pour encoder une seconde de flux est élevé, plus le niveau de détail et de fidélité est élevé. Pour en savoir plus sur ce concept, consultez Bitrate.
La résolution correspond à la quantité d'informations contenue dans un seul frame vidéo, exprimée en nombre de pixels logiques dans chaque dimension. Pour en savoir plus sur ce concept, consultez la section Résolution.
Dans la section Principes de base des applications multimédias, nous vous expliquerons comment examiner ces caractéristiques à l'aide de deux outils de ligne de commande: Shaka Packager et FFmpeg.