NOTE: Cet article a été publié dans le magazine "Login:" (site web: www.loginmag.com) daté de Septembre 2002. Il est reproduit ici avec l'aimable permission de ce magazine.
Voyons ce mois-ci comment comment VDR intègre la lecture de DVD, la lecture / création de (S)VCD et DivX.
Pierre angulaire de la lecture multi-formats sous VDR, MPlayer (www.mplayerhq.hu/homepage/) est capable de lire quasiment tous les formats audio/vidéo. Pour notre plus grand bonheur, les auteurs ont ajouté le support des cartes DVB en tant que périphérique de sortie. Grâce au patch qui intègre l'appel de Mplayer au sein de VDR, vous avez entre vos mains le player audio/vidéo ultime ! Bien que MPlayer supporte en natif un grand nombre de formats, nous savons tous que de nouveaux s'ajoutent à un rythme soutenu. Le génie des auteurs de MPlayer est d'avoir intégré le support du décodage via les DLL du monde Windows. Il est ainsi très facile de coller à l'actualité des codecs ! Nous avons inclus un pack sur le CD du mois contenant la plupart de ces DLL. Avant d'installer MPlayer et pour que celui-ci puisse en profiter, installons les codecs DivX (rappelons que tout ceci est sur le CD du mois):
cd /usr/local/src tar -xzvf divx4linux-20011025.tgz cd divx4linux-20011025 ./install.sh
et MP3 :
cd /usr/local/src tar -xzvf lame-3.92.tar.gz cd lame-3.92 ./configure make make installEt enfin, MPlayer :
cd /usr/local/src tar -xIvf MPlayer-0.90pre3.tar.bz2 cd MPlayer-0.90pre3 ./configure --enable-dvb ./configure --with-extraincdir=/usr/local/src/DVB/ost/include make make install
L'installation du patch MPlayer pour VDR a déjà été faite le mois dernier. Si l'option "MPLAYER=1" n'était pas positionnée dans le fichier makevdr, rajoutez-la, et re-compilez VDR.
MPlayer est appelé depuis CDR via un script shell "mplayer.sh". Un fichier "mplayer.sh.example" est fourni mais n'est plus optimum avec les dernières versions de MPlayer. Remplacez-le par le listing suivant et placez mplayer.sh dans /video:
#!/bin/bash mplayer -ao mpegpes -vo mpegpes -vop lavc,expand=-1:576:-1:-1:1,scale=-1:0,dvbscale $1Vous pouvez ainsi rejouer tous les fichiers reconnus par MPlayer sur la sortie vidéo et son de votre carte DVB. Notez la valeur "576" qui correspond à la résolution verticale de l'image en sortie. Utilisez 288 ou 576 pour les vidéos PAL (25 images par secondes), ou 240 ou 480 pour les vidéos NTSC (29,997 ou 30 images par seconde).
Lorsque MPlayer est lancé, les touches de la télécommande configurées pour VDR via LIRC ne sont plus effectives. Voici à quoi ressemble le fichier /video/mplayer_lircd.conf:
begin prog = mplayer button = MENU config = osd repeat = 0 end begin prog = mplayer button = BACK config = quit repeat = 0 end
Les entrées "button" doivent correspondre aux touches de la télécommande définies dans le fichier /etc/lircd.conf. Les entrées "config" correspondent aux commandes de MPlayer, dont voici la liste: seek +/- x, pause, osd, quit, volume +/- x. L'entrée "repeat" indique si la touche peut être répétée ou non. Par exemple, les commandes seek et volume doivent avoir "repeat=1". Un exemple de ce fichier est disponible sur le CD du mois. Afin de prendre en compte tout ceci, rajoutez l'option "-lircconf /video/mplayer_lircd.conf"dans le script /video/mplayer.sh.
l ne s'agit pas ici de jouer aux legos, mais bien d'indiquer à VDR un shell script à utiliser pour monter/démonter les sources où peuvent se trouver vos fichiers lisibles par MPlayer : mpeg, DivX ou autres.
Encore une fois, un fichier exemple (mount.sh.example) est fourni. Copiez-le en tant que /video/mount.sh. Pour indiquer à VDR qu'il doit utiliser ce script, rajoutez l'option "-o /video/mount.sh".
Montage/Démontage d'une source VDR
Il existe deux possibilités pour créer des DivX à partir de VDR. La première consiste à enregistrer directement en DivX. Plutôt que d'enregistrer le flux DVB dans un fichier vdr, celui-ci est directement redirigé (pipe) vers mencoder (fourni avec MPlayer). Ce patch est fourni avec AIO et il suffit de modifier le fichier "makevdr" en rajoutant "DIVX=1" et recompiler vdr (./makevdr) pour rajouter la fonctionnalité.
Reste à aller dans "Menu/Configuration" et à choisir les options d'enregistrement en DivX. Bien sûr, tout ceci étant en temps réel, il vous faudra trouver un compromis entre résolution/qualité d'encodage et puissance de votre processeur. A titre d'exemple, l'auteur du patch utilise un Athlon 850Mhz et encode en 268*200.
La deuxième possibilité (ma favorite) passe par l'utilisation d'un script "vdr2divx" qui permet de faire l'encodage après que le fichier vdr ait été créé, ce qui lève le problème de la puissance CPU. Ce script peut être lancé après le montage d'un enregistrement (voir article du mois précédent). Ainsi, la création d'un DivX sous VDR peut se résumer à "j'enregistre l'émission, j'édite l'enregistrement en coupant les parties dont je ne veux pas et j'attends d'avoir mon DivX", et tout ceci à la télécommande !
Installez le script vdr2divx de la façon suivante :
cd /usr/local/src mkdir vdr2divx tar -xzvf 2divx153.tar.gz -C vdr2divx cd vdr2divx ./setupRépondez aux différentes question du script d'installation (vous pourrez modifier ces paramètres en éditant le fichier 2divx.conf). Puis modifiez "runvdr" en ajoutant "-r /usr/local/src/vdr2divx/nq.sh" à l'appel de VDR. nq.sh sera alors appelé à chaque fois qu'une opération de montage sera terminée.
cd /usr/local/vdr2divx; ./wait2enc.sh &
La lecture de DVD sous VDR est apportée par un patch dont l'installation est assez longue. Toute l'aide nécessaire est disponible ici : http://www.mdlug.de/index.php/projekte/vdrdvd.inc, ainsi que sur le CD du mois dans le fichier CSS.README.
Une fois fait, modifiez le fichier "makevdr" en rajoutant "DVD=1" et recompilez vdr (./makevdr).
Ce patch demande qu'un périphérique /dev/dvd existe. Si ce n'est pas le cas, mais que vous avez bien un lecteur de DVD d'installé, créez le périphérique avec un lien symbolique (dans notre exemple, le lecteur de DVD est /dev/hdc) :
ln -s /dev/hdc /dev/dvd
Il est possible de lire les VCD et SVCD avec VDR. Pour cela, modifiez le fichier "makevdr" en rajoutant "VCD=1" et recompilez vdr.
Le format SVCD est de plus en plus populaire car les SVCD sont lisibles dans la plupart des platines DVD de salon. La création de SVCD à partir des enregistrements VDR peut être entièrement automatisée grâce au script "tosvcd" qui prend en entrée les enregistrements VDR et délivre en sortie les images CD prêtes à être gravées par un utilitaire comme cdrdao. Il est ainsi possible de transformer un film diffusé sur satellite ou câble en SVCD, et ce avec une qualité optimum puisque aucune conversion numérique/analogique n'intervient dans la chaîne.
"tosvcd" dispose de fonctions très intéressantes, comme le choix du nombre de CD à utiliser (qui influe directement sur la qualité) et le calcul de l'heure de fin de l'encodage.
Pour installer tosvcd, il faut d'abord installer les utilitaires mpeg2enc, yuvdenoise, yuvscaler et mplex disponibles sur http://mjpeg.sourceforge.net/ ainsi que vcdimager, disponible sur http://www.vcdimager.org et et sur le CD du mois.
rpm -ivh --nodeps mjpegtools-1.6.0-1.i386.rpm rpm -ivh vcdimager-0.7.12-1.i386.rpmPuis installer tosvcd lui-même:
tar -xIvf tosvcd-0.7.tar.bz2 cd tosvcd-0.7 make make installPour créer un SVCD à partir d'un enregistrement VDR, placez-vous dans un répertoire qui pourra contenir les images des SVCD et lancez la commande :
tosvcd /video/EnregistrementAConvertir/2002-11-01.10:12.10.11.recSi tout se passe bien, vous obtiendrez les images prêtes à être gravées sur CD.