jeudi 8 mai 2008
Un DVD vidéo, c’est encombrant sur les étagères et ce n’est pas toujours disponible sous la main. C’est pourquoi je souhaite ripper ma collection.
La première approche, la plus simple, consiste à faire une copie complète du DVD à l’aide d’un logiciel de rip. Des outils intégrés existent sous linux. Je n’en citerai qu’un que je considère comme particulièrement pratique et facile pour cet usage : K9copy. Il s’agit d’une interface graphique à mencoder (et quelques autres outils) qui permet d’inclure ou de ne pas inclure les menus du dvd, de choisir quelles langues et quels sous-titres seront présents et d’éliminer les titres inintéressants (publicités, par exemple). L’outil permet également d’augmenter le taux de compression des fichiers pour réduire un peu le volume total des fichiers. On obtient au choix une belle image iso ou un simple répertoire. Le problème reste la taille des fichiers obtenus. Pour conserver une qualité correcte, environ 4Go sont nécessaires par vidéo. C’est beaucoup.
Pour réduire la place occupée par une vidéo sans réduire la qualité, la seule solution consiste à choisir un meilleur codec. Et justement les DVD sont encodés au format mpeg2 qui est ancien et n’offre que de médiocres performances. En choisissant un meilleur format de compression pour le son et la vidéo, il est possible d’obtenir un fichier de 700Mo à 1Go dont la qualité soit équivalente à la qualité d’origine. Encore une fois, des outils simples existent et K9copy peut également se charger de ce travail. Malheureusement, dans ces conditions, il faut choisir une fois pour toute la langue et les sous-titres : le spectateur ne pourra plus choisir sa version.
Pour aller plus loin et gagner sur tous les tableaux, il faut accepter d’abandonner le confort d’un service "clé en main" pour choisir et configurer soi même les outils.
Pour regrouper les contenus qui nous intéressent, il faut commencer par sélectionner un conteneur vidéo. C’est un fichier unique que l’on utilisera comme une "boite" dans laquelle nous rangerons la vidéo, les bandes sons, les sous titres et même, pourquoi pas, la jaquette du film. Les conteneurs vidéos les plus connus sont les fichiers avi, mouv ou mpg. Pour ma part, je retiens un autre format : matroska (ou poupée russe, en russe). L’extension utilisée pour les fichiers est mkv. Sans entrer dans le détail il présente le double avantage d’être très polyvalent et d’être complètement libre. Restent à choisir les codecs audio et vidéos.
L’extraction de la vidéo et des bandes sons peut se faire en une seule étape à l’aide de l’outil HandBrakeCLI, en ligne de commande. Pour la suite, on va supposer que le DVD est monté dans le répertoire /mnt/iso
Il faut d’abord lister le contenu du DVD :
On repère alors soigneusement le titre et les bandes sons qui nous intéressent. Ensuite, on va ripper le son et la vidéo :
HandbrakeCLI permet d’inclure des sous titres mais malheureusement, il les "grave" sur la vidéo ce qui ne permet pas de les désactiver ou de choisir entre plusieurs sous-titrage. Nous allons donc utiliser pour extraire les sous titres un autre outil mencoder qui est une partie du projet mplayer.
La première chose à faire est de repérer les différents sous-titres. Car, malheureusement mplayer/mencoder et handbrake ne les repèrent pas de la même façon ! La ligne de commande magique est la suivante :
Il ne reste plus qu’à extraire chaque piste de sous titre avec mencoder :
Pour chaque langue de sous titrage, deux fichiers à ne jamais séparer sont définis l’un contenant les timecodes (.idx) et l’autre les images des sous-titres (.sub).
Maintenant que tout est prêt, nous n’avons plus qu’à ranger l’ensemble dans le conteneur, c’est à dire dans le fichier matroska et nous allons même y ajouter la jaquette du DVD !
Pour cela, nous allons utiliser un dernier outil : mkvmerge qui permet de faire ce type de chose très simplement. Comme tous les contenus que nous avons créés sont cohérents, il n’y a presque aucune option à lui passer.
On énumère ensuite les objets à insérer, précédé éventuellement de leurs options :
Et voila, votre fichier est prêt. Ce n’était pas si difficile, finalement.