fr en

Création/Encodage

Présentation

Cette partie est destinée à ceux qui veulent faire des rips de leurs DVD, tout en gardant la meilleure qualité possible, aussi bien audio que vidéo, en gardant les différentes pistes audio et les différentes pistes de sous-titres ce qui permet d´obtenir un rip multilangue, ainsi que le système de chapitrage. Et tout ça, dans un fichier de la taille d´un CD : 700Mo.
Pour ceux qui ont déjà vu des rips bien faits en vidéo XviD avec un son mp3 dans un conteneur AVI, oubliez-les : vous allez faire bien mieux que ça !
Toutes les étapes, de l´installation à la création du fichier final, seront expliquées dans cette page. Vous allez utiliser des formats open-source pour la vidéo, l´audio, le chapitrage et le conteneur. Ils ont l´avantage d´être multi plateformes (lisibles sous Windows, Linux, Mac, etc. . .), gratuits, et surtout plus performants que leurs homologues propriétaires. . .
Voici les caractéristiques du fichier final que vous allez obtenir en suivant ce pas à pas :

  • Conteneur : Matroska Video
  • Codec vidéo : x264
  • Codec audio : OGG
  • Sous-titrage : SUB
  • Chapitrage : OGG Chapters / XML

Ce tutoriel est susceptible d´être mis à jour, étant donnée la très rapide évolution des techniques.

Copie du DVD sur le disque dur

Pour pouvoir encoder votre DVD, il faut auparavant copier les fichiers du DVD sur le disque dur. Les DVD étant équipés d´un système de protection (Macrovision), lors de la copie, les fichiers doivent être "déprotégés".
On va extraire le film en un fichier VOB. Au préalable, il faut trouver le titre que l'on souhaite ripper. On y va par tâtonnement avec la commande : mplayer dvd://${TITLE} ${TITLE} est le numéro de la piste que l'on souhaite ripper. Une fois que vous avez trouvé le bon numéro, tapper la commande suivante pour ripper le titre dans le fichier VOB : mplayer dvd://${TITLE} -dumpstream -dumpfile ${RIPPATH}movie.vob Ne pas sortir le dvd avant l'extraction des chapitres.

Rip des chapitres

Vous pouvez intégrer le système de chapitrage du DVD dans le fichier final (et même un chapitrage plus complexe). Pour cela, il faut écrire les noms des chapitres dans un fichier. En effet, ceux-ci ne sont pas écrits (tout du moins en texte) sur le DVD.
Il va falloir extraire les timestamp du DVD grâce à MyChapterDB.
Ouvrir le logiciel puis choisir fichier -> ouvrir. Parcourir l'arborescence pour trouver votre DVD. Ouvrir les différents .IFO situés à /Volumes/NOM_DU_DVD/VIDEO_TS. Certains .IFO n'ont pas tous les chapitres, il faudra choisir celui les contenants tous.
image
Renommer les chapitres en pensant à numéroter vos chapitres comme dans la capture suivante :
image
Enfin enregistrer votre fichier de chapitre dans l'un ou l'autre des formats proposés.

Encodage des fichiers audio AC3 en OGG

Il faut encoder les pistes audio avant la vidéo, car c´est à partir de la taille des fichiers audio obtenus que vous calculerez le débit vidéo à utiliser. Il faut convertir les fichiers AC3 (souvent en 5.1) obtenus lors de la copie du DVD sur le disque dur en OGG (stéréo).
Le format OGG fait partie de ce que l´on appelle les codecs lossy, c´est-à-dire avec pertes. Ces pertes sont volontaires et permettent de diviser la taille du fichier original par 10 ou 20. En théorie, elles ne sont que très peu audibles. La qualité du fichier final dépend en fait du débit que l´on va accorder pour encoder le son. Un fichier de meilleure qualité sonore aura une taille plus importante et vice-versa. Pour obtenir le meilleur rapport qualité/taille, l´encodage doit se faire en Variable Bitrate, ce qui signifie que le débit accordé au son varie au cours du temps, selon si le son à encoder est très pauvre ou très riche.
Identifiez d'abord les pistes audios que vous souhaitez encoder. Pour cela, observer cette partie de la sortie de mplayer : audio stream: 0 format: ac3 (5.1) language: fr aid: 128. audio stream: 1 format: ac3 (stereo) language: en aid: 129. Vous pouvez voir à quoi correspond chaque piste audio grâce à la commande : mplayer -aid ${AID} ${RIPPATH}movie.vob Il faut d'abord décoder les pistes AC3. On utilise la ligne de commande suivante : mplayer ${RIPPATH}movie.vob -aid ${AID} -ao pcm:file=audio128.wav -vc dummy -vo null Pour encoder en OGG, j'utilise oggenc que j'installe avec MacPorts. Libre à vous d'utiliser un autre logiciel. oggenc audio128.wav -o audio128.ogg -b 112 Pour vous donner un ordre d’idée, pour un film, on choisit généralement un bitrate entre 112 et 144, selon la durée du film.
Répéter cette opération pour chaque piste audios que vous souhaitez incorporer à votre fichier MKV.

Encodage vidéo

Vous allez maintenant encoder votre vidéo. Vous allez régler dans cette étape certains filtres à appliquer à la source (inévitablement le crop suppression des bords noirs et le resize redimensionnement de la vidéo).
Il va auparavant falloir déterminer le débit moyen d´encodage.
Pour calculer le débit moyen d'encodage de la vidéo, vous avez besoin de connaître :

  • cd : la taille finale du fichier que vous voulez obtenir en Mo (dans notre exemple 700 Mo)
  • aud : la somme des tailles des piste audio que vous avez encodés en Mo
  • st : la somme des tailles des pistes de sous-titres (comptez 1 à 2 Mo par piste)
  • d : la durée de la vidéo en secondes

Le débit (bitrate) à utiliser en paramètre du x264 est calculé de la manière suivante : image
Déterminons maintenant le crop à appliquer à la source. Pour détecter la valeur du crop à utiliser, il suffit de lancer la vidéo avec cette commande : mplayer ${RIPPATH}movie.vob -vf cropdetect -sb 50000000 Récupérez par copier-coller le paramètre -vf crop ainsi trouvé, puis lisez la vidéo en indiquant le découpage : mplayer ${RIPPATH}movie.vob -vf crop=720:576:0:0 Si cela convient, retener ses valeurs pour la suite. Vous pouvez enfin lancer l'encodage : mencoder ${RIPPATH}movie.vob -vf pullup,softskip,crop=${CROP},harddup -nosound -ovc x264 -x264encopts bitrate=${BITRATE}:subq=5:bframes=3:b_pyramid:weight_b:turbo=1:pass=1 -of rawvideo -o ${RIPPATH}movie.264 Puis la deuxième passe : mencoder ${RIPPATH}movie.vob -vf pullup,softskip,crop=${CROP},harddup -nosound -ovc x264 -x264encopts bitrate=${BITRATE}:subq=5:8x8dct:frameref=2:bframes=3:b_pyramid:weight_b:pass=2 -of rawvideo -o ${RIPPATH}movie.264 La durée d'encodage dépend de votre machine et de la durée du film. Soyez patient !

Rip des sous-titres

Si votre DVD contient des sous-titres, vous pouvez les intégrer au fichier final. Pour cela, il est possible de ripper les sous-titres dans leur format d´origine, ou alors, par un outil de reconnaissance de caractêres, les convertir en fichier texte. Pour pouvoir intégrer toutes les pistes de sous-titres (même celles qui sont dans des langues non latines) et pour éviter les erreurs de reconnaissance de caractêres, il vaut mieux utiliser le format d´origine (même si le texte est en bitmap, ce qui est bien dommage).
Tout d'abord pour connaître les différentes pistes de sous-titres : mplayer -v dvd://${TITLE} et on regarde la sortie, typiquement : ... subtitle ( sid ): 0 language: fr subtitle ( sid ): 1 language: en subtitle ( sid ): 2 language: fi ... Sinon on identifie les langues respectives en essayant avec la commande : mplayer -sid ${SID} ${RIPPATH}movie.vob où ${SID} est le numéro des sous-titres (sid=subtitle ID). Une fois que l'on connait le numéro de la piste à extraire, il faut utiliser cette ligne de commande : mencoder dvd://${TITLE} -dvd-device ${RIPPATH} -ovc frameno -nosound -o /dev/null -sid ${SID} -vobsubout ${RIPPATH}sublang -ifo ${RIPPATH}VTS_01_0.IFO mencoder crée alors un fichier sublang.idx et un fichier sublang.sub dans le dossier ${RIPPATH}.
Répéter cette opération pour chaque piste de sous-titres que vous souhaitez incorporer à votre fichier MKV.

Muxage en MKV

Voici enfin l´étape finale : rassembler tous les éléments que vous avez crées dans un seul fichier qui portera l´extension .mkv.
Lancez mkvmerge GUI. Dans l´onglet Input, cliquez sur add pour ajouter un fichier source. Ajoutez successivement :

  1. le fichier vidéo x264 mp4
  2. les fichiers audio ogg
  3. les pistes de sous-titres idx

Vous pouvez, dans le cadre Tracks, modifier l´ordre des pistes. De préférence, mettez les pistes audio et les pistes de sous-titres dans l´ordre d´apparition que vous voulez à la lecture (de préférence la piste par défaut en première position). Si vous devez insérer une piste de sous-titres fantôme, placez-la avant les autres pistes de sous-titres.
Cliquez ensuite sur chacune des pistes audio, et renseignez leur langue, ainsi que, si nécessaire, un commentaire personnalisé (par exemple Commentaires du réalisateur si la piste audio correspond à ceci). Faites de même pour les pistes de sous-titres (pour l´éventuelle piste fantôme, vous pouvez mettre mis (Miscellaneous Language)). Cliquez ensuite sur une piste du fichier .idx, et dans Compression, choisissez zlib.
Choisissez votre fichier de destination.
Dans l´onglet Attachments, vous pouvez intégrer différents fichiers. Par exemple, vous pouvez inclure l´image de la pochette du DVD.
Enfin, dans l´onglet Global, vous pouvez renseigner le titre du film dans File/segment title1 . Dans le cadre Chapters, ajoutez le fichier de chapitres, et renseignez la langue des chapitres.
Vous n´avez plus qu´à cliquer en bas sur Start muxing. Et voilà, votre rip est fini. . . image


MKV4PC MKV4PC