Installation des packages
# apt install vobcopy
# apt install mjpegtools
# apt install ffmpeg
Explications
Le but est pour tous les DVD d'un coffet, d'obtenir un fichier par épisode au format mp4. Je souhaite garder les deux streams audio l'un en français, l'autre en anglais.
Je crée un répertoire quelque part dans mon home directory :
$ mkdir ~/coffret
$ cd ~/coffret
Je crée un répertoire pour chaque DVD (par exemple ici le DVD 2 de la saison 1) :
$ mkdir s1d2
$ cd s1d2
La première étape consiste à extraire l'intégralité de chaque DVD en un fichier unique MPEG. J'emploie pour cela le script vob2mpg.sh suivant :
#!/bin/bash
set -e -x
cd=${PWD##*/}
vobcopy -l -i /dev/cdrom
ffmpeg -i *.vob -map 0:v:0 -map 0:a:1 -map 0:a:0 -vcodec copy -acodec copy -target pal-dvd ${cd}.mpg
rm -f *.vob
echo "make cut files"
$ vob2mpg.sh
J'obtiens au final un gros fichier s1d2.mpg.
Il faut maintenant exécuter projectx pour délimiter les épisodes et sauvegarder le découpage avec l'extension .cut. Par exemple, les fichiers s1e4.cut, s1e5.cut et s1e6.cut pour les trois épisodes 4, 5 et 6 de la saison 1.
Ensuite, vient l'extraction des épisodes et leur conversion en mp4. Je fais cela avec le script split.sh suivant :
#!/bin/bash
set -e -x
cd=${PWD##*/}
for e in *.cut ; do
basename=`basename $e .cut`
projectx ${cd}.mpg -cut ${e} -name ${basename}.mpg -ini ~/.projectx/X.ini
mplex -V -f 8 -o ${basename}.mpg ${basename}.ac3 ${basename}-02.ac3 ${basename}.m2v
rm -f *.ac3 *.m2v *.log *.txt *.Xpl
ffmpeg -i ${basename}.mpg -crf 25.0 -c:v libx264 -c:a ac3 -strict -2 -ar 48000 -b:a 160k -map 0:v:0 -map 0:a:0 -map 0:a:1 -coder 1 -threads 0 ${basename}.mp4
done
rm -f *.mpg *.cut
$ split.sh
J'obtiens au final les épisodes au format mp4 nommés comme les fichiers .cut : s1e4.mp4, s1e5.mp4 et s1e6.mp4.
Cela a bien fonctionné pour mon coffret, je ne sais pas si ça marche pour les vôtres, à vous d'adapter si nécessaire !
Cas particulier d'un DVD illisible
Parmi tous les DVD de mon coffret, il y en a un qui n'est pas lisible intégralement : le script vob2mpg.sh ne se termine pas correctement (le 1er DVD de la saison 1 par exemple).
Dans ce cas, il faut faire plus de travail à la main. D'abord je commence par monter le DVD dans /mnt/dvd :
$ mkdir /mnt/dvd
$ mount -t iso9660 /dev/cdrom /mnt/dvd -o ro
Ensuite, je copie les fichiers .vob du DVD qui veulent bien se laisser copier sans erreur :
$ mkdir ~/coffret/s1d1
$ cd ~/coffret/s1d1
$ cp /mnt/dvd/video_ts/vts_01_1.vob .
$ cp /mnt/dvd/video_ts/vts_01_2.vob .
$ cp /mnt/dvd/video_ts/vts_01_3.vob .
$ cp /mnt/dvd/video_ts/vts_01_4.vob .
$ cp /mnt/dvd/video_ts/vts_01_5.vob .
$ cp /mnt/dvd/video_ts/vts_01_6.vob .
$ cp /mnt/dvd/video_ts/vts_01_7.vob .
$ cp /mnt/dvd/video_ts/vts_01_8.vob .
Dans mon cas, c'est le 4ème .vob qui ne se copie pas. J'ai donc les fichiers vts_01_1.vob, vts_01_2.vob, vts_01_3.vob, vts_01_5.vob, vts_01_6.vob, vts_01_7.vob, vts_01_8.vob. Je concatène les groupes de fichiers valides :
$ ffmpeg -i "concat:vts_01_1.vob|vts_01_2.vob|vts_01_3.vob" -map 0:v:0 -map 0:a:1 -map 0:a:0 -target pal-dvd -c copy s1d1.mpg
On se retrouve donc dans la situation décrite en premier mais avec un fichier mpeg incomplet. On fait comme ci-dessus : délimiter les épisodes, et lancer spilt.sh. Pour finir on procède de même avec la deuxième moitié :
$ ffmpeg -i "concat:vts_01_5.vob|vts_01_6.vob|vts_01_7.vob|vts_01_8.vob" -map 0:v:0 -map 0:a:1 -map 0:a:0 -target pal-dvd -c copy s1d1.mpg
Au final, il me manque un épisode, mais c'est mieux que rien du tout !
Quand tout est fini, je démonte le DVD :
$ umount /mnt/dvd
Enregistreur de télévision numérique en ligne de commande
Installation des packages
# apt install dvb-apps
Paramètrage de l'enregistreur
- fichier de tuning initial
Tout d'abord, il faut connaître les nouveaux numéros de canaux applicables à votre région. Un canal est nombre qui représente de manière simple la fréquence d'un multiplex.
Le fichier suivant Liste des canaux affectés aux multiplex de …
Graver un DVD à partir d’enregistrements de la télévision numérique
Installation des packages
# apt install dvdauthor
# apt install mjpegtools
# apt install dvd+rw-tools
Pour rappel, la TNT peut être enregistrée à partir des logiciels suivants (non exhautif) :
- kaffeine ;
- gnutv ;
- mplayer.
Personnellement, j'utilise l'enregistreur de télévision numérique en ligne de commande que j'ai réalisé.
Une fois l'enregistrement obtenu, on lui appliquera …