Gentoo Logo

Guide de VDR sous Gentoo Linux

Table des matières :

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
(Si vous possédez une TerraTec Cinergy T2, votre sortie devrait ressembler à ceci :)
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
(Remplacez « devinput » par le bon pilote)
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

(La syntaxe correcte est : IP-Address[/Netmask])
127.0.0.1             (toujours accepter localhost)
192.168.1.0/24        (accepter tous les hôtes du réseau local)
#204.152.189.113      (un hôte spécifique)
#0.0.0.0/0            (tous les hôtes - UTILISER CELA AVEC PRUDENCE !)

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

(Pour les utilisateur de vdr-softdevice)
# ShmClient
(Pour les utilisateurs de vdr-xineliboutput)
# 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.



Imprimer

Dernière mise à jour le 28 septembre 2008

La version originale de cette traduction n'est plus maintenue

Résumé : Ce guide montre comment préparer Gentoo Linux pour le DVB et VDR.

Norman Golisz
Auteur

Dimitry Bradt
Auteur

Matthias Schwarzott
Auteur

Joshua Saddler
Correcteur

Marion Agé
Traducteur

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.