Pour prendre en charge plusieurs navigateurs, vous devrez utiliser FFmpeg pour convertir votre .mov
vers deux conteneurs différents: un conteneur MP4 et un conteneur WebM. Dans
pratique, il est probable que vous spécifiiez un codec en même temps. Pour l'instant,
nous laissons FFmpeg utiliser
ses valeurs par défaut.
Si ces concepts sont nouveaux pour vous, vous devriez lire Principes de base des fichiers multimédias avant d'aller plus loin. De plus, si FFmpeg n'est pas installé, Principes de base des applications multimédias pour la configurer avec Docker.
Nous utilisons la suggestion d'installation et
le fichier glocken.mov de l'article Préparer les fichiers multimédias pour le Web
ajouté dans le répertoire media
. Nous avons utilisé FFmpeg version 4.3.2 pour toutes les
de cette section.
Conteneurs
Tout d'abord, nous devons créer nos deux conteneurs à partir du fichier .mov
avec .mp4
.
et .webm
avec un flux audio et vidéo à l'intérieur du fichier.
Consultez les principes de base des fichiers multimédias.
pour en savoir plus sur les conteneurs et les flux si vous ne connaissez pas la différence
de l'IA générative.
MP4
/media # ffmpeg -i glocken.mov glocken.mp4
WebM
/media # ffmpeg -i glocken.mov glocken.webm
WebM prend plus de temps à créer que MP4. Ce n'est pas surprenant
lorsque vous regardez
les résultats. Bien que le format MP4 soit compressé à environ 83%
de la taille du fichier
WebM est inférieur à 78%
de la taille d'origine, mais il peut être beaucoup plus petit.
Vos résultats peuvent varier. Il est important de souligner que FFmpeg 4.2.2
définit
le débit vidéo par défaut est défini sur 200k
. Dans 4.3.2
, aucun débit n'est défini.
La vidéo n'est donc plus une simple4%
version originale. Vous pouvez le constater par vous-même
à l'aide de la commande bash ls -a
dans le dossier où se trouvent vos fichiers multimédias.
Exemple :
/media # ls -l
-rw-r--r-- 1 root root 12080306 Mar 7 12:16 glocken.mov
-rwx------ 1 root root 10106446 Mar 7 12:33 glocken.mp4
-rwx------ 1 root root 9503301 Mar 7 18:30 glocken.webm
Pour obtenir un fichier de très petite taille, procédez comme suit:
/media # ffmpeg -i glocken.mov -b:v 200k glocken.webm
...
frame= 300 fps=3.6 q=0.0 Lsize= 483kB time=00:00:10.01 bitrate= 395.0kbits/s speed=0.121x
video:359kB audio:117kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.356068%
/media # ls -l
-rw-r--r-- 1 root root 12080306 Mar 7 12:16 glocken.mov
-rwx------ 1 root root 10106446 Mar 7 12:33 glocken.mp4
-rwx------ 1 root root 494497 Mar 7 18:45 glocken.webm
Vérifiez votre travail
Pour vérifier vos résultats, utilisez FFmpeg et Shaka Packager comme indiqué dans Principes de base des applications multimédias:
/media # packager input=glocken.mp4 --dump_stream_info
/media # ffmpeg -i glocken.mp4
Codecs
Ensuite, le codec. Comme indiqué dans l'article Principes de base des fichiers multimédias, un codec
n'est pas la même chose qu'un conteneur (type de fichier). Deux fichiers du même conteneur
pourrait contenir des données compressées
à l'aide de différents codecs. Par exemple, le format WebM
permet d'encoder le contenu audio à l'aide de Vorbis ou d'Opus. Pour changer le codec, nous
utilisez FFmpeg. Par exemple, cette commande génère un fichier .mkv
avec un fichier audio vorbis
.
et un codec vidéo av1
.
/media # ffmpeg -i glocken.mov -c:a vorbis -c:v av1 glocken.mkv
Dans cet exemple, l'option -c:a
et l'élément -c:v
permettent de spécifier l'audio et
les codecs vidéo, respectivement.
La page Conversion de médias répertorie nécessaires pour convertir les codecs. Les tableaux ci-dessous récapitulent les bibliothèques utilisées dans FFmpeg pour convertir le codec des fichiers WebM et MP4. Ce sont les recommandés pour DASH et HLS, respectivement.
Vidéo
Codec | Extension | Bibliothèque |
---|---|---|
av1 | WebM et mkv | Liibaom-Av1 |
h264 | MP4 | libx264 |
vp9 | WebM | libvpx-vp9 |
Audio
Codec | Extension | Bibliothèque |
---|---|---|
aac | MP4 | aac |
opus | WebM | libopus |
Vorbis | WebM | libvorbis |
Nous allons maintenant vous montrer comment modifier le débit des fichiers que vous venez de créer.