Mon réseau

Mon réseau d’entreprise

23.3 L’image animée

Précédent   Suivant

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