Mon réseau d’entreprise
23.3 L’image animée
L’image animée est constituée (historiquement) par une suite d’images fixes présentées rapidement pour donner l’impression visuelle d’une animation. Le format GIF propose ainsi de créer des animations qui doivent être de petite taille et de faible durée, mais dans un format reconnu par un grand nombre de logiciels.
Depuis 1927, et le premier signal sonore enregistré sur pellicule argentique, le cinéma propose simultanément le son et l’image.
Pour le numérique, le format d’un film repose sur un conteneur qui inclut un ou plusieurs flux audio, vidéo ou texte. Il est alors possible de diffuser simultanément plusieurs prises de vues ; plusieurs bandes son (mono, stéreo, 5.1) dans plusieurs langues (dont l’audiodescription et la version originale) ; plusieurs sous-titres…
23.3.1 Les logiciels
Le roi des logiciels et des bibliothèque, c’est ffmpeg. J’ai utilisé le site MUX pour trouver les commandes.
Les trois commandes principales sont :
- ffmpeg
-
pour travailler sur le flux ;
- ffplay
-
pour jouer le fichier ;
- ffprobe
-
pour analyser le fichier.
=> ffprobe DSC_0143.MOV
ffprobe version 7.1.2-
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'DSC_0143.MOV':
Metadata:
major_brand : qt
creation_time : 2025-10-10T13:13:57.000000Z
Duration: 00:00:41.54, start: 0.000000, bitrate: 152748 kb/s
Stream #0:0[0x1](eng): Video: hevc (Main) (hvc1 / 0x31637668), \
yuvj420p(pc, bt709), 3840x2160, 149940 kb/s, 29.97 fps,
29.97 tbr, 30k tbn (default)
Stream #0:1[0x2](eng): Audio: pcm_s24le (lpcm / 0x6D63706C), 48000 Hz,
2 channels, s32 (24 bit), 2304 kb/s (default)
Ce qui identifie une vidéo 4K, avec une audio stéréo et un flux d’image au format hevc.
23.3.1.1 Conversion de résolution
Pour convertir une vidéo au format mp4 en changeant la résolution en HD (1280 :720) :
ffmpeg -i Fichier.qqch -vf "scale=1280:720" -c:a copy ~/foo.mp4
Mais il est aussi possible d’imposer le nombre de lignes et de laisser ffmeg calculer le nombre de colonne pour préserver le rapport :
ffmpeg -i Fichier.qqch -vf "scale=1280:-1" -c:a copy ~/foo.mp4
23.3.1.2 Rémettez les images dans le bon sens
Si l’orientation de la vidéo n’est pas correcte, il est possible de la transposer :
ffmpeg -i input_video.mp4 \
-vf "transpose=1" \
<{transcode_options}> \
output.mp4
23.3.1.3 Optimisez votre vidéo pour le Web
La première façon consiste à diminuer le bitrate et éventuellement baisser la résolution :
ffmpeg -i input_video.mp4 \
-vf "scale=1280:-2" \
-c:v libx264 -crf 23 \
-preset medium \
-c:a aac -b:a 128k \
output.mp4
Un encodage en deux passes permet d’avoir une meilleure qualité et des fichiers plus petits :
ffmpeg -i input_video.mp4 \
-c:v libx264 -b:v 1M -pass 1 -an -f null /dev/null && \
ffmpeg -i input_video.mp4 \
-c:v libx264 -b:v 1M -pass 2 \
-c:a aac -b:a 128k \
output.mp4
Il est recommandé d’ajouter l’option -movflags +faststart pour que le logiciel puisse commencer à jouer la vidéo avant que le transfert soit terminé.
23.3.1.4 Montez vos différents rushes
Si vous créez une vidéo à partir de plusieurs rushes, alors pour les assembler, vous pouvez créer un fichier contenant la liste des vidéos :
file 'input1.mp4' file 'input2.mp4' file 'input3.mp4'
Puis vous les assemblez :
ffmpeg -f concat \
-safe 0 \
-i input.txt \
-c copy output.mp4
FFmpeg peut extraire une partie d’une vidéo plus grande. Par exemple pour couper 30 secondes à partir d’une minute et 30 secondes :
ffmpeg -ss 00:01:30 \
-i input_file.mp4 \
-t 00:00:30 \
-c:v libx264 \
-c:a aac output.mp4