Facebook Tweeter Tweeter

AVC/H264, le codec vidéo qui a révolutionné le home cinéma !

Le Codec H264

___________________________________________

Monsieur H264,

Bien qu’il commence à être connu du public, sa complexité engendre quelques confusions. J’aimerais vous le faire connaître un peu plus pour pouvoir tirer le meilleur des nombreux avantages et services qu’il nous rend. Le codec H264, AVC (Advanced Vidéo Codec), Mpeg-4 part 10 ou X264 sont quatre « quasi-synonymes » qui font tourner la tête à beaucoup de nos passionnés HD. C’est l’une des parties la plus compliquée à comprendre, donc je vais essayer de vous la présenter le plus simplement possible tout en restant complet. Si voulez une définition précise de ses capacités : Wikipédia.

Un codec se compose de deux filtres, un filtre de CODage et un filtre de DECodage, les qualités de la norme H264 sont le fort taux de compression  pour une meilleure restitution de l’image, on peut donc encoder toutes sortes de vidéos grâce au H264, des vidéos d’une résolution SD comme HD. Plusieurs développeurs l’ont modifiés et l’on retrouve plusieurs versions de décodeurs et d’encodeurs H264.

Tous les dérivés que l’on peut rencontrer comme le H264 de MainConcept, Néro, CoreAVC, AVCHD, Divx7, Sorenson AVC Pro, le x264, du MPC, de libav, de Arcsoft, etc, s’appuient sur la norme d’encodage et de décodage vidéo  Mpeg-4 part 10 appelée AVC ou H264. Tous les paramètres pour encoder en H264  ou décoder le H264 sont modifiables et vont donner un taux de compression et de qualité variables.

Il va en découdre plusieurs Levels qui vont être représentatif de la résolution, du débit et de la fréquence (im/sec) de la vidéo. On compte pas moins de 17 Levels, du Level 1 pour de la vidéo pour téléphone Mobile (128 x 96 pixels), au Level 5.1 pour de l’ultra HD (4096 x 2048 pixels). Puis plusieurs Profils qui vont être représentatif de la complexité de l’encodage et du coup du décodage. Le High Profil (HP) qui est celui utilisé par les Blu-rays propose un encodage et décodage complexe qui peut s’avérer lourd à encoder et à lire sur certains PC, le profil Extended est moins complexe et sera utilisé notamment en streaming. En savoir plus sur les levels et les profils du H264 sur Wikipédia.

Pour la lecture de H264 on dispose donc de plusieurs filtres (codecs) et logiciels de lecture qui intègrent leur propre décodeur H264 certains sont gratuits et d’autres payants et qui ne proposent pas tous la même qualité, légèreté de lecture (CPU), accélération matérielle (dxva) ou pas, accélération par Cuda de Nvidia ou multithread, mais tout ceci vous sera plus expliqué dans le chapitre : La lecture du H264.

Pour l’encodage la version open-sources la plus utilisée est la librairie x264 développée par VidéoLan qui propose aussi le VLC que tout le monde connait. Cette encodeur est très performant et propose le High profil du H264 pour encoder une vidéo en gardant le plus de qualité possible, ce que même certains logiciels payants ne proposent pas. Pour encoder avec le x264 on utilisera un logiciel comme Avidemux, MeGui, VirtualDub (ou autres).  Mais les logiciels payants comme Divx7 Encoder, Badaboom, Nero Recode, Mainconcept Encoder sont souvent plus simples et embarquent leur propre version d’encodeur H264. Mais tous ceci vous sera expliqué en détails dans l’article : Encoder en h264/x264.

x264_fire2

la bibliothèque open sources x264 pour encoder en h264 : http://x264.nl/

Le codec H264 ou plutôt la norme H264, qui a pour concurrent le VC-1 de Microsoft, a vu le jour en 2003 et sa dernière mise à jour date de 2005. Elle est le résultat de l’association de chercheurs JVT , issue de l’union du groupe ITU (Internat./ Télécom./ Union) et du groupe ISO MPEG (Moving Picture Expert Group). D’abord appelé  h26L, AVC, Mpeg part 10, et même JVT pour finalement s’appeler H264.

AVC/SVC extension de la norme H264.

Pour améliorer les performance du H264 en streaming une extension à la norme Mpeg 4 part 10 plus connu sous de AVC/ H264 à été mise au point. Le H264 SVC pour Scalable Video Coding permet à une vidéo d’être encodée avec plusieurs couches de qualité dans le même fichier vidéo pour ensuite être décodée graduellement en fonction des capacité de votre connexion internet et de votre appareil (PC, iPhone, portable, etc…)

fig_1

Grâce à cette extension, dans un seul fichier, et dans le même flux, sont présents différentes couches encodées en différentes résolutions (spatiales) et niveaux de qualités (SNR/Quality/Fidelity), frame rate (temporel) et divers combinaisons de ces caractéristiques. Un peu comme le flux Core Dts au sein du flux Dts HD Master Audio.

SVC_Grafik_1_web

Ainsi un décodeur AVC/SVC permet de décoder ce flux en fonction des capacités de l’appareil utilisé, des restriction de la bande passante et du débit de votre connexion. Si vous utilisé un appareil basse résolution la vidéo sera décodée en basse résolution, si votre débit est faible seul la couche bas débit sera décodée, si au contraire vous disposez d’une connexion haut débit et d’un appareil haute résolution vous profiterez du meilleur niveau de qualité.

fig_3

Cette extension est un tournant décisif pour améliorer le streaming, chacun pourra visionner la même vidéo avec une lecture fluide, plus de saccades, plus de pause dans la lecture quelque soit la qualité de la connexion et du matériel, mais avec une qualité différente. La nouvelle version de Silverlight 4 propose un concept un peu similaire qui porte le nom de Smooth Streaming. Le développement de cette extension en est qu’au début, MainConcept propose déjà un SDK AVC/SVC qui supporte la Main Profile et une scalabilité temporelle jusqu’à 16 niveaux de qualité dans le même flux. L’institut Allemand Fraunhofer travaille aussi sur le développement de cette extension. En savoir plus sur la norme AVC/H264

Notes :

*Pour les avancés un test sur plusieurs versions du H264 à été dressé sur le forum de Doom9, rapidité de décodage et performances : http://forum.doom9.org/showthread.php?p=705669#post705669

* Le x264 est une librairie qui ne sert qu’à encoder, il est très performant et c’est le seul encodeur gratuit et open source public à supporter le High Profil du H264 (le profil utilisé dans les Blu-Rays) mais  ce n’est pas un codec et il ne sert donc pas à décoder (lire) une vidéo.

* Le Codec AVCHD est plus destiné aux formats vidéos des caméscopes HD compatibles H264, il est propriétaire (Sony).

* Le polyvalent Mpeg-4 comprend 22 parties (22 profils) dont la 10ème est la norme avancée de COdage et DECodage de Vidéos  : AVC ou Mpeg4 Part 10 renommé  H264. La troisième partie est la norme de codage et décodage audio AAC (Lossy (avec pertes)).

* On notera qu’un Disque Dur Multimédia doit décoder le H264 et le MKV pour pouvoir lire les vidéos  720p ou 1080p aux formats mkv (ce qui n’est pas toujours le cas). En savoir plus sur le DD Multimédia HD.
7000_06

De plus en plus de multimédias comme le TivX prennent en charge le H264 et le MKV .

Le h264 pour x raisons,

La taille d’une vidéo HD de 2 heures non compressée seule (Master) et sans bande sonore, peut faire plus de 200 Go, tout dépendra de la source d’origine (2K, 4K, 8K (formats du Cinéma numérique)). Si on rajoute à ça les différentes bandes son, les bonus et autres options contenus dans un blu-ray on peut atteindre alors plus de 200 go donc on est obligé de compresser la vidéo en VC-1, Mpeg-2 ou en H264 et les bandes son en dts/dts hd ou/et dolby/true hd pour tout faire rentrer sur un Blu-Ray ou HD DVD.

Seulement il est possible de ré-encoder cette même vidéo HD présente dans un Blu-ray toujours en H264 mais en gardant moins de qualité et/ou en baissant la résolution pour diminuer le poids de cette vidéo. On peut ainsi créer une vidéo HD et sa piste son qui ne pèsera que 1 à 8 Go pour la multiplexer dans un format MKV, AVI , Flv ou Mp4 (entre autres). Ce procédé est utilisé à la fois par les services de VOD HD et aussi par les particuliers qui rippent les Blu-rays et HD DVD pour les stocker sur leur Disque Dur ou Multimédias (interdit par la loi jusqu’à présent mais devrait être autoriser en Décembre 2009).

Exemple de fichiers présents dans un blu-ray/ High@4.1 = Profil et Level du H264 (on peut trouver aussi : HP@L4.1)

Les fichiers vidéo et audio de votre Blu-Ray sont encapsulés dans des fichiers M2TS dans le répertoire BDMV et pour les HD DVD ils sont dans les fichiers EVO dans le répertoire HDDVD_TS. Le screenshot provient de SmartLab TSMuxer qui est une GUI, un logiciel pour manipuler, extraire des Blu-Rays et créer (muxer et demuxer) des conteneurs du style Mkv. Des logiciels de ce style il y en a plusieurs avec différentes fonctions mais certains pays interdisent l’extractions de DVD, BLu-ray et autres supports.

Ce genre de logiciel offre aussi la possibilité de convertir, par exemple une piste Dts HD en Dts, mais aussi de réduire la résolution d’une image  (de changer le level du H264) pour passer d’un 1080p à un  720p et permettre une vidéo moins lourde. Si l’on extrait juste l’essentiel on peut avoir un Mkv 720p en dts qui ne pèse que 4 à 5 go pour 2h de film HD, plus on voudra conserver d’options (Level d’origine, chapitres, plusieurs langues, menu, illustrations …etc) et de qualités, plus notre Mkv pèsera lourd : souvent 8Go pour du 1080p (certains films Mkv 1080p peuvent peser plus de 20 go).

Et c’est là qu’intervient la puissance de ce codec car, lors de la lecture de la vidéo HD compressée, le H264  permet de conserver pratiquement la même qualité subjective d’image  avec un poids de fichier très léger. En fonction de son level et de son profil le H264 peut restituer  telle quelle la qualité d’avant la compression (lossless) avec une rapidité d’exécution impressionnante et très légère, à condition bien-sûr d’avoir  un matériel adapté. (écran : 1024 x 768 au minimum pour du 720p, 1920 x 1080 pour du 1080p + câble HDMI, DVI, ou DysplayPort, carte graphique qui décode le H264 en DXVA c’est un plus (mais peut faire sans). C’est à dire 80 % d’entre vous !)

poster1

MONGOL, la version Mkv est l'une des meilleures qualités, tant par l'image que la pistes Dts. CLIQUEZ DESSUS

Comme je vous ai dit plus haut le h264 s’est étendu telle une traînée de poudre dans tous les domaines du Médias, c’est l’épidémie HD qui gagne le monde. Je reviendrai plus en détails là dessus avec un article dédié à la manipulation du H264 et du Mkv,  pour plus d’explications sur le Mkv, vous pouvez lire mon article sur le Mkv.

De plus les films peuvent être installés sur un disque dur ou un Multimédia (qui prend en charge le h264 et le MKV), pour plus de confort de stockage. les vidéos encodées h264 peuvent être lues en Streaming HD (profile Extended ou Main, souvent encapsulées en Mp4 ou Flv), téléchargés de chez vous sous forme de Mkv ou Avi grâce à la VOD HD ou être partagés et téléchargés en P2P : pour les vidéos HD privées car je vous rappelle que télécharger des films soumis à des droits d’auteurs en P2P via des logiciels comme eMule ou Torrent est désormais interdit :

  1. Voir l’article sur la loi du téléchargement.
  2. En savoir plus sur la VOD HD.
  3. Voir les films gratuits en téléchargement légal sur HDfever.

La lecture du H264

Le h264 reste plus ou moins lourd à exécuter en fonction de son profil, résolution et qualité d’encodage de la vidéo, surtout pour un PC lent et ancien. C’est pourquoi plusieurs personnes ont rencontrées des problèmes de lecture des Vidéos HD (images qui sautent, pixelisation, décalages son/image).

Il existe plusieurs versions de décodeurs (codec) H264, qui proposent un décodage plus ou moins complet du H264. En fonction de la qualité de décodage la lecture sera plus ou moins lourde à gérer pour votre CPU, donc la plupart des très bon décodeurs gèrent l’accélération matérielle (DXVA) par GPU (processeur graphique) du H264 pour soulager le CPU (processeur de l’unité central).

Cette accélération DXVA permet une lecture plus fluide et donc plus performante des vidéos HD (h264, Vc-1 et Mpeg-2) en envoyant le flux vidéo en bitstream (directement sans être traité) vers le processeur graphique (GPU) qui se chargera du décodage. Mais elle n’est proposée que par certaines cartes graphiques (Purevideo hd de Nvidia et Avivo hd de Ati), certaines résolutions, certains décodeurs (codec) et certains logiciels de lecture.…en savoir plus sur le Dxva.

Il existe d’autres formes d’accélération matérielle, notamment le multi-threading qui permet un accélération du décodage en fonction du nombre de cœurs (cores) processeurs de votre système, c’est ce que propose le H264 DivX decoder intégré entre autres à la nouvelle version du Media Filters Pack 4.0.0. Il y a aussi, plus récemment l’accélération matérielle du décodage par Cuda (technologie Nvidia), comme le propose la nouvelle version de H264 Pro decoder de CoreAvc.

Le choix du codec ou filtre que vous utiliserez sera donc très important, surtout pour ceux qui ne possèdent pas ce genre de technologies. De toute façon pour qui que se soit l’installation et la configuration de vos codecs et logiciels de lecture est primordiale ! le plus important est de ne pas empiler les codecs et surtout les packs de codecs à tout va. Mon conseil est de bien comprendre, tout nettoyer et réinstaller proprement ses codecs en choisissant juste l’essentiel. Vous trouverez les différentes solutions dans le chapitre suivant : Installation du H264.

Une vidéo h264 doit être multiplexée (muxé, encapsulée ou splitter c’est pareil) dans un container avec sa ou ses pistes audio pour créer un fichier film, comme les containers AVI, Mp4 ou surtout Mkv. Pour lire un container, un logiciel de lecture à besoin d’une part de s’appuyer sur un filtre de décodage vidéo H264 (singulièrement appelé codec) et d’un filtre de type Splitter (comme Haali média splitter) qui va splitter (séparer) les différents fichiers contenus dans le container pour être ensuite respectivement décodés.

Certains logiciels de lecture (comme le Média Player Classic) embarquent une partie des filtres et Splitters pour la lecture des médias et s’appuient sur les Filtres Direct Show pour le reste. Cette solution permet de lire quasiment tous les médias audio et vidéo et ne nécessite pas l’installation de packs de codecs. Certains d’entre vous préfèreront installer des codecs plus spécifiques pour tel ou tel média et surtout pour gérer la lecture le mieux possible en fonction de leur config. Il sera toujours plus recommandé d’installer « manuellement » le codecs que vous avez choisis et non un pack qui risque de mettre la pagaille dans vos filtres.

Cependant il existe tout de même des packs de codecs/filtres performants comme le CCCP qui est bien paramétré avec des filtres judicieusement choisis, mais il présente le défaut de n’être pas mis à jour assez régulièrement il est associé à CCCP Insurgent qui peut être utilisé seul pour nettoyer, optimiser et réparer vos codecs.

Il y a le K-Lite Codec pack qui en plus intègre Tweak Tool dans sa dernière version, un logiciel qui analyse votre registre et détecte les conflits et les erreurs pour les réparer, ce logiciel est mis à jour régulièrement mais est moins stable que le CCCP. C’est deux packs comprennent un décodeur H264 et le Haali Média Splitter. Il y a le Media Filters Pack 4.0.0 qui installe juste l’essentiel, et configure automatiquement les filtres en fonction de votre système et installation sonore et propose un H264 dxva compilé par l’auteur.


Installation du codec h264

  • Conseils sur le choix du codec H264.

Avant toutes installations je vous recommande de nettoyer votre registre de tous packs, codecs, filtres et logiciel de lecture, si vous ne savez pas comment procéder je vous propose mon article : Nettoyer sa base de registre. Si vous voulez en savoir plus sur les différences qu’il peut y avoir entre un codec, un filtre, un splitter, un format ou un container, c’est dans mon article : Codec et filtre, quelle différence ?

Les Filtres Direct Show sont fortement conseillés pour leur polyvalence, mais le décodeur H264 des ffdshow qui est celui de Libav ne gère pas l’accélération matérielle DXVA. Si vous possédez une carte graphique qui gère le DXVA, il sera donc conseillé d’installer un filtre  H264 avec prise en charge DXVA pour plus de qualité. Si vous utilisez le Média Player Classic Home Cinéma (MPC HC) son filtre natif H264 gère le DXVA, c’est une excellente solution, gratuite qui plus est, et qui peut aussi servir sur d’autres logiciels de lecture.

Si vous ne possédez pas ce genre de carte graphique, il sera plus conseillé un filtre qui ne gère pas le DXVA mais qui ne décode pas entièrement le H264 et qui gère l’accélération multi- thread pour permettre une lecture plus fluide. La qualité ne sera pas la même, mais il vaut mieux une baisse de qualité que des vidéos qui sautent ou qui présentent d’autres bugs insupportables pour suivre un film.

Les codecs H264 payants sont souvent de très bonne qualité et gèrent le DXVA (mais pas tous !), on les trouve souvent dans les logiciels de lecture comme Total Média Theater 3, WinDVD, PowerDVD, DivX Player 7 (et d’autres…). Certains de ces logiciels ne décodent pas le Mkv mais on pourra utiliser leur filtre de lecture H264 dans un logiciel tiers comme le MPC HC. Pour faire le point et vous aider dans votre choix, voici une liste que j’essaierai de tenir à jour régulièrement :

  • Les différents décodeurs H264.

vous êtes comme moi et vous ne supportez pas l’à peu près, vous désirez bénéficier de la meilleure qualité possible tout en soulageant votre CPU. Sachez que vous pouvez soumettre au logiciel de lecture MPC HC n’importe quel décodeur H264. Voici une liste de liens vers des sociétés qui proposent un décodeur H264 :

  1. Ffdshow TryOut Béta 6 : (présentation, installation et tutoriel) propose un décodeur H264, il ne gère pas le DXVA mais reste une solution Qualité/fluidité intéressante. (la dernière version ffdshow beta6 gère Dolby True HD et Dts hd). Gratuit.
  2. Média Player Classique Home Cinéma : Présentation, installation et tutoriels de ce logiciel de lecture qui propose le meilleur décodeur H264 gratuit, il prend en charge le DXVA, à régler avec le plus grand soin. Gratuit
  3. CoreAVC : la nouvelle version CoreAvc Pro permet une accélération par Cuda sur les cartes Nvidia. Payant.
  4. Total Média Theater 3 :   logiciel de lecture qui  intègre une des meilleures versions de décodeur H264 avec DXVA. Payant.
  5. Nonocosmos : propose un filtre direct show H264, ainsi que plusieurs encodeurs et décodeurs H.264/AVC, MPEG-2, DVCPRO-HD, XDCAM-HD.
  6. Sorenson squeeze 5 : le H264 est intégré (décodeur et encodeur). Payant.
  7. Néro digital : propose un encodeur et un décodeur H264, Payant.
  8. Divx7 et 7pro : logiciel de lecture, propose un décodeur et un encodeur H264 très rapide. Gère le multi-Thread.  Décodeur Gratuit.
  9. WinDVD : (Corel) logiciel de lecture et VidéoStudio X2, propose en décodeur et un encodeur avec accélération DXVA. Payant.
  10. PowerDVD : logiciel de lecture, propose un très bon décodeur H264 avec accélération DXVA. Payant.
  11. MainConcept : propose tout une suite de logiciels, décodeur et encodeur H264 DXVA très performant, Mpeg-2 et Vc-1 DXVA.(Particulier et professionnel), Payant. Voir le tutoriel pour ajouter le H264 de MainConcept au MPC HC).
  12. Lead Technologies : propose un décodeur (pas HighProfil, pas de DXVA, pas  de 1080p mais une lecture légère pour CPU lents), Payant.
  13. FastVDO :Propose un décodeur, un encodeur et du matériel informatique qui intègre le H264. Payant.
  14. Sony Créative Software : propose un un encodeur et décodeur H264. Plutôt réservé aux professionnels (création de Blu-Ray Disc). Payant.
  15. Elecard Group : propose un décodeur et un encodeur H264 très performant mais sans DXVA. Payant.
  • Les solutions de simplicité « Tout-en-un ».

vous choisissez la facilité, ce qui vous intéresse c’est de lire le maximum de formats différents, le h264 c’est bien, vous voulez en profiter mais c’est trop compliqué. Seul conseil choisissez un pack et un seul.

  1. CCCP (Combined Community Codec Pack) : un très bon pack, des codecs judicieusement choisis, prend en charge tous les formats, contient les Ffdshow, stable .
  2. K-Lite Codec Pack : Après de nombreuses révisions c’est devenu un pack de codec et d’outils très performant. il gère vos conflits, répare, désinstalle, analyse et installe tous ce dont vous avez besoin. Sûrement le meilleur !
  3. VLC (décodeur sans installation de filtre ni de codec), décode presque tout. Il sera toujours conseillé d’avoir VLC tellement ce logiciel est utile même si vous avez un logiciel favori, prennez VLC il vous servira toujours. La nouvelle version 1.0.0 prend en charge le multi-thread (accélération sur le nombre de core) et les formats audio hd (dts hd et true hd).
  4. Satsuki décodeur, pour dire la vérité je ne le connais pas mais il à une très bonne réputation. Je vais l’essayer c’est promis…
  5. Média filter Pack v 4.0.0, (installation de filtres seulement) un très bon logiciel qui gère et installe les filtres (ffdshow compris) en fonction de votre config. et règle le Média Player Classic qui doit être installé avant le lancement du Média filter pack, ensuite tout se fait automatiquement.

Liens utiles et astuces

  1. DDR2- Intel Dual Core 2 E6400-2048 Mbytes.
  2. Tableau de test sur différents processeurs.
  3. BENCHMARK X264 HD, version 2.0 : TÉLÉCHARGER

Merci,

Pour finir un grand merci aux développeurs et chercheurs de JVT (MPEG et ITU associés) qui ont mis au point ce qui est pour moi la technologie la plus importante de ces dernières années en matière de vidéos Haute Définition, de surcroît disponible en « open-sources » (offert au public) grâce au projet x264, c’est elle qui a été le facteur déclenchant du Home Cinéma, vidéo HD sur HTPC et de la VOD HD (et dérivés).

[adfever type= »product » value= »13503482″]

33 commentaires

  1. avatar
    Bonneau /

    @Nicolas Bécuwe
    Après plusieurs essais avec TSmuxer je n’ai pas récupéré le son sur le TV et même sur l’ordinateur j’ai perdu le son avec les mov TS
    Yves

  2. avatar

    bj,
    j essaye de streamer la TV HD de Freebox mais j’ai des saccades et «  »carreaux » sous Android 4.1 / 2 cores 1.5Ghz.

    y a t il des paramètres VLC ou une autre solution?
    (mx player et Google player lisent bien ce flux video (sous android) mais ils ne donnent pas le son)
    Cordialement ;)

  3. avatar

    Merci beaucoup pour toutes ces explications utiles !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

:wink: :-| :-x :twisted: :) 8-O :( :roll: :-P :oops: :-o :mrgreen: :lol: :idea: :-D :evil: :cry: 8) :arrow: :-? :?: :!: