Guide de VDR sous Gentoo Linux
1.
Informations générales sur DVB
Qu'est-ce que DVB ?
DVB, signifie littéralement Digital Video Broadcasting, soit
« diffusion vidéo numérique ». Le DVB décrit des modes de transfert
de données numériques entre la TV, la radio, des services interactifs
tels que MHP (« Multimedia Home Platform »), EPG
(« Electronic Program Guide ») et le télétexte. Grâce à la
compression de données avec MPEG-2, ou H.264 pour la télévision haute
définition, il est possible de transférer plusieurs canaux sur la même
fréquence. Cela offre donc une meilleure compression des données et un plus
grand nombre de canaux transférables, mais ceci se paye avec la perte de
qualité.
Le DVB peut être transmis de plusieurs façons. C'est la dernière lettre après
le tiret « - » qui identifie la méthode de transfert, par exemple
DVB-T pour la transmission terrestre. Il y a plusieurs autres
types :
- DVB-S pour la transmission par satellite
- DVB-C pour la transmission par câble
- DVB-H pour la transmission par les appareils mobiles (terrestres)
-
DVB-IPI pour la transmission par IP basée sur les réseaux, par exemple
Internet
-
DVB-RC(S/C/T) retourne le canal pour la transmission des services de
données, par exemple les connexions Internet à large bande.
Types et besoins des cartes DVB
En dehors des différents modes disponibles pour recevoir un flux DVB, les
cartes sont classées par leur type d'affichage produit. Il y a des cartes avec
un décodeur implanté qui offre un accès direct au flux par le périphérique
/dev/video. Ces cartes sont des cartes complètes. D'autres
cartes ne possèdent pas de décodeur intégré et requièrent un logiciel décodeur
sur l'ordinateur, ce sont des cartes à petit budget. Cela implique des
performances supérieures pour le système. Votre processeur devra tourner au
moins à 600 MHz et vous devrez posséder au moins 256 Mo de RAM.
Cette liste
est très utile pour l'identification de votre carte.
2.
Préparation du système
Configuration du noyau
Tout d'abord, nous avons besoin de nous assurer que le noyau supporte le DVB
ainsi que votre périphérique DVB. Depuis la version 2.6 du noyau, les pilotes
nécessaires sont inclus. Vérifiez la configuration de votre noyau et
assurez-vous que les options suivantes sont cochées en dur ou en modules.
Exemple de code 2.1 : Options requises du noyau |
Input Device Support --->
* Event Interface
Device Drivers --->
Multimedia Devices --->
Digital Video Broadcasting Devices --->
[*] DVB For Linux
* DVB Core Support
M [Votre pilote]
|
De plus, nous devons sélectionner le pilote approprié pour votre matériel. Pour
trouver le bon module de votre carte, nous marquons chaque pilote en tant que
module. Si vous avez une carte PCI, installez pciutils si ce n'est pas
déjà fait. Si vous voulez compiler vos pilotes ou que vous ne possédez pas une
carte PCI, passez cette étape et continuez avec la vérification de la sortie du noyau.
Exemple de code 2.2 : Installation de pciutils |
# emerge pciutils
|
Après le démarrage du nouveau noyau, nous exécutons pcimodules pour
lister les modules requis.
Exemple de code 2.3 : Listage des modules requis |
# pcimodules
ohci-hcd
ehci-hcd
sis900
snd-emu10k1
b2c2-flexcop-pci
nvidia
nvidiafb
|
Dans ce cas, nous avons chargé le module b2c2-flexcop-pci. Ajoutons ce
nom au fichier /etc/modules.autoload.d/kernel-2.6.
Exemple de code 2.4 : Ajout du nom du module |
# echo b2c2-flexcop-pci >> /etc/modules.autoload.d/kernel-2.6
|
Vérification de la sortie du noyau
Il est recommandé de définir tous les pilotes en tant que modules afin de
pouvoir les ajouter de façon dynamique, notamment si vous ne connaissez pas le
nom du module. Si vous connaissez déjà son nom, sélectionnez le pilote afin de
le compiler en dur. Compilez le noyau, installez les modules et démarrez sur le
nouveau noyau. Vous pouvez vérifiez que votre noyau a réussi à détecter votre
carte en utilisant dmesg.
Exemple de code 2.5 : Vérification de la sortie du noyau |
# dmesg | grep DVB
DVB: registering new adaptor (TerraTec/qanu USB2.0 Highspeed DVB-T Receiver).
input: TerraTec/qanu USB2.0 Highspeed DVB-T Receiver remote control as /class/input/input2
|
3.
Installation de VDR
Pour installer VDR, nous avons juste besoin de lancer la commande emerge.
Exemple de code 3.1 : Installation de VDR |
# emerge vdr
|
Maintenant poursuivez avec l'installation de la
télécommande.
4.
Installation de la télécommande
Il y a au moins deux façons de contrôler VDR par l'intermédiaire d'une
télécommande infrarouge. Si votre carte TV est équipée d'un récepteur
infrarouge, vous pouvez utiliser vdr-remote. Sinon, vous devriez plutôt
utiliser LIRC.
Installation de vdr-remote
Nous allons commencer par installer l'extension par emerge :
Exemple de code 4.1 : Installation de vdr-remote |
# emerge vdr-remote
# eselect vdr-plugin enable remote
|
En utilisant l'extension de la télécommande pour le port infrarouge de votre
carte DVB, tout devrait se passer correctement avec la configuration par
défaut. Elle utilise automatiquement le pilote d'entrée qui contient
« dvb » dans son nom. Pour les fonctionnalités avancées, jetez un
œil au fichier /etc/conf.d/vdr.remote.
Maintenant, poursuivez avec les méthodes de sortie
vidéo.
Alternative : installation de LIRC
Si votre carte peut être contrôlée par une télécommande (mais que vous ne
pouvez pas ou ne voulez pas utiliser vdr-remote), vous pouvez configurer
LIRC. LIRC interprète les touches pressées et retourne un nom pour chacune
d'elles. Un programme qui supporte LIRC attend les événements associés aux
touches et exécute alors l'action configurée dans le fichier de configuration,
généralement enregistré dans le répertoire de configuration d'un programme
exécutable (par exemple mplayer charge le fichier
~/.mplayer/lircrc). Avant d'installer LIRC, vous devez ajouter
LIRC_DEVICES au fichier /etc/make.conf. Utilisez cette liste pour trouver les
bons arguments concernant cette option.
Exemple de code 4.2 : Installation de LIRC |
# nano -w /etc/make.conf
LIRC_DEVICES="devinput"
USE="lirc"
# emerge lirc
|
Premièrement, nous devons définir chaque code de touche par un nom. La plupart
des télécommandes supportées sont déjà configurées, regardez la liste des télécommandes.
Téléchargez le fichier requis et sauvegardez-le en tant que
/etc/lircd.conf. Maintenant, nous devons trouver le périphérique
d'accès à votre télécommande. Exécutez la commande suivante pour obtenir une
liste des périphériques d'entrée actuels (assurez-vous pour cela que votre
périphérique soit en marche).
Exemple de code 4.3 : Liste des périphériques d'entrée actuels |
# cat /proc/bus/input/devices
I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="TerraTec/qanu USB2.0 Highspeed DVB-T Receiver remote control"
P: Phys=usb-0000:00:1d.7-1/input0
S: Sysfs=/class/input/input2
H: Handlers=kbd event1
B: EV=100003
B: KEY=108fc210 2043 0 0 0 0 8000 2080 1 9e1680 0 0 ffc
|
Dans le cas présent, nous avons le périphérique Terratec Cinergy T2 qui est
branché, ainsi nous pouvons y accéder par /dev/input/event1.
Remplacez event1 par le périphérique correspondant à votre affichage.
lircd a besoin de connaître le périphérique à utiliser. Ajoutez la ligne
suivante au fichier /etc/conf.d/lircd. N'oubliez pas de
remplacer devinput par le nom de votre pilote et event1 par votre
véritable périphérique.
Exemple de code 4.4 : Ajout des options pour lircd |
LIRCD_OPTS="-H devinput -d /dev/input/event1"
|
Il est temps de démarrer lircd :
Exemple de code 4.5 : Démarrage de lircd |
# /etc/init.d/lircd start
|
À présent il devrait être possible d'observer la capture et le décodage des
touches enfoncées par lircd. Exécutez pour cela la commande irw.
Arrêtez-la avec Ctrl+C quand vous en avez assez.
Exemple de code 4.6 : Test de LIRC |
# irw
0000000000001aa2 00 Exit Technisat_TTS35AI.conf
0000000000001a8d 00 Mute Technisat_TTS35AI.conf
0000000000000a97 00 OK Technisat_TTS35AI.conf
0000000000000a97 01 OK Technisat_TTS35AI.conf
0000000000000a92 00 Menu Technisat_TTS35AI.conf
|
Ensuite, ajoutez LIRC au niveau de démarrage par défaut du système afin qu'il
soit lancé automatiquement lorsque le système est amorcé.
Exemple de code 4.7 : Ajout de lircd au nivau de démarrage par défaut |
# rc-update add lircd default
|
Afin de pouvoir utiliser votre télécommande, vous devez activer le support de
LIRC dans VDR. Ajoutez pour cela la ligne suivante dans le fichier
/etc/conf.d/vdr :
Exemple de code 4.8 : Activation du support de LIRC |
# nano -w /etc/conf.d/vdr
IR_CTRL="lirc"
|
5.
Méthodes de sortie vidéo
Vous avez maintenant besoin de choisir lequel (et un seul !) des
périphériques de sortie vidéo suivants va diffuser l'image et superposer
l'affichage sur l'écran (en OSD, « On Screen Display »).
Décodeurs matériels cartes DVB complètes
Les utilisateurs de ces cartes onéreuses n'ont pas besoin d'installer quoique
ce soit d'autre, donc vous pouvez continuer avec la configuration de la liste des canaux.
Décodeurs matériels : cartes DXR3/Hollywood+
Pour utiliser une carte DXR3 pour la sortie VDR nous avons besoin de
l'extension vdr-dxr3.
Exemple de code 5.1 : Installation de l'extension |
# emerge vdr-dxr3
# echo em8300 >> /etc/modules.autoload.d/kernel-2.6
|
Le module em8300 nécessite quelques configurations qui dépendent de la révision
exacte de la carte.
Poursuivez avec la configuration de la liste des
canaux.
Décodeurs matériels : cartes PVR350
Comme les cartes PVR350 possèdent une puce embarquée qui est un décodeur MPEG,
nous allons l'utiliser. Nous avons besoin d'installer l'extension
vdr-pvr350. Si ivtv-driver n'est pas encore installé,
emerge devrait le faire automatiquement pour vous. Afin de charger le
module ivtv au démarrage du système, nous l'ajoutons dans
/etc/modules.autoload.d/kernel-2.6 :
Exemple de code 5.2 : Installation de l'extension PVR350 |
# emerge vdr-pvr350
# echo ivtv >> /etc/modules.autoload.d/kernel-2.6
|
Poursuivez avec la configuration de la liste des
canaux.
Décodeurs logiciels : vdr-softdevice
Pour l'installer, nous devons faire emerge vdr-softdevice. N'oublions
pas d'activer l'extension.
Exemple de code 5.3 : Installation de l'extension softdevice |
# emerge vdr-softdevice
# eselect vdr-plugin enable softdevice
|
Pour sélectionner la bonne sortie audio et la bonne sortie vidéo, éditez le
fichier /etc/conf.d/vdr.softdevice.
À partir de maintenant, nous décrirons uniquement la méthode shm (pour
« shared memory », mémoire partagée). Elle est déjà activée dans le
fichier de configuration installé (paramètre SOFTDEVICE_VIDEO_OUT). Plus tard,
vous devrez démarrer ShmClient pour obtenir une fenêtre montrant l'image.
Note :
Si vous ne voulez pas vous soucier d'une disposition de clavier séparée pour le
contrôle VDR, les fichiers de configuration de télécommande sont disponibles
sur la page de
développement de Matthias Schwarzott. Les fichiers pour softdevice/shm et
pour xineliboutput sont disponibles (d'autres sont à venir). Vous devrez copier
le fichier approprié dans /etc/vdr/remote.conf puis le rendre
fonctionnel en faisant un chown vdr:vdr sur ce fichier.
|
Poursuivez avec la configuration de la liste des
canaux.
Décodeurs logiciels : vdr-xineliboutput
Certaines personnes préfèrent utiliser vdr-xineliboutput parce qu'il
peut également fonctionner à distance. Nous allons vous expliquer comment
configurer vdr-xineliboutput sur votre hôte et sur votre client. Pour
commencer, configurons l'hôte :
Exemple de code 5.4 : Installation de vdr-xineliboutput |
# emerge vdr-xineliboutput
# eselect vdr-plugin enable xineliboutput
|
L'ajout des options à la ligne de commande à ce point précis est crucial pour
faire fonctionner xineliboutput. Pour plus d'options, consultez
vdr --help.
Exemple de code 5.5 : Ajout des options à la ligne de commande dans /etc/conf.d/vdr.xineliboutput |
_EXTRAOPTS="--local=none --remote=37890"
|
L'étape suivante consiste à éditer le fichier
/etc/vdr/svdrphosts.conf. Ce fichier décrit un certain nombre
d'adresses d'hôtes qui sont autorisés à se connecter au port SVDRP de
l'enregistreur vidéo exécuté sur le système hôte.
Exemple de code 5.6 : Édition du fichier /etc/vdr/svdrphosts.conf |
127.0.0.1
192.168.1.0/24
#204.152.189.113
#0.0.0.0/0
|
Si vous voulez seulement utiliser vdr-xineliboutput pour regarder les
images sur le même ordinateur que celui qui exécute VDR, vous pouvez poursuivre
avec la configuration de la liste des canaux.
Sinon, vous devez simplement faire un emerge
media-plugins/vdr-xineliboutput sur votre poste client :
Exemple de code 5.7 : Configuration du client |
# emerge vdr-xineliboutput
|
Plus tard (après avoir démarré VDR), vous pourrez utiliser la commande
vdr-sxfe xvdr://nomdelhôte pour vous connecter à VDR et recevoir ses
images et l'OSD.
Poursuivez avec la configuration de la liste des
canaux.
Note :
Il y a également une extention qui ne fait que simuler l'existence d'un
véritable périphérique de sortie (vdr-dummydevice) pour certains usages
fantaisistes comme l'enregistrement simple des serveurs, mais cela est plus
avancé qu'une configuration habituelle de VDR.
|
6.
Création d'une liste de canaux
Pour rendre VDR vraiment utile, vous devez créer une liste des canaux
appropriés. Il y a plus d'une façon de faire cette liste (en plus du
téléchargement de l'une d'elles). La liste des canaux installée par défaut est
faite pour la réception DVB-S sur Astra 19.2°E.
Utilisation de dvbscan depuis linuxtv-dvb-apps
Exemple de code 6.1 : Installation de linuxtv-dvb-apps |
# emerge linuxtv-dvb-apps
|
Cherchez la liste des fréquences correctes pour votre région et pour votre type
de réception. Ces fichiers sont conservés dans /usr/share/dvb/scan.
Pour la réception avec DVB-T en Allemagne dans la région de Nüernberg, vous
devez utiliser /usr/share/dvb/scan/dvb-t/de-Nuernberg.
Exemple de code 6.2 : Balayage avec dvbscan |
$ dvbscan -o vdr /usr/share/dvb/scan/dvb-t/de-Nuernberg > /etc/vdr/channels.conf
|
Utilisation de vdr-reelchannelscan
Premièrement, supprimez le contenu de la liste des canaux existants.
Exemple de code 6.3 : Nettoyage de l'ancienne liste de canaux |
# rm /etc/vdr/channels.conf
|
Exemple de code 6.4 : Installation et activation de vdr-reelchannelscan |
# emerge vdr-reelchannelscan
# eselect vdr-plugin enable reelchannelscan
|
Canaux pour les systèmes utilisant vdr-analogtv
Vous désirerez probablement configurer vos canaux à ce point-ci. Le projet VDR
vous fournit quelques exemples qui peuvent être trouvés dans le répertoire
/usr/share/doc/vdr-analogtv-$version/examples/, à partir du moment
où vous avez installé >=media-plugins/vdr-analogtv-1.0.00-r1.
7.
Démarrage de VDR
Une fois que vous avez tous les logiciels de base qui sont prêts sur le système,
vous devez configurer VDR avec son OSD.
Si vous utilisez un décodeur matériel pour la sortie d'image, vous devrez
à présent allumer la TV connectée. Si vous utiliser une sortie logicielle, le
client doit pour cela être démarré après VDR.
Tout d'abord, vous devrez mémoriser vos définitions de touches :
c'est-à-dire, connaître le lien entre les touches de votre télécommande et
les commandes internes à VDR.
Note :
Juste au cas où vous devriez éditer la configuration du clavier, ou (plus
probable), vous voudriez la supprimer pour recommencer la définition des
touches : VDR conserve ses définitions de touches dans le fichier
/etc/vdr/remote.conf.
|
Nous commençons par démarrer VDR :
Exemple de code 7.1 : Démarrage de VDR |
# /etc/init.d/vdr start
* Preparing start of vdr:
* config files ... [ ok ]
* Waiting for prerequisites (devices nodes etc.) ... [ ok ]
* Starting vdr ... [ ok ]
* First start of vdr: No check for running vdr possible
* until control device (remote/keyboard) keys are learnt!
|
Note :
Les utilisateurs de décodeurs logiciels devront à présent démarrer le programme
client qui ouvrira alors la fenêtre pour diffuser l'image TV et l'OSD.
|
Exemple de code 7.2 : Activation du décodeur logiciel pour le client |
# ShmClient
# vdr-sxfe xvdr://hostname
|
Les touches les plus utiles pour VDR sont :
- Les touches de direction (Gauche/Droite/Haut/Bas)
- Menu/Sortie/Ok
- Couleurs (Rouge/Vert/Jaune/Bleu)
- Les touches du pavé numérique (0-9)
Important :
Si vous n'avez pas beaucoup de touches, assurez-vous d'assigner celles-ci
(certaines télécommandes ont des touches Lecture/Pause/etc. sur les mêmes
touches que les couleurs, utilisez-les donc pour les couleurs).
|
Maintenant que l'installation de base est faite, vous devez configurer VDR.
Basculez sur votre écran de sortie et suivez les instructions à l'écran. VDR
vous demande d'appuyer sur différentes touches de votre télécommandes afin
de mémoriser les bons codes touches. Si vous ne possédez pas de télécommande,
vous pouvez utiliser votre clavier.
Maintenant, vous pouvez ajouter le script init de VDR au niveau de démarrage par
défaut afin de le lancer à chaque fois que votre ordinateur démarrera.
Exemple de code 7.3 : Ajout de vdr au niveau de démarrage par défaut |
# rc-update add vdr default
|
8.
Problèmes
Note :
Si vous avez besoin d'aide, n'hésitez pas à demander à quelqu'un sur le canal
IRC #gentoo-vdr, ou
regardez sur nos forums.
|
Ce document est protégé par la licence Creative
Commons : Paternité - Partage des Conditions Initiales à
l'Identique 2.5.
|