Ripper et encoder en XviD

Introduction

  Le Xvid est un codec MPEG4 distribué sous licence GPL, ce qui lui permet, contrairement au DivX d'être en constante évolution grâce a une importante communauté de développement.
  De plus, ce codec apporte beaucoup moins de flou que le DivX (c'est le principal défaut du DivX) et la qualité globale me semble meilleure. Mais ceci a un prix : suivant les options utilisées, l'encodage en XviD sera plus long qu'en DivX.

 La méthode présentée ici est celle que j'utilise pour encoder. On obtient un excellent résultat. Un conseil de manière générale : il faut absolument éviter d'utiliser des logiciels comme EasyDivX ou NeoDivX. On obtient jamais un aussi bonne qualité avec ces logiciels tout en un. En utilisant des logiciels spécialisés dans chaque étape, on peut plus facilement contrôler le processus.

Version Linux - Version Windows
 

Note

Attention : N'ayant plus de windows depuis quelques temps déjà, ce tutorial ainsi que les logiciels utilisés et leur version peuvent commencer à être obsolètes. Toutefois, la méthode est toujours valable et adaptable à d'autres logiciels équivalents.

Logiciels utilisés

Ripp du DVD

Il faut en premier lieu enregistrer le DVD sur le Disque Dur. C'est le but de cette étape.

  1. Lancer DVD Decrypter.
  2. Dans le menu "Mode", sélectionner "IFO".
  3. Dans le menu "Edit", sélectionnez "Select Main Movie PGC" (par défaut, c'est automatique). La piste du film est maintenant sélectionnée. Vous pouvez vérifier dans la partie "Imput" que la bonne piste est bien sélectionnée (en principe, il n'y a pas de problème".
  4. Dans l'onglet "Stream Procesing" ne sélectionner que les éléments désirés (piste vidéo, bande son, sous-titres). Vous pouvez ici choisir l'option "Demux" pour les bandes son, ou bien laisser par défaut (Direct Stream Copy) et démultiplexer les bandes son a l'étape suivante.
  5. Dans la zone "Destination", sélectionner le répertoire voulu pour enregistrer le rip.
  6. Appuyer sur Le bouton "Decrypter".

Cela génère plusieurs fichiers *.vob, un fichier *.ifo, et suivant les options choisies, un ou plusieurs fichiers *.ac3.
 

Création du serveur de frames et extraction de l'audio

Le but de cette étape est de créer un fichier *.d2v, serveur de frames intermédiaire permettant a GordianKnot de lire les *.vob, et de démultiplexer l'audio.

  1. Lancer DVD2AVI
  2. Faire "File/Open" et ouvrir le premier fichier *.vob extrait du DVD précédemment.
  3. Sélectionner "Output Method/Demux All Tracks". Laisser le reste par défaut. Vous pouvez aussi cocher ici "Disable" et démuxer les pistes audio avec le Ripper DVD (a l'étape précédente). Je vous laisse explorer ces possibilités :).
  4. Puis "File/Save Project (F4)".
On obtient un fichier *.d2v ainsi qu'un fichier *.ac3 (plusieurs si on a coché plusieurs langues dans SmartRipper)

 

Conversion de l'audio en mp3

Nous allons maintenant convertir la bande son au format voulu.

  1. Lancer HeadAC3he.
  2. Ouvrir le fichier.
  3. Dans "Destination format" : sélectionner "Wav", "16 bits" ainsi que "2-pass mode" et "hybrid" comme sur l'image ci-contre. Laisser les autres options par défaut.
  4. Appuyer sur Start.

 

Nous avons maintenant un gros fichier *.wav qu'il faut convertir en ogg.

  1. Lancer OggDropXPd.
  2. Faire un clic droit sur la fenetre, et sélectionner "Encoding options".
  3. Choisir les paramètres d'encodage. Je conseille le réglage en qualité de niveau 4, qui équivaut a un débit moyen de 128kbits/s. Beaucoup de DivX sont encodés en mp3 128 kbits/s, mais je trouve que le son est très dénaturé et désagréable a écouter. Si vous tenez a faire du mp3, je préconise un bitrate de 192kbits/s. L'avantage du ogg, c'est que pour un même débit moyen de 128kbits/s (qualité 4), on obtient un son de bien meilleure qualité, ce qui permet d'obtenir un bien meilleur rapport gain de place / qualité sonore.
  4. Glisser-Déposer le fichier *.wav dans la fenêtre de OggDropXPd.

 

Edition du serveur de frames

Nous allons maintenant créer le serveur de frame (un fichier *.avs) lisible par VirtualDubMod, contenant toutes les informations de redimensionnement, cropping, etc...

  1. Lancer Gordian Knot.
  2. Passer dans l'onglet "Débit" et appuyer sur "reset".
  3. Appuyer sur "open" et choisir le fichier *.d2v créé avec DVD2AVI.
  4. Dans "codec", choisir Xvid (ou Divx 5 pour les plus vieilles version de GordianKnot, car le codec DivX 5 calcule comme XviD, a savoir 1ko = 1000 octets, contrairement au DivX 3 pour qui 1ko = 1024 octets).
  5. Choisir la taille finale du film En nombre de CD, ou directement a la main.
  6. Indiquer la taille de l'audio, soit en donnant un bitrate, soit en indiquant le ou les fichier(s) *.ogg.
Très important : Noter la taille en KB indiquée dans "Video Size". Elle sera utile plus tard, lors de l'encodage.

Passons aux réglages de l'image dans l'onglet "Résolution".

  1. Dans "Résolution en Entrée" et dans "Pixel Aspect Ration en Entrée", vérifier que les paramètres correspondent bien au film sur la jaquette du DVD (en principe, les paramètres sont bien choisis par défaut).
  2. Cliquer sur "Rognage Auto" pour enlever les bandes noires, qu'il est inutile d'encoder.
  3. Faire varier la résolution avec la grande barre horizontale. On peut modifier "W-Modul" et "H-Modul" pour des réglages plus fins. Il est conseillé de garder des réglages voisins de 100% pour une meilleure qualité (regarder W-Zoom" et "H-Zoom").
  4. Noter la valeur de "Bits/(pixel*frame)" pour la suite.
  5. Dans la deuxième fenêtre de Gordian Knot jusqu'à présent laissée en arrière-plan, relever les frames de début et de fin de générique. Ce sera utile pour indiquer au codec de compresser plus le générique.
  6. Cliquer sur "Sauver et Encoder". Dans la partie "Filtre Retaille", choisir "Lanczos". Cliquer sur "Sauver" pour enregistrer le fichier *.avs

Encodage première passe

Passons maintenant a l'encodage de la première passe

  1. Lancer VirtualDubMod
  2. Faire "Fichier/Ouvrir" et ouvrir le fichier *.avs créé avec Gordian Knot.
  3. Dans le menu "Video", choisir "Full processing mode", puis faire "Video/Compression...". Vous obtenez la boite ci-contre.
  4. Choisir le codec XviD.
  5. Dans la nouvelle boite, choisir "Encoding type" = "2 Pass - 1st pass" et "Profil @ Level" = "(unrestricted)".

 

Il appairait la boite ci-contre, boite d'options du XviD.
Ces options sont celles du codec XviD : les fenêtres sont indépendantes de la version de VirtualDubMod utilisée. Les options choisies dans la suite pour le codec XviD sont des options de base, qui a mon avis conviennent parfaitement pour un débutant, et qui offrent une qualité plus que correcte. Avec plus d'expérience, il sera possible de choisir des options donnant une meilleure qualité. Pour trouver les bonnes options, il n'y a pas de secret : il faut expérimenter. En effet, les options qui donnerons une meilleure qualité sont dépendantes de chaque film ou presque (vitesse des mouvements, lumière par exemple).

  1. Choisir "Quantization type". Si la valeur de "Bits/(pixel*frame)" notée précédemment dans Gordian Knot est inférieur a 0.19, mettre h263 (valeur idéale pour les faibles bitrates), sinon mettre MPEG, le film sera plus net.
  2. Cochez "Quarterpel". Cela ralenti l'encodage, mais augmente la qualité.
  3. Laisser le reste par défaut.
  4. Valider cette fenetre

 

Passons a une deuxième fenêtre de configuration :

  1. Cliquer sur "Advanced Options" dans la boite principale de la configuration de XviD (la ou on a choisi "2 Pass - 1st pass").
  2. Placer "Motion search precision" à "6 - Ultra High"
  3. Placer "VHQ mode" à "4 - Wide Search" pour une meilleure qualité. Cependant, cela augmente considérablement le temps d'encodage. (Le temps d'encodage peut varier énormément rien qu'en modifiant ce paramètre). Si vous êtes pressé, baissez cette valeur, tout en étant conscient que vous baissez aussi la qualité.
  4. Cocher "Use chroma motion"

 

Dans l'onglet "Quantization" : il faut régler les quantizers, ie le niveau de compression des frames. Les I-Frames sont les frames clé (frames complètes), et les P-Frames représentent la variation par rapport a l'image précédente, et les B-Frames sont des frames dites bidirectionnelles.

Paramétrer les options comme sur l'image ci-contre :

Fermer cette boite (OK).

 

On est de retour dans la fenêtre principale de configuration de XviD (ci-contre). On va maintenant entrer les valeurs pour compresser plus le générique.

  1. Cliquer sur "Add". une entrée se rajoute dans la liste juste au dessus.
  2. Cliquer sur "Edit". Une nouvelle boite appairait. Dans cette boite, préciser la frame de début du générique. Dans le champ "Weight", mettre "0.20", soit une compression à 20% du ratio normal du film (5x). Vous pouvez aussi cocher si vous voulez mettre le générique en noir et blanc, pour gagner encore un peu de place sur le film proprement dit. Valider
  3. Recliquer encore sur "Add" pour créer une nouvelle entrée. L'éditer pour préciser la frame de fin du générique ainsi que remettre "Weight" à 1.
Vous venez de définir une section ou l'encodage sera 5 fois plus compressé. Vous pouvez faire de même si vous avez plusieurs génériques. L'opération inverse est possible : si une scène est trop compressée, et de mauvaise qualité, il est tout a fait possible de forcer une compression plus faible en augmentant la valeur de "Weight" sur une section.

 

Le codec est maintenant paramétré. Valider 3 fois pour revenir a VirtualDubMod. Appuyer sur [F7] ("Save as..."), donner un nom au fichier (qui sera uniquement temporaire) et choisissez le format de sauvegarde *.avi. Cocher la case "Dont run this job now; add it to job control so I can run it in batch mode".

Encodage deuxième passe

Passons maintenant a l'encodage de la deuxième passe

  1. Retourner dans "Video/Compression..." et choisir a nouveau le codec XviD.
  2. Dans la nouvelle boite, choisir "Encoding mode" = "2 Pass - 2nd pass".
  3. Dans la partie "Target size (kbytes)", indiquer la valeur en KB notée dans Gordian Knot. Si le non de la case est "Target bitrate (kbps)", cliquer une fois sur l'intitulé pour changer le mode de calcul.
  4. Cliquer sur le bouton "..." a coté de "Encoding mode" = "2 Pass - 2nd pass". Dans la nouvelle boite, mettre "I-frame boost %" à 10. Laisser le reste par défaut.

 

Encore une fois, valider 3 fois pour revenir a VirtualDubMod. Appuyer sur [F7] ("Save as...), donner un nom au fichier qui sera la vidéo sans le son, et choisissez le format *.avi. Cocher la case "Dont run this job now; add it to job control so I can run it in batch mode".
Appuyer sur [F4] pour faire apparaître le gestionnaire de "job", puis appuyer sur "Start". L'encodage commence, première passe, puis deuxième passe. Vous avez maintenant le temps de sortir faire un petit tour pour prendre l'air :). Le temps d'encodage peut varier très fortement en fonction de votre machine et des options choisies.

Multiplexage de l'audio et de la video

Avec VirtualDubMod, ouvrir le fichier vidéo créé précédemment. Il faut ouvrir celui que vous avez nommé lors de l'enregistrement de la deuxième passe (la vidéo sans son).

  1. Dans "Streams", sélectionner "Stream list".
  2. Dans la boite de dialogue qui apparaît, cliquer sur "Add" et sélectionner le fichier *.ogg précédemment créé avec OggDropXPd. De la même manière, il est possible d'ajouter des pistes de sous-titres extraites du DVD. Un autre menu vous permet aussi d'ajouter le chapitrage du DVD, mais je vous laisse découvrir cette possibilité.
  3. Le flux audio apparaît dans la liste. Faites un clic droit dessus, et assurez vous que "direct stream copy" est bien coché.
  4. Enfin, dans le menu "video", sélectionner "Direct Stream Copy".
Ca y est, c'est fini ! il ne reste plus qu'a enregistrer le fichier final, qui contiendra le film avec le son. Pour cela, appuyer sur [F7], et donner un petit nom au film encodé :). Pour le format d'enregistrement, choisissez le *.ogm. C'est le seul format qui support les bandes son ogg, les fichiers de sous-titres et chapitrages DVD. La sauvegarde en *.ogm est avantageuse, car ce format a de certains avantages sur le *.avi, notamment un déplacement instantané dans le fichier sans perte de synchronisation, l'enregistrement d'un nombre quasi illimité de flux audio et de sous-titres dans le fichier, mais nécessite un filtre DirectShow supplémentaire (OggDS pour ne pas le nommer).
Penser a décocher la case "Dont run this job now; add it to job control so I can run it in batch mode", c'est maintenant inutile.