2. La compression vidéo
Une approche simplifiée des problématiques de la compression vidéo
pour le web
Samir AMZANI
Senior Web Developer
samir@wmaker.net
3. Qu’allons nous voir ?
• Pourquoi compresser une vidéo ?
• Les principes de la compression vidéo
• Les standards
• Les codecs
• Les conteneurs
• Les encodeurs
• Paramètres d’encodage
4. Video ?
• Origine «je vois» [latin]
• Succession d’images
• 25 fps, 30fps...
• illusion de mouvement
• En général :
• Enregistrement d’images animées (son?)
• Restitution sur un support électronique
6. Pourquoi compresser ?
• les CPU augmentent plus vite que la bande
passante
Texte Lois de moore
Qualité
7. Pourquoi compresser ?
• La bande passante est chère
• 1H de vidéo non compressée : 263Go
• 1024x768=786 432 pixels
• Un pixel (sur un écran true color 32Bits) -> 4 Octet
• Une image -> 786 432 x 4 = 3Mo
• 1sec de vidéo -> 25 images -> 75Mo/sec
8. Pourquoi compresser ?
• L’espace et le débit c’est cher :
• L’offre la moins cher chez OVH (bande passante)
• chez OVH 200Mbps
• 3 lecture simultané d’une vidéo avec [biterate 75Mo/s] -> Explose la bande passante
• On a donc intérêt à compresser les vidéos
11. Principes de la compression
• Sans Perte (Lossless)
• Elimine la redondance des données
• Compactage (Winzip...)
• Gain 10 à 30%
• Utilisé par le déruchage (audiovisuel)
12. Principes de la compression
• Avec Perte
• On perd la qualité
• On peut économiser jusqu'à 90%
• L’astuce => on triche avec l’oeil et l’oreille
13. Compression avec perte
« Ne jamais transmettre une donnée déja transmise »
• redondance spaciale
• redondance temporelle
14. Compression avec perte
• Redondance spatial
• Compression des images
• On utilise le JPEG
• Il doit pas être trop élevé
15. Compression avec perte
• Redondance temporelle
• On encode que les différences
• On perd des détails
• Produit trois types d’images compressés
• I-frame GOP : Group of Pictrure
• P-frame 12 à 15 images (MPEG1)
• B-frame
17. Compression avec perte
Redondance temporelle
I - Frame
- Image intracodé : Codé en JPEG
- Il ne dépend pas d’une autre image
- «Image clé» -> KeyFrame
18. Compression avec perte
Redondance temporelle
P - Frame
- Image prédictive
- Contient que les pixels modifiés
- On encode que les différences
- 1/3 taille par rapport a I-Frame
19. Compression avec perte
Redondance temporelle
B - Frame
- Image Bi-directionnelles
- C’est une image prédite à partir de I et P
I(i) + P(i++) = B
- 1/6 taille I-Frame
20. Les standards de compression
MPEG : ITU :
Définit les Développe
standards les codecs
21. Quelques standards de compression
• JPEG et MP-JPEG
• Que des images pleins
• Extraire les images des vidéos
• MPEG-1
• Pour faire mieux que le VHS (VCD) : 1.15M/s
• MPEG-2
• Premier standard pour la diffusion
• DVD, TV, TVHD, TNT (sauf en france), Satellite...
• 3 à 50 M/s, et en HD jusqu’a 300M/s
• MPEG-3
• MP3
• MPEG-4
• C’est beaucoup mieux
• MPEG-4 ASP Génération (Divx, H264, VP6
22. Les codecs
• CODEUR - DECODEUR
• Basé sur un standard
• Embarque l’intelligence de l’encodage
• Il y’on a trop...en plus ils dépendent des
conteneurs
23. Les codecs
Pour la diffusion web
Standards Codecs
Le grand père de tous les codecs
H.261
1990
Le père de tous les codecs FLV 3GP
H.263 moderns
1993-1996
H.263v2 MPEG4 - ASP H264 Divx
H263.v3 Meilleur compression
1998+ VP6 VP7
25. Les conteneurs
pour la diffusion web
H264
Diffusion : player flash (v6+)
FLV (Flash video)
H263
VP6 (ON2)
H264
Diffusion : player flash (v9+)
MP4
Navigateurs HTML5
(chrome, safari)
Theora
Open source
OGG
Navigateurs HTML5
(Firefox)
26. Les encodeurs
• Solution matériel
• Certains cartes d'acquisition
• Serveur Hardware
• Solution logicielle serveur
• FFmpeg (OpenSource)
• On2 Flix Engine (Payant)
• Solution logicielle post-production
• Final Cut compressor (H264 meilleur!)
• Adobe Media encoder
• Handbrake (Win&Mac) (x264)
• Super (Windows)
27. Paramètres d’encodage
• Biterate :
• Taille d’une seconde de vidéo
• Améliore la qualité
• Exemple : pour la HD web : 3000kbps /
5000kbps
• ! Biterate d’encodage < Biterate source
• Taille finale = Durée × bitrate
28. Paramètres d’encodage
• FrameRate
• Combien de frame (images) par seconde
• Le mieux c’est de laisser le même que la
vidéo source
• PAL, SECAM : 25fps
• NTSC : 30fps
29. Paramètres d’encodage
• Résolutions
• en pixel
• HD : 1920 x 1080 (1080 p) ou 1280 x 720 (720p)
• Il faut garder le format de la vidéo
• 16:9 -> On garde 16:9, idem 4:3
32. Paramètres d’encodage
Résumé
• Codec : H264
• Biterate : 3000kbps/5000kbps
• FrameRate (25 ou 30)
• Format : 16/9 (10% par rapport au 4/3)
• Résolution : HD (720p)
• Si vous avez le temps : encodez en 2 pass
L&#x2019;objectif de cours...et de comprendre
et &#xE0; la fin comment on fait tous cela
D&#x2019;abord une vid&#xE9;o c&#x2019;est quoi...
C&#x2019;est une simple succession... (25/30 ...
qui nous donne l&#x2019;ilusion de mouvement
1. Les donn&#xE9;es sont d&#xE9;grad&#xE9;s apr&#xE8;s la compression.
Mais on &#xE9;conomisent...
Ce mode de compression Utilise les faiblaisses...capacait&#xE9;s sonores visuel
On a vue qu&#x2019;on .... &#xE9;conomiser jusq&#x2019;a 90%, on va voir pourquoi :
Il y&#x2019;a deux techniques
On distingue ... qui peuvent &#xEA;tre r&#xE9;duites / compression
et La philosophie
compression au niveau des images
&#xE0; l&#x2019;aide le l&#x2019;algo JPEG
Il doit pas elev&#xE9; -> sinon on perd on qualit&#xE9; d&#x2019;image
Il y&#x2019;a que le mouvement qui change -> Background reste le m&#xEA;me...
On encode une image par rapport &#xE0; une autre on se basant sur les diff&#xE9;rences.
Le MPEG est un groupe d'industriels fond&#xE9; en 1988 qui se r&#xE9;unit r&#xE9;guli&#xE8;rement afin d'&#xE9;laborer des standards dans le domaine de la compression num&#xE9;rique audio et vid&#xE9;o afin d'en faciliter la transmission par divers moyens.
De leurs r&#xE9;flexions sont n&#xE9;s diff&#xE9;rents formats, regroup&#xE9;s sous les r&#xE9;f&#xE9;rences MPEG-1, MPEG-2, MPEG-4 et MPEG-7 et bient&#xF4;t MPEG-21. Chacun r&#xE9;pond &#xE0; un besoin sp&#xE9;cifique :
MPEG3 : n&#x2019;&#xE9;t&#xE9; pas impl&#xE9;ment&#xE9; pour la vid&#xE9;o devant le suc&#xE9;&#xE9;s de MPEG-2