Un fichier vidéo est constitué d'un conteneur qui contient (on dit qui encapsule) les données audio et vidéo, les sous-titres, etc...
Que ce soit pour gagner de la place ou pour diminuer le débit, les données audio et vidéo sont généralement compressées : Il faudrait plus d'1Go pour stocker 1mn de film en définition standard...
Ce n'est pas le conteneur qui détermine le mode de compression mais le codec qui compresse dans un format normalisé.
Il existe deux modes de compression : La compression SANS perte (lossless) et la compression AVEC pertes (lossy)
La compression sans perte :
Les algorithmes de compression sans perte permettent de retrouver lors de la décompression toutes les données du fichier d'origine. Leur taux de compression est très faible et donc peu utilisé en vidéo.
La compression avec pertes :
Une fois la compression faite, des données sont définitivement perdues. Leur taux de compression peut être très élevé. La qualité de la vidéo finale diminue avec l'accroissement de la compression. Une trop grande compression peut créer des effets de blocs, de halo, de flou.
Une autre notion essentielle pour la compression vidéo est la notion de compression temporelle ou spatiale.
La compression spatiale cherche les similitudes sur une image et diminue la taille de cette image sans s'occuper des ressemblances avec les images d'avant et d'après. Or il y a la plupart du temps une grande ressemblance entre deux images qui se suivent. On appelle compression temporelle le mode de compression qui cherche les ressemblances entres les images qui se suivent.
Les normes de compression Vidéo
Les principales normes de compression vidéo sont DV, MPEG1, MPEG2, MPEG4
DV : Dérivé de la norme MJPEG, le débit va de 25 à 100Mb/s suivant le niveau d'exigeance . Il existe de nombreuses variantes : DV, MiniDV, DVCAM (Sony), Digital8, DVCPRO (DVCPRO25, DVCPRO50 de Panasonic). Le miniDV est le format des camescopes grand public.
Le support d'enregistrement est une cassette numérique
Le format d'image est 4/3 720 × 576 pixels à 25 FPS
Les couleurs sont traitées en YUV numérique 4:2:0 (l'information de luminance prend deux fois plus de place que la chrominance dans le fichier et on diminue la précision des couleurs en vertical.) avec 8 bits par couleur.
La compression n'utilise qu'un algorithme de compression spatial (on dit aussi : intra-image)
Mauvaises performances pour l'incrustation.
La partie audio est au format PCM non compressé.
MPEG1 : C'était la norme du vidéo CD 1,15Mb/s avec une résolution de 360x288 (4/3). Cette norme réalise un compression spatiale et temporelle. Elle dispose d'une partie audio qui a donné naissance au format MP3. YUV numérique 4:2:0
MPEG2 : Évolution de la norme MPEG1, elle permet de stocker des vidéos au format SD ou HD en mode entrleacé ou progessif avec des débits allant de 3 à 50Mb/s. Utilisée pour les dvd, la tnt, la télévision par satellite, le câble. YUV numérique 4:2:2 (la bande passante de la chrominance est la moitié de celle de la luminance. Cela permet un gain de place et de débit pratiquement sans perte de qualité.
MPEG4 : C'est une famille de normes dont la plus efficace est l'AVC/H264 qui permet des débits allant de 600Kb/s (qualité équivalente VHS) à 30Mb/s (blue ray). C'est la norme utilisée pour les TV HD, TNT HD, ADSL. Cette norme demande une grande puissance de calcul.(YUV 4:2:0, 4:2:2, 4:4:4)
Les normes de compression Audio
Les principales normes de compression audio sont :
mp3 : sont vrai nom : MPEG-1/2 Audio Layer 3. C'est un codec lossly (voir au dessus) dont les performances accoustiques sont les suivantes : excellent de 224 à 320 kbit/s, très bon de 192 à 224 kbit/s, bon de 128 à 192 kbit/s.
AAC : Advanced Audio Coding. Codec plus récent et plus performant que le mp3. Lossly.
Performances : 48Kbit/s est presque équivalent à l'oreille que 128Kbit/s en mp3
ogg : Codec libre (on peut analyser l'algorithme) Lossless de qualité intermédiaire entre les deux premiers.
Flac : Free Lossless Audio Codec. Codec libre Lossless. Le son garde la qualité de l'original non compressé mais le débit, non réglable, peut monter à 1000Kbits/s.
Les conteneurs
Le conteneur englobe les flux audio et vidéo, gère la synchronisation, les sous-titres., etc... Les plus connus sont :
AVI : Audio Vidéo Interleaved. Format développé par Microsoft qui permet d'encapsuler une piste vidéo et jusqu'à 99 pistes audio.
ASF (wmv) : Format développé par Microsoft qui permet nottamment le streaming. Il stocke aussi des métadonnées (titre, année, genre, etc...)
MOV : C'est le format Quicktime développé par Apple
DVRAW : C'est le format qui encapsule les codecs de type DV
MPEG2-PS : Stockage sur dvd
MPEG2-TS : Utilisé pour la diffusion (broadcast). Gestion de flux plutôt que de fichiers
MP4 : Format normalisé qui date de 2004 et qui s'inspire directement de quicktime
FLV : Flash Video. Format utilisé pour diffuser des vidéos sur internet via le lecteur Flash.
MKV : Format ouvert récent et performant. Bien adapté à la HD, supporte pratiquement tous les types de flux, permet de mettre des pièces jointes,...
Suivant les besoins on peut avoir à passer d'un type de compression à un autre, d'un conteneur à un autre. Un outil très efficace pour manipuler et réencoder les fichiers vidéo est ffmpeg.
il en existe des sur-couches graphiques (WinFF, PyTube) mais c'est en ligne de commande que nous l'utiliserons.
Quelques exemples d'utilisation de ffmpeg :
Support | Norme de compression vidéo | Taille de l'image | Débit vidéo | Norme de compression audio | Débit audio | conteneur |
TV HD, blue ray | Mpeg-4 H264 | 1980x1080 | 1Mb/s | flac | 1Mb/s | mkv |
CD | Mpeg4 | 512x288 | 900kb/s | mp3 | 128kb/s | avi |
DVD | Mpeg2-PS | 720x512 | - | - | - | mpg |
Support | Commande à taper |
TV HD | ffmpeg -i FichierSource.mov -acodec flac -vcodec libx264 -b 35000k -f matroska FichierDestination.mkv |
CD | ffmpeg -i FichierSource.mov -acodec libmp3lame -ab 96k -vcodec mpeg4 -b 900k -f avi FichierDestination.avi |
DVD | ffmpeg -i FichierSource.mov -target pal-dvd -aspect 16:9 -fs 2000000000 -sameq FichierDestinationi.mpg |