table des matières   --> suivant   <-- précédent   dernière modification le 22 novembre 2002

4. Transcoder un DVD en AVI

Ici, vous avez deux choix - c'est soit transcode soit MEncoder. Les deux ont des avantages et inconvénients. En voici une petite liste qui est vraie au moins pour les versions CVS du 28 avril 2002 :

4.1. Aspect ratios

Avant de commencer, laissez-moi vous rappeler les aspect ratios les plus utilisés. Les DVDs sont toujours codés en 720x576 (5:4) même si l'image sera redimensionnée lors de l'affichage. Les formats habituels sont le 4:3 = 1.33 pour la télé, 16:9 = 1.78 pour les films de cinéma normaux et 2.35:1 pour le Cinémascope.

Voici une liste de scénarios habituels:

Ne vous en faites pas si vous ne comprenez pas tout du premier coup. Jetez un coup d'oeil aux options de rognage et redimensionnement de dvd::rip pour une approche plus intuitive.

4.2. Utiliser dvd::rip

Utiliser dvd::rip est de loin la meilleure méthode et la plus facile pour faire vos AVIs. Comme dit précédemment, il utilise largement transcode.

Après avoir lancé dvd::rip vous extrayez les titres que vous voulez transcoder sur votre disque dur. Référez-vous au chapitre 3 pour une description plus détaillée.

4.2.1. Rognage et zoom

Maintenant, passez à l'onglet Clip & Zoom. C'est ici que vous réglez toutes les options de rognage ("clipping") et de dimensionnement de l'image. Tout d'abord, choisissez une image de travail: entrez simplement un numéro de frame (comme 200) dans la ligne d'entrée Grab Preview Frame et appuyez sur Grab Frame from ripped VOB. Après quelques secondes, les trois vues en dessous montrent le frame que vous avez choisi.

transcode utilise trois étapes pour amener l'image à sa taille finale: il rogne d'abord l'image sans la redimensionner, ensuite il la redimensionne, et finalement, il rogne une nouvelle fois. Toutes ces étapes peuvent être sautées en sélectionnant 0 pour le rognage et en laissant les hauteur et largeur originales pour le redimensionnement. Chaque fenêtre montre le résultat de ces trois étapes. Si vous voulez voir quelle taille font réellement les images, cliquez juste dessus, et une fenêtre pop-up s'ouvrira avec l'image correspondante.

Vous avez probablement remarqué la liste d'options sous les trois fenêtres de pré-visualisation. dvd::rip propose un large choix de pré-séléctions. Séléctionner simplement l'un des choix vous donne un bon début. Vous pouvez toujours changer manuellement les valeurs après avoir choisi une pré-séléction. Toutes les pré-séléctions nommées "autoadjust..." tentent de deviner la bonne région à rogner. Après avoir choisi une pré-séléction, appuyez sur le bouton Apply Preset Values. Ajustez ensuite les valeurs jusqu'à ce que cela vous satisfasse.

Les choix big frame, medium frame et small frame font référence à la taille finale de l'image. big garde presque la résolution DVD, medium vise entre 500 et 600 de largeur et small à peu près 350.

Une remarque au sujet du redimensionnement: Use fast resizing a un grand impact sur le traitement de l'image mais il faut que les hauteur et largeur soient divisibles par 32. Ne vous en faites pas, dvd::rip vous dira si vous ne pouvez pas utiliser le redimensionnement rapide. Notez également que même s'il est possible d'élargir l'image je vous recommande fortement de ne pas le faire. Il y a plusieurs inconvénients : le codeur a besoin de beaucoup plus de bits pour atteindre la même qualité que vous auriez obtenue en codant avec une taille inférieure et en le redimensionnant à la lecture, et vous pourriez même obtenir des images déformées (Peter Schuller m'a fait part d'un tel cas). Redimensionnez toujours en réduisant la taille.

4.2.2. Choisir les paramètres de codage

Nous avons fini avec cet onglet. Ouvrez l'onglet
Transcode. Pour commencer, décidez quel codec vidéo vous allez utiliser. Si vous avez installé DivX5 for Linux alors vous pouvez l'utiliser, mais je vous recommande d'utiliser XviD. Si vous avez téléchargé XviD par CVS alors l'option à choisir est xvidcvs (évidemment). Si transcode s'arrête en cours de route pour d'obscures raisons, vous pouvez essayer xvid.

Vous souvenez-vous que je vous avais demandé de vérifier si la vidéo est entrelacée ou non ? On en a besoin maintenant. Si votre vidéo n'est pas entrelacée, alors laissez les options deinterlacing et antialias à off. Sinon choisissez 3 - Zoom To Full Frame. C'est le plus lent mais aussi le meilleur désentrelaceur. Encore une fois, voici l'exemple entrelacée de Ally McBeal. Vous pouvez voir le résultat de 3 - Zoom To Full Frame avec la première image désentrelacée.

Un autre filtre de désentrelacement est fourni par un plugin externe (ne vous inquiétez pas, vous l'avez déjà installlé avec transcode). Regardez en bas à droite. Il y a une entrée nommée transcode options. Toutes les options entrées ici sont simplement passées à transcode. On peut l'utiliser pour le désentrelacement. Voici la même image que précédemment désentrelacée avec un autre désentrelaceur. Ce désentrelaceur est plus rapide que l'option 3 - Zoom To Full Frame. Si vous voulez l'utiliser, alors placez deinterlace sur off et entrez -J dilyuvmmx dans la ligne d'entrée.

dvd::rip essaie d'auto-détecter votre framerate. Si il a échoué, vous pouvez le corriger ici. Use YUV internal devrait toujours être sur yes à moins que le codec de sortie ne supporte pas les modes YUV. XviD les supporte. Cette option accélère considérablement le codage. DivX multipass devrait être sur yes également à moins que vous ne vouliez réaliser une prévisualisation. Pour les résultats finaux, choisissez toujours un codage en 2 passes. Même si ça s'appelle DivX multipass ça marche aussi très bien avec XviD.

Les options audio sont assez explicites. Vous choisissez soit de re-coder l'audio en MP3 avec un bitrate spécifié ou vous laissez le son original en AC3 sans re-codage. Le son AC3 offre l'effet surround et tous ces avantages mais prend plus de place que le son MP3. C'est vraiment à vous de choisir. Si vous utilisez le MP3, assurez-vous de placer MP3 Quality sur 2. Selon la documentation de lame (lame est utilisé pour la compression MP3) des paramètres de qualité supérieurs comme 1 ou 0 - best but slower sont largement plus lents mais ne produisent pas une qualité supérieure de façon significative. L'option volume rescale permet une normalisation du son sans recourir à un programme externe. dvd::rip scanne automatiquement le son et propose une valeur de normalisation.

En haut à droite, vous pouvez entrer la valeur du bitrate. Vous pouvez facilement choisir la taille du fichier final en séléctionnant le nombre et la taille des CDs que vous allez utiliser. Vous pouvez également modifier le Target Size ou le Video Bitrate. dvd::rip mettra à jour automatiquement les valeurs calculées, facilitant la recherche du bitrate optimal.

4.2.3. Générer une prévisualisation rapide

La plupart du temps, vous devriez créer un petit échantillon avec dvd::rip. Vous pouvez le faire en fournissant un Frame Range (intervalle de frames). Je prends en général 30 secondes qui font 750 frames à 25 fps (<nombre de secondes> * <fps> = <nombre de frames à coder>) et commence quelque part dans le film (comme à 200, 300 frames). De bonnes valeurs sont par exemple 200 - 950. Vous pouvez également donner à transcode un bas niveau de priorité (donc un haut niveau de "nice") de façon à ce qu'il n'utilise que les temps morts. Si vous voulez votre prévisualisation tout de suite maintenant, vous pouvez désactiver provisoirement l'option DivX Multipass. N'oubliez pas de le réactiver après !

Quand vous avez fini, cliquez sur Transcode. Après quelques minutes votre AVI/MPEG sera prêt. Jetez-y un coup d'oeil (par exemple mplayer my-new-file.avi). C'est le moment de voir si le désentrelacement a marché comme prévu et de vérifier que le son et la vidéo sont parfaitement synchrones. Si c'est le cas, c'est bon. Si ce n'est pas le cas, lisez la suite:

4.2.4. Eviter la désynchronisation audio/vidéo

Si l'audio et la vidéo ne sont pas synchrones dans votre prévisualisation (ou quand vous lisez le DVD lui-même) vous pouvez fournir à transcode un décalage de frames pour la synchronisation a/v. Il vous faut préciser le paramètre -D nr dans l'entrée transcode options dans l'onglet Transcode. nr est le nombre de frames de décalage de l'audio. Ce nombre peut être négatif. Un frame est long de 40ms à 25fps. De façon plus générale, un frame dure (1000 / fps)ms. Pour mon DVD d'Ally McBeal DVD j'ai besoin d'une correction de -2 qui correspond à -80msecs: -D -2. Recrééz une vidéo de prévisualisation (sans toucher aux autres paramètres a priori) et vérifiez l'audio à nouveau. Si besoin, recommencez l'opération jusqu'à entière satisfaction.

4.2.5. Créer le film en entier

Quand la prévisualisation est bonne vous pouvez commencer votre transcodage. Assurez-vous que DivX Multipass est sur on si vous l'aviez désactivé pour l'échantillon. Cliquez soit sur Transcode soit sur Transcode + Split si vous voulez que vos fichiers soient automatiquement coupés à la taille spécifiée au niveau de Video Bitrate Calculation.

C'est maintenant le bon moment pour aller vous socialiser :-)

4.2.6. Pour utilisateurs confirmés : les options de transcode sur la ligne de commande

Ce chapitre explique les options sur la ligne de commande de transcode, utilisées par dvd::rip. Ce n'est pas critique pour l'opération de transcodage, donc vous pouvez tout à fait le sauter. Je le fournis pour ceux qui veulent mieux comprendre ce que font dvd::rip et transcode.

Dans dvd::rip appuyez CTRL-t pour voir à quoi ressemblent les commandes exécutées par dvd::rip. Concentrons-nous sur le dernier groupe de commandes, Transcode command. Voici un exemple pour mon DVD de Star Trek: The Next Generation sans ces commandes de mkdir et de cd:

  1. transcode -i /space/tng-biggoodbye/vob/004 -w 4357,250,100 -a 1 -b 128,0,0 -s 3.311 -V -f 25 -B 12,10,8 -R 1 -x vob,null -o /dev/null -y xvidcvs,null
  2. transcode -i /space/tng-biggoodbye/vob/004 -w 4357,250,100 -a 1 -b 128,0,0 -s 3.311 -V -f 25 -B 12,10,8 -R 2 -x vob -o /space/tng-biggoodbye/avi/004/tng-biggoodbye-004.avi -y xvidcvs
Jetons un coup d'oeil à la première ligne et à ses paramètres : La seconde ligne de commandes n'est pas si différente. Seules les options qui ignoraient les sorties sont modifiées (comme -o real-file-name et -y xvidcvs). Pour une référence plus complète, jetez un coup d'oeil aux pages de manuel de transcode et de lame.

Finalement, sachez que transcode, à partir de la version 0.6.0pre6-20020529, supporte libavcodec via un module d'export encore expérimental que j'ai écrit. Vous pouvez l'activer avec -y ffmpeg4 (souvenez-vous: libavcodec fait partie de ffmpeg) à la place de votre codec précédent. dvd::rip ne le supporte pas encore (il n'est pas dans la liste des codecs séléctionnables).

4.3. Utiliser MEncoder

Comme mentionné ci-dessus, il n'y a pas d'interface graphique pour MEncoder pour l'instant. Je ne fournirais donc pas de captures d'écran et vous aurez à tout taper à la main. Cette opération est appelée "codage en trois passes".

4.3.1. Coder l'audio

La première étape est de coder uniquement l'audio. Assurez-vous de savoir quelle langue vous voulez utiliser - vous avez besoin soit de l'audio id (qui est 128 pour le premier flux, 129 pour le deuxième, etc.), soit du code du pays en deux lettres (comme en pour l'anglais ou fr pour le français). Vous pouvez en savoir plus sur ces codes en lançant MPlayer en mode verbeux: mplayer -dvd 1 -v. Ca devrait produire plein d'informations. Cherchez des lignes qui ressemblent à :
[open] audio stream: 0 audio format: ac3 language: en aid: 128
[open] audio stream: 1 audio format: ac3 language: de aid: 129
[open] audio stream: 2 audio format: ac3 language: es aid: 130

Ici, on a trois flux audio: anglais, allemand, espagnol et leur IDs.

Maintenant appelez MEncoder pour coder l'audio :
nice -+19 cat /space/*vob | nice-+19 mencoder -ovc frameno -o frameno.avi -oac mp3lame -lameopts abr:br=128 -alang de -
Voici une explication des arguments utilisés sur la ligne de commande :

Attendez un peu et vous aurez votre audio. MEncoder vous suggère même des bitrate vidéo:
Recommended video bitrate for 650MB CD: 1845
Recommended video bitrate for 700MB CD: 1992
Recommended video bitrate for 800MB CD: 2287

Comme vous pouvez le voir, ces valeurs sont plutôt importantes - c'est parce qu'un épisode d'Ally McBeal ne dure que 41 minutes. Je mettrais donc 2 épisodes par CD et donnerais un bitrate video d'environ 1000.

4.3.2. Générer une prévisualisation (première passe)

Il faut maintenant décider quel codec vidéo vous allez utiliser. Je suppose qu'on veut un AVI avec l'un des codeurs DivX. MEncoder supporte DivX 4 ou DivX 5 (pareil sous Windows, en fait, vous avez soit la version 4 soit la 5) de même qu'il supporte XviD ou lavc. Même si la plupart d'entre vous n'ont pas entendu parler de libavcodec ou du ffmpeg-project, il serait judicieux d'utiliser lavc qui est largement supérieur à DivX 4 ou 5 et au moins aussi bon que XviD. Je ne donnerai donc que des exemples pour lavc puisque vous n'aurez même pas besoin de codecs spéciaux pour la lecture : MPlayer les lit parfaitement (naturellement), et sous Windows, vous avez juste besoin d'un lecteur DivX 5 (la version gratuite est largement suiffisante). Allons-y.

Décomposons la ligne de commande :

Mettez tout ensemble pour obtenir une ligne de commande qui ressemble à :
nice -+19 mencoder -oac copy -o /dev/null -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1000:vhq:vpass=1 -vop scale=640:480 -npp lb -ss 0:20 -endpos 0:30 /space/first.vob

4.3.3. Générer une prévisualisation (seconde passe)

A ce stade, on peut garder la plupart des commandes précédentes. Bien sûr, nous changeons vpass=1 en vpass=2 pour dire au codeur qu'il s'agit de la seconde passe cette fois-ci. Evidemment, nous voulons sauvegarder la sortie finale et remplaçons -o /dev/null par quelque chose de plus utile, par exemple -o ally-preview.avi.

Voici la ligne de commande:
nice -+19 mencoder -oac copy -o ally-preview.avi -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1000:vhq:vpass=2 -vop scale=640:480 -npp lb -ss 0:20 -endpos 0:30 /space/first.vob
Quand MEncoder a fini, regardez votre échantillon. Ajustez les paramètres si nécessaire. Recommencez la prévisualisation jusqu'à entière satisfaction.

4.3.4. Générer l'AVI final (les deux passes)

La commande pour le fichier final n'utilise plus les options -ss et -endpos. Malheureusement MEncoder ne peut gérer plusieurs fichiers en entrée sur la ligne de commande. C'est pourquoi il faut utiliser la commande cat. Tapez juste :
cat /space/*vob | nice -+19 mencoder -oac copy -o /dev/null -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1000:vhq:vpass=1:vqmin=2:vqmax=31 -vop scale=640:480 -npp lb -
cat /space/*vob | nice -+19 mencoder -oac copy -o ally.avi -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1000:vhq:vpass=2:vqmin=2:vqmax=31 -vop scale=640:480 -npp lb -

Remarquez que -ss ne semble pas marcher avec la variante cat *vob | mencoder.... Donc pour la prévisualisation, spécifiez simplement le premier vob comme dernier argument sur la ligne de commande (cf. ci-dessus).

Allez maintenant vous chercher une bonne bière et un bon livre.


table des matières   --> suivant   <-- précédent  Ce guide a été écrit par Moritz Bunkus et traduit par Massis Sirapian