13.1. Créer un rip MPEG-4 ("DivX") de haute qualité à partir d'un DVD

Une question fréquemment posée est "Comment faire le meilleur rip DVD possible ? Une autre question est "Comment dois-je faire pour avoir un rip de la meilleure qualité possible ?" Peu importe la taille du fichier, je veux simplement la meilleure qualité."

Cette question est peut être un peu mal posée. Après tout, si vous ne vous souciez pas de la taille du fichier, pourquoi ne pas simplement copier le flux MPEG-2 du DVD entier ? Bien sûr, votre AVI finira par faire 5Go, mais si vous voulez la meilleure qualité et ne vous souciez pas de la taille, ceci est probablement votre meilleure option.

En fait, la raison pour laquelle vous voulez convertir un DVD en MPEG-4 est que vous tenez réellement compte de la taille du fichier.

Il est difficile de proposer une recette sur la façon de créer des rips DVD de très haute qualité. Il y a de nombreux facteurs à prendre en compte, et vous devriez comprendre ces détails, ou vous serez déçus par les résultats. Ci-dessous nous allons examiner quelques-uns de ces problèmes, et voir un exemple. Nous supposerons que vous utilisez libavcodec pour encoder la vidéo, bien que cet exemple théorique s'applique également à d'autres codecs.

Si cela vous semble un peu trop pour vous, vous devriez utiliser une des interfaces graphiques listées dans Section MEncoder sur la page de notre projet. Avec ceci, vous serez suffisamment armé pour produire des rips de bonne qualité sans trop réfléchir car ces outils utilisent des réglages astucieux à votre place.

13.1.1. Préparation à l'encodage : identification des sources, du matériel et du framerate

Avant même de penser à encoder un film, il est nécessaire de passer par quelques étapes préliminaires.

La première et plus importante étape avant l'encodage sera la détermination du type de contenu utilisé. Si la source physique provient d'un DVD ou bien d'un média de diffusion comme la télé par câble ou le satellite, elle sera stockée sous deux formats : NTSC pour l'Amérique du nord et le Japon, et PAL pour l'Europe et les autres pays... C'est important de la prendre en compte ce paramètre: ceci est juste le format de présentation à la télévision, ce n'est en aucun cas le format original du film. L'expérience montre que le NTSC est bien plus dur à encoder car il y a plus d'élément d'identification dans la source. Afin de produire l'encodage désiré, vous devez connaître le format original. Négliger cette étape aura pour conséquence des résultats hasardeux, des artefacts bizarroïdes, des trames en double ou ignorées. En plus d'avoir des résultats bizarres, le rendu global risque d'en souffrir avec une qualité médiocre par unité du bitrate.

13.1.1.1. Identification du framerate de la source

Voici une liste de types de sources matérielles, il est possible que vous trouviez la vôtre avec ces propriétés :

  • Film standard: produit pour une diffusion cinématographique avec 24 images par secondes (fps).

  • Vidéo PAL: Enregistré par une caméra à 50 trames par secondes. Une trame est, par exemple, l'ensemble des lignes paires ou des lignes impaires d'une image. La télévision a été créée pour afficher l'image de cette manière (en fait une version bas de gamme de compression analogique). L'oeil humain est censé compenser cette alternance de trames mais dès lors que vous comprenez ce fonctionnement, vous ne regarderez plus la télévision de la même façon. Deux trames ne font pas une image complète, car elles sont capturées avec un décalage de 1/50e de seconde, et donc, elles ne s'alignent pas parfaitement sauf s'il y a du mouvement

  • Vidéo NTSC : Enregistré par une caméra à 60000/1001 trames par secondes, ou 60 trames par secondes dans l'ère noir/blanc. A part cela, c'est similaire au PAL.

  • Animation: Habituellement dessiné pour du 24fps, mais on peut en trouver de toute sorte.

  • Animation Graphique, Effets Spéciaux: il est possible d'en trouver avec n'importe quel framerate, mais en général, le NTSC utilise 24fps et 30fps, le PAL utilise plutôt 25fps.

  • Vieux films: le framerate est généralement plus bas.

13.1.1.2. Identification de la source matérielle

(?)Les films composés de trames sont dits 'progressive', alors que ceux composés de champs indépendant sont appelés soit entrelacés soit vidéo - ce dernier terme est plutôt ambigu.

Pour compliquer le tout, certains films utilisent un mélange de plusieurs des techniques vues ci-dessus.

La distinction la plus importante qui doit être faire entre ces formats est que certains utilisent les trames alors que d'autres, les champs. Même si un film a été préparé pour être projeté sur une télévision (DVDs inclus), il est converti dans un format basé sur des champs. Les nombreuses méthodes peuvent être rassemblées sous le terme de redimensionnement comme l'infâme NTSC "3:2 telecine" qui en est une variété. Sauf si l'oeuvre originale est basée sur des champs (et avec le même fieldrate), le format d'image obtenu sera différent de celui d'origine.

Plusieurs variétés communes de redimensionnement :

  • Redimensionnement PAL 2:2 : Le meilleur de tous. Chaque image est affichée pendant la durée de deux trames, par extraction des lignes paires et impaires, puis en les affichant par alternance. Si l'original est à 24 images par secondes, ce redimensionnement augmentera la vitesse du film de 4%.

  • Redimensionnement PAL 2:2:2:2:2:2:2:2:2:2:2:3: La douzième image est affichée pendant la durée de 3 frames au lieu de deux. Cela permet d'éviter le problème de l'accélération de 4% mais rend le processus trés difficile à inverser. Cette technique est généralement utilisée dans les productions musicales où l'accélération de 4% endommagerait sérieusement la qualité musicale.

  • Télécine NTSC 3:2: Les images sont alternativement affichées pendant une durée de 3 ou 2 frames. Cela provoque un redimensionnement de 2,5 fois le ratio original. Le résultat est très légèrement ralenti de 60 frames par secondes à 60000/1001 frames par seconde pour maintenir le fieldrate NTSC

  • Redimensionnement NTSC 2:2: Utilisé pour le NTSC avec une source en 30fps. Le rendu est correct, similaire au redimensionnement PAL 2:2

Il y aussi d'autres manières de convertir des vidéos NTSC et PAL mais ce sujet s'éloigne des limites de ce guide. Si vous désirez encoder un film par exemple, le mieux reste de trouver une copie de l'original. La conversion entre ces deux formats est hautement destructrice et il n'est pas possible de l'inverser proprement, donc l'encodage sera d'autant plus mauvais s'il est fait à partir d'une source déjà convertie.

Quand des vidéos sont stockées sur un DVD, des groupes de trames consécutives sont rassemblées en une image, même si elles ne sont pas censées être affichées au même moment. Le standard MPEG-2 utilisé dans les DVDs et la télévision numérique fournit un moyen d'encoder les images originales progressivement et de stocker le nombre de trames pour chaque image qui devra être affiché avant cette image. Si cette méthode est utilisée, on dit que le film est "soft-telecined" ("contenu progressif"), car le processus de rendu est appliqué directement par le lecteur DVD et non pas en dégradant le film. Ce cas est de loin le mieux car il peut être tout aussi bien inversé (en fait, non pris en compte) par l'encodeur puisqu'il préserve la qualité maximale. Malgré cela, beaucoup de DVD et d'émissions studios diffusées n'utilisent pas des techniques d'encodage propres mais plutôt des films "hard telecine" ("contenu brut") dans lesquels les trames sont dupliquées puis encodées en MPEG-2.

Les étapes pour gérer correctement ce genre de cas seront évoquées plus tard dans ce guide. Pour l'instant, nous allons vous donner quelques indices pour définir à quelle source vous avez à faire :

Domaine du NTSC:

  • Si MPlayer affiche que le nombre d'image a changer pour 24000/1001 quand vous regardez votre film, et qu'il ne change plus du tout, il est quasiment certain que c'est un contenu progressif qui a été "soft teleciné".

  • Si MPlayer affiche un nombre d'images alternant entre 24000/1001 et 30000/1001 et que les bords de l'image affichent des espèces de "peignes", alors il y a plusieurs possibilités. Les segments à 24000/1001 fps ont très certainement un contenu progressif, "soft teleciné" mais les parties 30000/1001 fps ont pu être "hard-telecinées" depuis un contenu 24000/1001 fps ou 60000/1001 frames par secondes d'une vidéo NTSC. Utilisez les mêmes conseils que ceux pour les deux cas qui suivent.

  • Si MPlayer montre un nombre d'images constant et que chacune des images avec des mouvements semble avoir un "peigne" sur les cotés, alors votre film est une vidéo NTSC à 60000/1001 images par seconde.

  • Si MPlayer montre un nombre d'images constant et que deux images sur cinq apparaissent avec des "peignes", le film est "hard teleciné" avec un contenu à 24000/1001fps.

Domaine du PAL:

  • Si vous ne voyez pas de "peigne" sur les cotés, le film a un redimensionnement 2:2.

  • Si vous voyez une alternance régulière d'effet "peigne", de pseudo-entrelacement toutes les demi-secondes, alors le film a subi une réduction 2:2:2:2:2:2:2:2:2:2:2:3.

  • Si vous voyez une sorte d'entrelacement constant dans les scènes en mouvement, le film est en PAL avec 50 trames par secondes.

Astuce:

MPlayer peut lire un film très lentement en utilisant l'option -speed ou en le jouant image par image. Essayer d'utiliser l'option -speed à 0.2 afin de regarder le film très doucement ou presser la touche "." pour avancer d'une frame à l'autre et ainsi identifier la "signature" d'un type de redimensionnement si celui-ci n'est pas visible à vitesse normale.

13.1.2. Quantiseur constant contre deux passes

Il est possible d'encoder votre film suivant une large gamme de qualités. Les compresseurs vidéos modernes et quelques pre-codec de compression (antibruit et redimensionnement) permettent d'obtenir un trés bon rendu pour un film grand écran de 90-110 minutes sur 700Mo. De plus, la plupart des films longs peuvent approcher un résultat parfait avec un fichier d'un taille de 1400Mo.

Il y a trois approches possibles pour encoder une vidéo: débit constant (CBR), quantification constante, et deux passes (ABR, ou débit moyen).

La complexité des images d'un film et le nombre de bits utilisés pour cette compression fera varier grandement le résultat d'une scène à l'autre. Les encodeurs vidéos modernes savent s'ajuster en fonction des besoins par variation du débit vidéo (bitrate). Cependant, dans un mode simple comme le CBR, le compresseur ne connaît pas le besoin en débit vidéo pour les scènes à venir, donc il ne sait pas définir un bitrate moyen sur la longueur du film. Les modes avancés actuels, comme le mode 'multi-passes' (plusieurs passages), prennent en compte les statistiques des passes précédentes pour l'encodage, fixant le problème ci-dessus.

Note:

La plupart des codecs qui supportent la compression ABR supportent seulement deux passages alors que d'autres comme le x264, le XviD et libavcodec supportent des passes multiples qui permettent d'affiner à chaque fois les statistiques (ces améliorations seront cependant négligeables après la quatrième passe). Dans cette section, deux passages ou plus peuvent être utilisés indifféremment.

Dans chacun de ces modes, libavcodec sépare les trames vidéos en macroblocs de 16x16 pixels et applique ensuite un quantificateur sur chaque macrobloc. Plus le quantificateur est bas, plus la qualité est bonne et le débit est gros. La méthode utilisée par libavcodec pour déterminer quel quantificateur utiliser varie et est configurable (ceci est une simplification à l'extrême du processus, mais il est utile de comprendre le principe de base).

Lorsque vous spécifiez un débit constant, le compresseur vidéo codera la vidéo en laissant de côté les détails, et ceci, d'autant plus que le bitrate sera petit. Si la taille du fichier vous importe peu, vous pouvez fixer un débit contant et infini. (En pratique, cette valeur aura une limite haute dans les 10000Kbit). Sans réelle restriction de débit, libavcodec utilisera le plus bas quantificateur possible pour chaque macrobloc (tel que spécifié par vqmin, qui vaut 2 par défaut). Si vous spécifiez un débit si petit que libavcodec doit utiliser un quantificateur plus haut, alors vous êtes certainement en train de massacrer la qualité de votre vidéo. En général, vous devriez éviter le CBR si vous vous souciez de la qualité.

Avec un quantificateur constant libavcodec utilise le même quantificateur, spécifié par l'option vqscale, sur chaque macrobloc. Si vous voulez un rip de la meilleure qualité possible, cette fois encore en ignorant le débit, vous pouvez utiliser vqscale=2. Cela donnera le même débit et le même PSNR (Peak Signal-to-Noise Ratio, rapport signal sur bruit de crête) que le CBR avec vbitrate=infini et la valeur de vqmin par défaut (2).

Le problème de la quantification constante est, qu'elle utilise le quantificateur demandé même si le macrobloc n'en a pas besoin. En fait, il doit être possible d'utiliser un quantificateur plus haut sur un macrobloc sans sacrifier de la qualité visuelle. Pourquoi gaspiller des bits avec un quantificateur inutilement bas ? Votre microprocesseur a assez de ressources car il a le temps, mais votre disque lui a une taille fixée.

Avec l'encodage deux passes, la première passe va ripper le film comme en CBR, mais va garder un journal des propriétés de chaque trame. Ces données sont ensuite utilisées pendant la seconde passe de façon à choisir intelligemment quels quantificateurs utiliser. Lors des scènes d'action rapide ou celles ayant beaucoup de détails, des quantificateurs plus élevés seront utilisés. Pendant les scènes avec peu de mouvements ou avec peu de détails, ce sera des quantificateurs plus bas.

Si vous utilisez vqscale=2, alors vous gaspillerez des bits. Si vous utilisez vqscale=3, vous n'aurez pas la meilleure qualité de rip. Supposez que vous ripiez un DVD avec vqscale=3, et que le résultat soit 1800Kbit. Si vous faites un encodage en deux passes avec vbitrate=1800, la vidéo produite aura une meilleure qualité pour le même débit.

Maintenant que vous êtes convaincu que l'encodage deux passes est la bonne méthode, la vraie question est maintenant de savoir quel débit utiliser. Il n'y a pas de réponse toute faite. Idéalement, vous devriez choisir un débit offrant un compromis entre qualité et taille de fichier. Cette valeur varie selon la source vidéo.

Si la taille ne compte pas, un bon point de départ pour un rip de très haute qualité est environ 2000kbps, plus ou moins 200kbps. Pour les vidéos comportant beaucoup d'actions ou de détails, et/ou si vous avez de très bon yeux, vous pouvez choisir 2400 ou 2600. Pour certains DVDs, vous pourrez ne pas voir de différence à 1400kbps. C'est une bonne idée que d'essayer sur des scènes avec différents débits pour se rendre compte.

Si vous avez fixé une taille limite, alors il faudra se livrer à un petit calcul pour obtenir le débit souhaité. Mais avant cela, il faudra définir l'espace que vous réserverez aux piste(s) audio et vous devrez les ripper en premier. Vous pourrez alors calculer le débit souhaité avec l'équation suivante : Débit = (taille_fichier_final_en_Mo - taille_fichier_son_en_Mo) * 1024 * 1024 / durée_en_secondes * 8 / 1000 Par exemple, pour ramener deux heures de films sur un CD de 702Mo avec une piste son de 60Mo, le débit vidéo sera alors de : (702 - 60) * 1024 * 1024 / (120*60) * 8 / 1000 = 740kbps

13.1.3. Contraintes pour une compression efficace

De par la nature intrinsèque de la compression MPEG, de nombreux paramètres entrent en jeu afin d'obtenir une qualité maximale. Le MPEG découpe la vidéo en carré de 16x16 appelé macroblocs. Chacun d'entre eux est composé de 4 petits (8x8) blocs contenant des informations sur la luminosité (intensité) ainsi que de 2 blocs (donc à résolution moitié) contenant des informations chromatiques (pour les teintes rouge-cyan et bleu-jaune). Même si la longueur et la largeur du film ne sont pas des multiples de 16, l'encodeur utilisera des macroblocs de 16x16 pour couvrir l'image entière, l'espace restant sera alors perdu. Si votre intérêt est de conserver une très bonne qualité, utiliser des résolutions non multiples de 16 n'est pas une bonne idée.

La plupart des DVDs ont aussi des bandes noires sur les bords. Négliger ces parties peut altérer la qualité de plusieurs manières.

  1. La compression MPEG est aussi dépendante du domaine de transformation des fréquences, en particulier du "Discrete Cosine Transform (DCT)" (une espèce de transformée de Fourier). Ce type d'encodage est efficace pour les formes et les transitions douces, mais fonctionne moins bien avec les contours acérés. Afin d'encoder correctement, il demandera plus de bits, sinon des artefacts de compression apparaîtront, aussi connus sous le nom de "ringing".

    La transformation en fréquence (DCT) prend place séparément dans chaque macrobloc (en fait, dans chaque bloc), donc le problème n'apparaîtra que si un bord franc se situe dans ce bloc. Si vos bordures noires commencent exactement sur un multiple de 16, ce ne sera pas un problème. En pratique, les bordures ne sont jamais bien alignées, et il sera certainement nécessaire de les couper pour éviter ces défauts.

En plus des transformations au niveau des fréquences, la compression MPEG utilise des vecteurs de mouvements représentant les changements d'une image à la suivante. Ces vecteurs de mouvements voient leur utilité grandement réduite quand la prochaine image à un contenu totalement différent. Quand il y a un mouvement qui sort de la région encodée, cela ne pose pas de problème aux vecteurs. En revanche, cela peut poser des problèmes avec les bandes noires:

  1. Pour chaque macrobloc, la compression MPEG stocke un vecteur identifiant quelle partie de l'image précédente devrait être copiée dans les macroblocs de l'image suivante. Seules les différences devront alors être encodées. Si le macrobloc s'étend et prend en compte une des bordures noire de l'image, alors le vecteur de mouvement écrasera la bordure noire. Cela veut dire que de nombreux bits sont gaspillés pour re-noircir la bande noire ou alors (plus probable) que le vecteur de mouvement ne sera pas du tout utilisé et que tout le macrobloc devra alors être ré-encodé. Dans tous les cas, l'efficacité de l'encodage en est grandement améliorée.

    Une fois encore, ce problème n'existe que si les lignes des bordures noires ne sont pas un multiple de 16.

  2. Enfin, supposons que l'on ait un macrobloc à l'intérieur d'une image et qu'un objet se déplace dans ce bloc proche d'un bord de l'image. Malheureusement, le MPEG ne sait pas faire "copier juste la partie qui dans l'image et laisser tomber la partie noire". Donc la partie noire sera alors aussi copiée, ce qui fait encore gaspiller beaucoup de bits pour compresser un morceau d'image qui n'est pas sensé être là.

    Si l'objet en mouvement parcourt depuis le bord noir jusque dans la zone encodée, le MPEG dispose d'optimisation spéciales pour copier en répétition des pixels depuis le bord de l'image lorsque celui vient de l'extérieur de la partie encodée. Ces optimisations deviennent inutiles quand le film à des bandes noires. Contrairement aux problèmes 1 et 2, même les bordures noires multiples de 16 n'aident pas dans ce cas.

  3. Malgré le fait que les bordures soient entièrement noires et quelles ne changent jamais, il y a toujours un minimum de macroblocs impliqués.

Pour toutes ces raisons, il est préférable de couper entièrement ces bandes noires. Dans la même optique, s'il y a une partie contenant du bruit ou de la distorsion d'image près d'une bordure, la coupure l'enlèvera et permettra d'avoir une amélioration significative de la qualité de l'encodage. Les puristes parmi les vidéophiles souhaiteront préserver l'encodage le plus proche possible de l'original, à moins qu'ils n'encodent avec un quantificateur constant, la qualité gagnée après la suppression des bandes noires améliorera grandement la qualité finale de l'encodage au regard des quelques informations perdues.

13.1.4. Découpage et Redimensionnement

Vous vous souvenez de la section précédente que les dimensions (à la fois largeur et hauteur) de l'image finale doivent être des multiples de 16. Cela peut être réalisé par recadrage (découpe), redimensionnement ou une combinaison des deux.

Lors du recadrage, il y a quelques règles qui doivent être respectées pour éviter d'endommager votre film. Le format YUV normal, 4:2:0, stocke la chrominance (la couleur) de manière sous-échantillonnée, c'est à dire que la chrominance est échantillonée moitié moins souvent que la luminance (intensité). Sur le schéma suivant, L indique l'échantillonage en luminance et C en chrominance.

LLLLLLLL
CCCC
LLLLLLLL
LLLLLLLL
CCCC
LLLLLLLL

Comme vous pouvez le voir, les lignes et colonnes de l'image viennent naturellement par deux. Ainsi, les dimensions de votre recadrage ainsi que ses distances au bords d'origine doivent être paires. Si elles ne l'étaient pas, les chrominances et luminances ne seraient plus alignées. En théorie, il est possible d'avoir des dimensions impaires, mais cela requière un nouvel échantillonage de la chrominance, ce qui engendre potentiellement des pertes d'information et n'est pas supporté par le filtre de recadrage.

Ensuite, la vidéo entrelacée est échantillonée de la façon suivante:

Top fieldBottom field
LLLLLLLL        
CCCC        
        LLLLLLLL
LLLLLLLL        
        CCCC
        LLLLLLLL
LLLLLLLL        
CCCC        
        LLLLLLLL
LLLLLLLL        
        CCCC
        LLLLLLLL

Comme vous pouvez le voir, le plus petit motif à se répéter est sur 4 lignes. Donc, pour la vidéo entrelacée, la hauteur de votre recadrage et sa distance verticale aux bords doivent être des multiples de 4.

La résolution native pour un DVD NTSC est 720x480 et 720x576 pour un PAL, mais il y a un indicateur d'aspect qui spécifie que le mode est plein-écran (full-screen 4:3) ou bien écran large (wide-screen 16:9). Un grand nombre de DVDs (pas tous) en wide-screen ne respecte pas strictement le format 16:9, mais est plutôt en 1,85:1 ou 2,35:1 (cinémascope). Ceci signifie qu'il y aura des bandes noires à enlever sur la vidéo.

MPlayer fournit un filtre de détection qui détermine le rectangle de recadrage (-vf cropdetect). Lancer l'application MPlayer avec l'option -vf cropdetect et il affichera les options de recadrage pour enlever les bandes. Vous devez laisser tourner le film suffisamment longtemps pour que toute la zone de l'image soit vue de façon à obtenir des valeurs précises.

Ensuite, testez les valeurs obtenues avec MPlayer en utilisant la ligne de commande fournie par cropdetect, et éventuellement ajustez le rectangle de recadrage. Ce filtre rectangle offre la possibilité de le positionner de façon interactive pendant le film. N'oubliez pas de suivre les recommandations précédentes sur la divisibilité des dimensions de l'image afin de ne pas désaligner les plans de chrominance.

Dans certain cas, le redimensionnement n'est pas souhaitable. Il est délicat dans le sens vertical avec des vidéos entrelacées, si vous désirez conserver l'entrelacement, vous devrez vous abstenir de redimensionner. Sans redimensionner, pour utiliser des dimensions multiples de 16, il vous faudra recadrer plus petit que l'image. Ne pas recadrer plus grand que l'image parce que car les bandes noires sont nuisibles à la compression.

Le MPEG-4 utilisant des macroblocs de 16x16, assurez-vous que les dimensions de la vidéo que vous encodez sont des multiples de 16, sinon vous dégraderez la qualité, surtout à de faibles débits. Pour ce faire, vous pouvez arrondir les dimensions du rectangle de recadrage au multiple de 16 inférieur. Comme expliqué plus haut, durant le recadrage, vous devrez augmenter le décalage en Y de la moitié de la différence entre l'ancienne et la nouvelle hauteur pour que l'image résultante se situe au milieu de l'ancienne. Et à cause de la façon dont les vidéos DVD sont échantillonées, assurez-vous que ce décalage en Y est un nombre pair. (En fait, c'est une règle: n'utilisez jamais une valeur impaire lors d'un recadrage ou d'un redimensionnement de vidéo). Si vous ne vous faites pas à l'idée de vous débarrasser de quelques pixels, vous préférerez sans doute redimensionner la vidéo. Nous allons voir cela dans notre exemple ci-dessous. En fait, vous pouvez laisser le filtre cropdetect faire tout cela pour vous: il a un paramètre optionnel d'arrondi round qui vaut 16 par défaut.

Faites aussi attention aux pixels à "demi-noir" sur les bords. Assurez-vous qu'ils sont en dehors de votre recadrage, autrement, vous gâcherez des bits qui seraient mieux utilisés ailleurs.

Après tout ceci, vous obtiendrez une vidéo qui n'est pas tout à fait au format 1,85:1 ou 2,35:1, mais quelque chose d'assez proche. Vous pourriez alors calculer le nouveau format à la main mais MEncoder propose une option appelée autoaspect pour libavcodec qui fera cela pour vous. N'agrandissez surtout pas cette vidéo pour obtenir les dimensions standards à moins que vous n'aimiez gâcher votre espace disque. Ce changement d'échelle se fait à la lecture, le lecteur utilisera les données stockées dans le fichier AVI pour effectuer le bon rendu. Malheureusement, tous les lecteurs vidéos n'appliquent pas ce redimensionnement automatique, c'est peut-être pour cela que vous voudrez quand même procéder à ce redimensionnement.

13.1.5. Choix de la résolution et du débit

Si vous n'encodez pas dans un mode à quantificateur constant, vous devez sélectionner un débit. Le concept de débit (bitrate) est assez simple. C'est un nombre (moyen) de bits par seconde qui sera utilisé pour stocker votre film. Normalement, le débit est mesuré en kilobits (1000 bits) par seconde. La taille de votre film sur le disque dur correspond au débit multiplié par sa durée plus une petite quantité pour l'"en-tête" (surcoût, voir par exemple la section sur les conteneurs AVI). D'autres paramètres comme le redimensionnement, le recadrage, etc. ne modifieront pas la taille du fichier sauf si vous y changez aussi le débit.

Le débit n'est pas proportionnel à la résolution. Ce qui veut dire qu'un fichier en 320x240 à 200kbit/sec n'aura pas la même qualité que le même film en 640x480 à 800kbit/sec ! A cela, deux raisons:

  1. Visuelle : Les artefacts de compression MPEG se remarquent plus facilement à une plus grande échelle. Les artefacts apparaissent à l'échelle des blocs (8x8). L'oeil humain ne voit pas les erreurs dans 4800 petits blocs aussi facilement que qu'il les voit dans 1200 grands blocs (en supposant une visualisation en plein écran dans les deux cas).

  2. Théorique : quand vous réduisez la taille d'une image mais que vous continuez à utiliser les mêmes tailles de bloc (8x8) pour la transformation dans l'espace des fréquences, vous déplacez plus de données vers les hautes fréquences. Grossièrement dit: chaque pixel contient plus de détails qu'avant. Donc, même si votre image de taille réduite ne contient plus qu'un quart de l'information dans le domaine spatial, elle peut toujours contenir une grande part de l'information dans l'espace des fréquences (en supposant que les hautes fréquences étaient sous-utilisées dans votre originale en 640x480).

Les anciens guides recommandaient de choisir un débit et une résolution basés sur "1 bit par pixel", mais ce n'est que peu justifié avec les raisons évoquées ci-dessus. Une meilleure estimation reste que le débit augmente proportionnellement à la racine carrée de la résolution, donc une image 320x240 à 400kbit/sec sera comparable à une en 640x480 à 800 kbit/sec. Cela n'a pas été strictement vérifié par la théorie ou une quelconque méthode. De plus, pour un film donné, le résultat variera en fonction du bruit, des détails, du degré de mouvement, etc.. Il est futile de donner des recommandations générales du style: un nombre de bits par longueur de diagonale (similaire au bit par pixel, en utilisant la racine carrée).

Jusqu'à maintenant, nous avons discuté de la difficulté de choisir le débit et la résolution.

13.1.5.1. Calcul de la résolution

Les étapes qui suivent vous guideront dans le calcul de la résolution de votre encodage sans trop distordre la vidéo, en prenant en compte les différents types d'information sur la source vidéo. En premier lieu, il faut calculer le format de l'encodage: ARc = (Wc x (ARa / PRdvd )) / Hc

Où :

  • Wc et Hc sont la largeur et la hauteur de la vidéo recadrée,

  • ARa est le format affiché, généralement 4/3 ou 16/9,

  • PRdvd est le ratio des pixels du DVD qui normalement est égal à 1,25 (=720/576) pour le PAL et 1,5(=720/480) pour le NTSC,

Ensuite, vous pouvez calculer la résolution X et Y en tenant compte du facteur de Qualité de Compression (CQ): ResY = INT(SQRT( 1000*Bitrate/25/ARc/CQ )/16) * 16 et ResX = INT( ResY * ARc / 16) * 16

D'accord, mais c'est quoi ce CQ ? le CQ représente le nombre de bit par pixel et par image encodée. Grosso modo, plus le CQ est grand, moins il y aura de chances de voir apparaître des artefacts de compression. En tout cas, si vous avez une limite de taille pour votre film (1 ou 2 CDs par exemple), il y a donc une limite au nombre de bits total que vous pouvez lui allouer et il est donc nécessaire de trouver le bon compromis entre compressibilité et la qualité.

Le CQ dépend du débit, de l'efficacité du codec vidéo et de la résolution du film. Une manière d'augmenter le CQ, c'est de réduire la résolution du film puisque le débit est calculé en fonction de la taille finale désirée et la longueur du film qui sont constant. Avec les codecs ASP MPEG-4 comme le XviD ou le libavcodec, un CQ en dessous de 0,18 donne généralement une image type mosaïque car il n'y pas assez de bits pour coder les informations de chaque macrobloc (le MPEG-4, comme les autres codecs, groupe les pixels compressés par blocs pour compresser l'image, s'il n'y a pas assez de bits, les bords de ce macrobloc deviennent alors visibles). Donc il est raisonnable de prendre un CQ entre 0,20 et 0,22 pour une copie tenant sur 1 CD, et entre 0,26 et 0,28 pour une copie sur 2 CDs avec des options d'encodage standard. Des options d'encodage plus avancées telles que celles listées ici pour le libavcodec et le XviD devraient permettre d'obtenir la même qualité avec un CQ se situant entre 0,18 et 0,20 pour une copie sur 1 CD et 0,24 à 0,26 pour une copie sur 2 CDs. Avec les codecs ASP MPEG-4 comme le x264, vous pouvez utiliser un CQ se situant entre 0,14 et 0,16 avec des options standards d'encodage, et même descendre entre 0,10 et 0,12 avec des options avancées x264.

Veuillez noter que le CQ n'est qu'un indicateur, il dépend directement du contenu encodé, un CQ de 0,18 pourrait sembler parfait pour un film de Bergman, mais trop petit pour un film comme Matrix contenant beaucoup de scènes d'actions. A l'opposé, il est inutile d'aller au delà de 0,30 pour le CQ, vous ne feriez que gâcher de l'espace disque sans gain notable en qualité. Notez aussi, comme cela a été dit plus haut que les vidéos en plus petites résolutions auront besoin d'un plus grand CQ (comparé à la résolution d'un DVD par exemple) pour un rendu correct.

13.1.6. Les filtres

Apprendre à utiliser les filtres vidéos de MEncoder est essentiel pour créer des fichiers bien encodés. Toutes les transformations vidéos sont exécutées au travers de filtres, comme le recadrage (découpe), le redimensionnement, l'ajustement de couleur, la suppression du bruit, l'ajustement de la netteté, le dés-entrelacement, le téléciné, le téléciné inverse, ou l'effacement des macroblocs trop visible, pour n'en nommer que quelques un. Avec le grand nombre de formats d'entrée supporté, la variété des filtres disponibles dans MEncoder est l'un de ses principaux avantages sur d'autres programmes similaires.

Les filtres sont chargés dans la chaîne grâce à l'option -vf :

-vf filtre1=options,filtre2=options,...

La plupart des filtres acceptent plusieurs options numériques séparées par des double-points (:), mais la syntaxe varie d'un filtre à l'autre, aussi lisez la page manuel pour avoir les détails sur les filtres que vous souhaitez utiliser.

Les filtres agissent sur la vidéo dans l'ordre de leur chargement. Par exemple, la chaîne suivante :

-vf crop=688:464:12:4,scale=640:464

recadrera d'abord une zone de 688x464 depuis le bord haut gauche mais avec un décalage de (12;4), puis redimensionnera la vidéo pour obtenir du 640x464.

Certains filtres ont besoin d'être chargés au début (ou proche du début) de la chaîne pour profiter d'informations du décodeur vidéo qui seraient perdues ou invalidées par d'autres filtres. Les principaux exemples sont pp (postprocessing, seulement dans le cas d'un estompage des macroblocs ou des enlèvements des artefacts de compression), le spp (un autre post processus pour enlever les artefacts MPEG), le pullup (téléciné inverse), et softpulldown (conversion du soft téléciné en hard telecine).

En général, il vaut mieux utiliser le moins de filtres possibles afin de conserver l'encodage le plus proche possible du DVD source. Le recadrage est souvent nécessaire (comme expliqué plus haut), mais évitez de redimensionner l'image. Bien qu'il soit parfois préférable de réduire la taille de l'image plutôt que d'utiliser un quantificateur plus élevé, nous voulons éviter tout ceci:souvenez-vous que nous avons décidé qu départ d'échanger des bits pour de la qualité.

Aussi, n'ajustez pas le gamma, le contraste, la luminosité, etc. Ces réglages peuvent être bons chez vous mais pas sur un autre écran. Ils doivent être appliqués lors de la lecture uniquement.

Une chose que vous pouvez vouloir faire est de passer la vidéo à travers un filtre trés léger antibruit, comme par exemple -vf hqdn3d=2:1:2. Il s'agit encore une fois d'optimiser l'utilisation de l'espace disque: pourquoi le gaspiller à encoder du bruit alors qu'il sera là de toutes façons à la lecture? Augmenter les paramètres de hqdn3d améliorera encore la compressibilité, mais si vous les augmentez trop, vous risquez de dégrader l'image. Les valeurs suggérées ci-dessus (2:1:2) sont plutôt conservatrices, n'hésitez pas à les augmenter et à regarder le résultat par vous-même.

13.1.7. Entrelacmeent et Téléciné

Presque tous les films sont tournés en 24 images par seconde. Puisque le NTSC est en 30000/1001 images par seconde, certains traitements doivent être appliqués pour l'adapter au débit NTSC. Ce procédé est appelé 3:2 pulldown, plus communément appelé téléciné (car le pulldown est souvent appliqué durant la phase de conversion en téléciné), et de façon simpliste, il fonctionne en ralentissant le film à 24000/1001 images par seconde, et en répétant une image sur 4.

Aucun traitement spécifique n'est cependant appliqué à la vidéo des DVDs PAL, qui fonctionnent à 25 images par seconde (techniquement, PAL peut être téléciné, ce qui est appelé 2:2 pulldown, mais ceci n'est pas un problème en pratique). Le film en 24 images par seconde est simplement lu en 25 images par seconde. Le résultat est que la vidéo tourne légèrement plus vite, mais à moins d'être un extra-terrestre, vous ne verrez probablement pas la différence. Le son de la plupart des DVDs PAL a été corrigé de façon à sonner correctement quand il est lu à 25 images par seconde, même si la piste audio (et donc le film entier) a une durée 4% plus courte que les DVDs NTSC.

Puisque la vidéo d'un DVD PAL n'a pas été modifiée, vous n'avez pas à vous soucier de la cadence de défilement des images. La source est en 25 images par seconde, et votre copie sera en 25 images par seconde. Cependant, si vous recopier un film d'un DVD NTSC, vous pourrez avoir besoin d'appliquer du téléciné inverse.

Pour les films tournés en 24 images par seconde, la vidéo du DVD NTSC est soit en 30000/1001 téléciné, soit en 24000/1001 progressif et prévu pour être téléciné à la volée par le lecteur DVD. D'un autre coté, les séries TV sont généralement seulement entrelacées, pas télécinées. Ce n'est pas une règle absolue: certaines séries TV sont entrelacées (comme 'Buffy contre les vampires') alors que d'autres sont un mélange de progressif et d'entrelacé (comme 'Dark Angel', ou '24 heures chrono').

Il est fortement recommandé de lire la section Comment gérer le téléciné et le dés-entrelacement avec les DVDs NTSC pour apprendre à gérer les différentes possibilités.

De toutes façons, si vous copiez principalement des films, vous rencontrerez de la vidéo 24 images par seconde progressive ou télécinée, et dans ce cas vous pouvez utiliser le filtre pullup -vf pullup,softskip.

13.1.8. Encodage de vidéos entrelacées

Si la vidéo que vous désirez encoder est entrelacée (NTSC ou PAL), il vous faudra alors choisir de la dés-entrelacer ou pas. D'un coté, si vous la passez en dés-entrelacé, votre film sera utilisable en progressive scan pour les écrans d'ordinateurs ou les projecteurs vidéos, mais cela aura un prix : le fieldrate de 50 ou 60000/1001 trames par seconde passera à 25 ou 30000/1001 trames par seconde, et en gros, vous perdrez la moitié des informations durant les scènes avec beaucoup de mouvements.

Ainsi, si vous encodez pour avoir des archives de haute qualité, il est recommandé de ne pas dés-entrelacer. Vous pouvez toujours dés-entrelacer le film au moment de la lecture avec des appareils en progressive scan, et les les futurs lecteurs pourront dés-entrelacer toutes les trames, en interpolant les 50 ou 60000/1001 frames par seconde depuis la vidéo entrelacée.

Des précautions spéciales doivent être prises lors d'un travail sur les vidéos entrelacées:

  1. Les découpes sur la hauteur et l'offset sur Y doivent être des multiples de 4

  2. Tout redimensionnement vertical doit être effectué en mode entrelacé

  3. Les filtres de post-traitement et d'antibruit ne marcheront pas comme prévu, sauf si vous faites bien attention à ce qu'ils travaillent sur une frame à la fois, et ils peuvent endommager la qualité finale s'ils sont utilisés de manière incorrecte.

En tenant compte de ces recommandations, voici notre premier exemple :

  mencoder capture.avi -mc 0 -oac lavc -ovc lavc -lavcopts \
  vcodec=mpeg2video:vbitrate=6000:ilme:ildct:acodec=mp2:abitrate=224

Remarquez l'option ilme et ildct.

13.1.9. Commentaires sur le synchronisation Audio/Vidéo

Le système de synchronisation audio/vidéo de MEncoder a été créé dans le but de pouvoir lire même des fichiers dont la synchronisation a été mal faite ou des fichiers corrompus. Il arrive que dans certain cas, il y ait des sauts ou des frames en double, ce qui provoque une désynchronisation A/V, quand vous utilisez des entrées propres (bien sûr, les problèmes de synchronisation A/V ne s'appliquent que si vous avez copié ou rippé le son en même temps que l'encodage de la vidéo). Vous pouvez ensuite activer l'option de synchronisation -mc 0, ou la mettre dans votre fichier de configuration ~/.mplayer/mencoder. Elle ne sera utilisée qu'avec les sources vidéos propres (DVD, capture Télé, bon rip MPEG-4, etc) mais pas pour des fichiers ASF/RM/MOV détériorés.

Si vous désirez une protection plus efficace contre les sauts ou multiplications de frames, utilisez ces deux options : -mc 0 et -noskip. Cela empêchera toutes synchronisation A/V, ou la copie de frames à frames, donc vous ne pouvez l'utiliser avec aucun autre filtre qui pourrait produire aléatoirement des ajouts ou sauts de frames, ou si votre source a un framerate variable! C'est pour cela que l'option -noskip n'est en général pas recommandée.

L'encodage audio nommé "3 passes" que MEncoder supporte est connu pour provoquer des désynchronisations A/V Ceci arrive généralement que lorsqu'il rentre en conjonction avec certains filtres, donc il n'est pas recommandé d'utiliser ce mode "3 passes". Cette fonctionnalité est conservée seulement pour une question de compatibilité et pour certains utilisateurs experts qui savent quand il est bon de l'utiliser ou pas. Si vous n'avez jamais entendu parler de ce mode "3 passes", oubliez le maintenant.

On a rapporté des désynchronisations A/V lors d'un encodage depuis stdin avec MEncoder. Ne faites pas ça ! Utilisez toujours un fichier ou bien une source telle qu'un CD/DVD/etc.

13.1.10. Audio

L'audio est un problème bien plus simple à résoudre : si la qualité importe, laissez le flux audio tel quel. Même les flux AC3 5.1 utilisent au plus 448Kbit/s, et tous ces bits sont utiles. Vous pouvez être tenté de convertir l'audio en Ogg Vorbis de haute qualité, mais ne pas avoir de décodeur AC3 aujourd'hui ne veut pas dire que vous n'en n'aurez pas demain. Préparez le futur de vos rips DVDs en gardant le flux AC3. Vous pouvez conserver le flux AC3 en le copiant directement dans le flux vidéo pendant l'encodage. On peut aussi extraire le flux AC3 pour le mixer dans des conteneurs comme NUT ou Matroska.

mplayer fichier_source.vob -aid 129 -dumpaudio 
  -dumpfile son.ac3

mettra dans ce fichier sond.ac3 la piste audio numéro 129 du fichier source fichier_source.vob (NB : les fichiers VOB d'un DVD utilise normalement une autre système de numérotation pour l'audio, ainsi la piste 129 est la seconde piste de ce fichier VOB).

Parfois, il arrivera que vous n'ayez pas d'autre choix que de compresser le son pour laisser plus de place à la vidéo. La plupart des gens optent alors pour le codec MP3 ou le Vorbis. Bien que le codec MP3 soit moyennement efficace, il est de mieux en mieux accepté par les lecteurs de salon, mais cette tendance évolue.

N'utilisez pas l'option -nosound quand vous encodez un fichier avec de l'audio, même si vous voulez encoder puis mixer l'audio dans un deuxième temps. Cela devrait pourtant marcher dans la plupart des cas, mais l'option -nosound cache certains problèmes dans les réglages en ligne de commande. En d'autres mots, avoir une piste audio pendant l'encodage vous permettra de ne pas avoir ce type de messages comme « Trop de paquets audio dans la mémoire tampon  », et vous aurez ainsi une synchronisation propre.

Vous aurez besoin de MEncoder pour traiter le son. Vous pouvez copier la bande son originale pendant l'encodage avec l'option -oac copy ou la convertir en un "petit" 4kHz mono WAV PCM avec l'option -oac pcm -channels 1 -srate 4000. Autrement, dans certains cas, cela générera un fichier vidéo qui ne se synchronisera pas avec l'audio. Cela arrive quand le nombre de frames vidéos dans le fichier source ne correspond pas exactement à la longueur totale des frames audio, ou bien lorsqu'il y a une discontinuité ou des frames audio en trop ou manquantes. La meilleure façon de traiter ces soucis est d'insérer un silence ou bien de couper l'audio à ces points. Cependant, MPlayer ne sait pas faire cela, si vous avez dé-multiplexé l'AC3, vous pourrez l'encoder avec une application externe (ou le transformer en PCM avec MPlayer), les superpositions de son seront mises de coté, et la seule manière de corriger cela au niveau de la vidéo, sera de la couper pendant des erreurs. Du moment que MEncoder voit l'audio pendant qu'il encode la vidéo, il peut faire ces découpes (ce qui fonctionne habituellement car elles se produisent lors d'un changement de scène avec fondu au noir) mais si MEncoder ne voit pas l'audio, il encodera toutes les frames telles quelles et elles ne tiendront pas dans le fichier audio final, quand, par exemple, vous mélangerez la piste vidéo et sonore dans un fichier Matroska.

Dans un premier temps, il faudra convertir le son du DVD en fichier WAV que le codec audio peut utiliser en entrée. Par exemple :

mplayer fichier_source.vob -ao pcm:file=fichier_destination_son.wav
   -vc dummy -aid 1 -vo null

aura pour effet de prendre la seconde piste du fichier source_file.vob pour la placer dans le fichier destination_sound.wav. Vous devrez ensuite normaliser le son avec l'encodage, car les pistes audio des DVDs sont généralement enregistrés avec un volume bas. Vous pouvez utiliser l'outil normalize qui est normalement disponible dans toutes les distributions. Si vous utilisez Windows, un outil comme BeSweet donnera le même résultat. Il faudra ensuite l'encoder en Vorbis ou MP3. Par exemple :

oggenc -q1 fichier_destination_son.wav

encodera fichier_destination_son.wav avec une qualité de 1, ce qui est équivalent à environ 80Kb/s, soit le strict minimum en terme de qualité. Notez que MEncoder ne sait pas encore multiplexer des pistes audio Vorbis car il ne supporte que des conteneurs en sortie du type AVI ou MPEG, ce qui signifie qu'il y aura des problèmes de synchronisation lors de la lecture avec quelques lecteurs vidéo avec l'AVI contenant un flux audio VBR en Vorbis. Soyez sans crainte, ce document vous montrera comment y arriver avec un programme tiers.

13.1.11. Le multiplexage

Maintenant que vous avez encodé votre vidéo, vous désirez très certainement la multiplexer avec une ou plusieurs pistes audio vers un conteneur comme l'AVI, le MPEG, le Matroska ou le NUT. MEncoder ne supporte nativement que des conteneurs AVI ou MPEG. Par exemple :

mencoder -oac copy -ovc copy  -o sortie_film.avi 
  -audiofile entrée_audio.mp2 entrée_video.avi

Cela aura pour effet de fusionner le fichier vidéo entrée_video.avi et le fichier audio entrée_audio.mp2 vers un seul fichier AVI sortie_film.avi. Cette commande marche avec le MPEG-1 layer I, II, ou III (plus connu sous le nom de MP3), WAV et quelques autres formats audio.

Une des caractéristiques expérimentales de MEncoder est le support de libavformat, étant une librairie issue du projet FFmpeg, supportant le multiplexage et dé-multiplexage vers une grande variété de conteneurs. Par exemple :

mencoder -oac copy -ovc copy  -o sortie_film.avi 
  -audiofile entrée_audio.mp2 entrée_video.avi 
  -of lavf -lavfopts format=asf

Cela fera strictement la même chose que l'exemple d'avant, mais le conteneur de sortie sera alors de l'ASF. Prenez note : ce support est à l'état expérimental (mais s'améliore de jour en jour), et ne marchera que si vous compilez MPlayer avec l'option activée libavformat (ce qui veut dire que les binaires en package ne marcheront certainement pas).

13.1.11.1. Amélioration de la fiabilité lors du multiplexage A/V

Vous avez sûrement pu expérimenter des problèmes de désynchronisation A/V quand vous multiplexiez des pistes vidéos et audio A/V, même en ajustant le délai de décalage du son, il y avait toujours un décalage. Ceci est dû à l'utilisation de filtres qui dupliquent ou ajoutent des images, comme le filtre téléciné inverse. Il est vivement conseillé d'utiliser le filtre vidéo harddup à la fin des filtres pour éviter ce problème.

Sans l'option harddup, si MEncoder veut dupliquer une image, il va demander au multiplexeur de mettre en place une marque sur le conteneur, ainsi la dernière image sera affichée pour maintenir la synchronisation sans avoir à écrire une nouvelle image. Avec l'option harddup, MEncoder affichera encore l'image dans le filtre au lieu de pousser la frame précédente. Ce qui veut dire que l'encodeur recevra exactement les mêmes frames plusieurs fois, puis les compressera. Cela donnera un fichier légèrement plus grand, mais cela ne posera plus de problèmes quand vous dé-multiplexerez ou multiplexerez vers un autre conteneur.

Vous n'aurez pas d'autre choix que d'utiliser harddup avec certains formats de conteneur peu liés à MEncoder comme ceux supportés par libavformat, qui ne supportent pas la duplication de frame au niveau du conteneur.

13.1.11.2. Limitations du conteneur AVI

Bien que ce soit le format de conteneur le mieux supporté après le MPEG-1, l'AVI a des inconvénients majeurs. Peut-être que plus évident est le surcoût. Pour chaque morceau du fichier AVI, 24 octets sont utilisés dans les entêtes et dans l'index. Ceci se traduit à environ 5Mo par heure, soit à peu près 1-2,5% de surcoût sur un fichier de 700Mo. Cela peut ne pas sembler être important, mais c'est ce qui fait la différence dans un fichier qui utilise 700 kbits/sec au lieu de 714 kbits/sec: pour la qualité, chaque bit compte.

En plus de cette grosse inefficacité, l'AVI a aussi d'autres limitations importantes:

  1. Seuls les contenus à fps constants peuvent être stockés. Ceci est particulièrement limitant si vous voulez stocker des fichiers aux contenus hétérogènes (par exemple un mélange de vidéo NTSC et de films). En fait, il y a des modifications qui permettent de stocker des contenus à fps variables dans un AVI, mais ils multiplient par au moins 5 la taille des entêtes (déjà grosses).

  2. L'audio dans un fichier AVI doit aussi avoir un débit constant (CBR) ou une taille de 'frames' constante (par exemple : toutes les frames décodent le même nombre d'échantillons). Malheureusement, le meilleur codec, Vorbis, ne rentre pas dans ces critères. Donc, si vous envisagez de stocker un fichier en AVI, vous devrez utiliser un codec moins performant comme le MP3 ou l'AC3.

Ceci dit, MEncoder ne supporte pas actuellement l'encodage avec des fps variables ou le Vorbis; Donc vous n'allez pas voir de limitation de MEncoder si vous n'utilisez que cet outil pour produire vos encodages. Pourtant, il est possible d'utiliser MEncoder uniquement pour l'encodage vidéo, utiliser des outils externes pour l'encodage de l'audio et multiplexer le tout vers un conteneur différent.

13.1.11.3. Le multiplexage avec le conteneur Matroska

Matroska est un conteneur libre, ouvert, qui offre de nombreuses options avancées que, par exemple, l'AVI ne peut pas supporter. Par exemple, le Matroska supporte le débit vidéo variable (VBR), un framerate variable (VFR), chapitres, attachement de fichiers, code de détection d'erreur (EDC) et des codecs A/V modernes comme le "Advanced Audio Coding" (AAC), le "Vorbis" ou le "MPEG-4 AVC" (H.264) et d'autres choses non supporté par l'AVI.

Les outils nécessaires à la création de fichier Matroska sont appelés mkvtoolnix, et sont disponibles dans la plupart des systèmes Unix mais aussi sous Windows. Puisque Matroska est un standard ouvert, vous trouverez sûrement d'autres outils qui vous conviendront parfaitement, mais comme mkvtoolnix est le plus connu, et qu'il est supporté par Matroska lui même, nous allons parler de son utilisation.

La façon la plus simple assurément de démarrer avec Matroska, est d'utiliser MMG, une interface graphique livrée avec mkvtoolnix, et suivre le guide sur l'interface mkvmerge (mmg).

Vous pouvez multiplexer des fichiers vidéos et audio en utilisant la commande :

mkvmerge -o sortie.mkv entree_video.avi 
  entre_son1.mp3 entree_son2.ac3

Ceci aura pour effet de multiplexer le fichier vidéo entree_video.avi avec les deux fichiers audio entre_son1.mp3 et entree_son2.ac3 dans un fichier Matroska sortie.mkv. Matroska, comme mentionné plus tôt, est capable de faire bien plus, comme plusieurs pistes audio (avec un réglage précis de la synchronisation audio/video), chapitres, sous titres, coupures, etc... Merci de bien vouloir vous reporter à la documentation de cette application pour plus d'informations.