[Présentation | Installation des prérequies ( MySQLxmltv ) | Installation de MythTV (installation, configuration ) | Utilisation  ]

 MythTV

Dernière modification 27 mai 2006

(Ce guide peut être téléchargé dans la section téléchargement)

Présentation

MythTV est une interface graphique avancée pour les cartes tuner. Ce n'est pas un simple visualisateur de télé, il permet la récupération sur internet des programmes des chaines TV pour pouvoir programmer des enregistrements, tout cela à travers une interface graphique très conviviale. Les fichiers sont sauvegardés ensuite au format MPEG2, libre à vous de passer ensuite par transcode pour générer du MPEG4 (divx, xvid, ...).

MythTV utilise XMLTV c'est un ensemble d'outils qui permet de récupérer, "grabber", les programmes des chaines de télévision hertzienne, du cable et du satellite vous facilitant ainsi la programmation de vos enregistrements. MythTV requiert aussi l'installation de MySQL.
MythTV est composé de plusieurs programmes, avec un serveur et des clients. Cela signifie que le serveur peut tourner sur la machine possédant la carte d'acquisition et le client sur une autre machine du réseau. Pour avoir une liste plus complète de toutes ses fonctionnalités dirigez vous vers cette page.

Comme je ne capte rien là où je suis (je suis abonné CANALSAT via la livebox et le décodeur numérique SAGEM), je n'ai pu tester MythTV en utilisant mon tuner.

Pour obtenir de l'aide ou des infos complémentaires

http://www.lahiette.com/biboobox/forum/index.php
http://www.mythtvtalk.com/forum/viewforum.php?f=9

Installation des prérequies

MySQL

On installera MySQL tel que c'est décrit dans la page qui va bien. On verra plus loin comment lui entrer la base qui sera nécessaire à MythTV. Par ailleurs il est nécessaire d'installer le package suivant

urpmi  libqt3-mysql
[Retour haut de la page]

Installation de xmltv

L'URL principal est sourceforge.net/projects/xmltv.  On décompresse l'archive en tapant

tar xvfj xmltv-0.5.43.tar.bz2

Cela donne le répertoire xmltv-0.5.43 dans lequel on tape

perl Makefile.PL

Voilà le résultat

You may want to explicitly give PREFIX to work around MakeMaker bugs.

Choose which optional components of xmltv you want to install.  The
XMLTV.pm library and the filter programs such as tv_grep and tv_sort
are installed by default; here you choose grabbers for different
countries and front-ends for managing listings.

Alternative grabber for Britain (tv_grab_uk_rt)                    [yes]
Fast alternative grabber for the UK (tv_grab_uk_bleb)              [no]
Grabber for Belgium and Luxemburg (tv_grab_be)                     [yes]
Grabber for Italy (tv_grab_it)                                     [yes]
Grabber for North America using DataDirect (tv_grab_na_dd)         [yes]
Grabber for North American Channel Icons (tv_grab_na_icons)        [no]
Grabber for Finland (tv_grab_fi)                                   [no]
Grabber for Spain - Analogic Terrestrial/Cable (tv_grab_es)        [no]
Grabber for Spain - Digital Satellite (D+) (tv_grab_es_digital)    [no]
Grabber for the Netherlands (tv_grab_nl)                           [no]
Alternative grabber for the Netherlands (tv_grab_nl_wolf)          [no]
Grabber for Hungary and Romania (tv_grab_huro)                     [no]
Grabber for Denmark (tv_grab_dk)                                   [no]
Grabber for Japan (tv_grab_jp)                                     [no]
Grabber for Germany (tv_grab_de_tvtoday)                           [no]
Grabber for Sweden (tv_grab_se)                                    [no]
Grabber for Sweden (tv_grab_se_swedb)                              [no]
Grabber for France (tv_grab_fr)                                    [no]
Grabber for Norway (tv_grab_no)                                    [yes]
Grabber for Portugal (tv_grab_pt)                                  [no]
Grabber for South Africa (tv_grab_za)                              [no]
Program to report exceptions and changes in a schedule (tv_check)  [no]
CGI program to filter listings (to install manually) (tv_pick_cgi) [no]

Do you want to proceed with this configuration? [yes,no (default=yes)] no

Répondez no pour pouvoir configurer le grabber français, sélectionnez yes quand on vous proposera que vous voulez installer le grabber français. Si vous obtenez en fin de commande

Module Lingua::EN::Numbers::Ordinate seems not to be installed.
Lingua::EN::Numbers::Ordinate is recommended.
Module Lingua::Preferred seems not to be installed.
Lingua::Preferred 0.2.4 is recommended.
Module Term::ProgressBar seems not to be installed.
Term::ProgressBar 2.03 is recommended.
Module Unicode::String seems not to be installed.
Unicode::String is recommended.

Warning: prerequisite Date::Manip 5.42 not found.
Warning: prerequisite HTML::TreeBuilder 0 not found.
Warning: prerequisite Tk 0 not found.
Warning: prerequisite Tk::TableMatrix 0 not found.
Warning: prerequisite XML::Twig 3.1 not found.

Vous devez installer ces packages perl, en tant que root tapez

urpmi perl-Tk
urpmi perl-Tk-TableMatrix
urpmi perl-XML-Twig
urpmi perl-Term-ProgressBar
urpmi perl-Lingua-EN-Numbers-Ordinate
urpmi perl-Lingua-Preferred
urpmi perl-Unicode-String 
urpmi perl-DateManip
urpmi perl-CGI

Puis

perl -MCPAN -e shell
cpan>install HTML::TreeBuilder

On revient simple utilisateur puis on retape

perl Makefile.PL

puis

make

et en tant que root

make install


[Retour haut de la page]

Installation de MythTV

Installation

Le site officiel est www.mythtv.org/. On décompresse l'archive en tapant

tar xvfj mythtv-0.19.tar.bz2

Cela donne le répertoire mythtv-0.19. On y tape

./configure

voilà ce que ça donne

# Basic Settings
Compile type     release
Compiler cache   no
DistCC           no
Install prefix   /usr/local
CPU              x86 (AMD Athlon(TM) XP 2800+)
Big Endian       no
MMX enabled      yes
Vector Builtins  yes

# Input Support
Joystick menu    yes
lirc support     no
Video4Linux sup. yes
ivtv support     yes
FireWire support no
DVB support      no [/usr/include]
DBox2 support    yes

# Sound Output Support
OSS support      yes
ALSA support     yes
aRts support     no
JACK support     yes
DTS passthrough  no

# Video Output Support
x11 support      yes
xrandr support   yes
xv support       yes
XvMC support     no
XvMC VLD support no
XvMC pro support no
XvMC libs
OpenGL vsync     no
DirectFB         no

# Misc Features
DVD playback     yes
Frontend         yes
Backend          yes

Creating libs/libmyth/mythconfig.h and libs/libmyth/mythconfig.mak

On tape ensuite successivement

qmake mythtv.pro
make

puis en tant que root

make install

Dans le cas d'une première installation, faîtes les manips suivantes, elles ne sont pas nécessaire en cas d'upgrade d'une ancienne version de MythTV.

On installe maintenant la base MySQL. Sous mythtv-0.19/database on tape

mysql -u root -p < mc.sql

MythTV cherche /var/lib/mysql.sock et les bases MySQL sous /var/lib/mysql alors qu'elles sont sous /usr/local/lib/mysql/ chez moi, en conséquence j'ai du créer les liens suivants

cd /var/lib
ln -s /usr/local/lib/mysql/ .
ln -s /tmp/mysql.sock /usr/local/lib/mysql/

[Retour haut de la page]

Configuration

Sous mythtv-0.19/setup (en tant que simple utilisateur) on tapera

./mythtv-setup

On commence par le choix de la langue, puis par la question:

Voulez vous supprimer tous les paramètres des cartes de capture avant d'entamer la configuration ?
On répond Oui, supprimer les paramètres

A la question

Voulez vous effacer toutes les données de programmations et les paramètres de chaîne avant de démarrer la configuration ? Ceci n'affectera pas les enregistrements existants.
On répond Oui, effacer mes paramètres de chaînes


Une interface graphique plein écran apparaît, dans l'ordre indiqué, vous devez passer successivement au niveau des icones
1. Général (configuration générale)
2. Cartes d'acquisition (définition de la carte d'acquisition)
3. Sources vidéos (définition de la source vidéo)
4. Connections en entrée (défintion des entrées vidéo).
5. Editeur de chaînes (pour configurer les chaînes)

Pour se déplacer dans cette fenêtre, servez vous des flèches, Enter permet de sélectionner et Esc permet de revenir en arrière. La souris peut servir dans certaines pages pour sélectionner certains champs de saisie (ou alors dans les champs de saisie vous pouvez vous servir aussi des flêches pour faire défiler les différentes valeurs).
1. Général
A ce niveau vous devez définir l'adresse IP de votre machine serveur et/ou cliente.
A noter qu'un commentaire s'affichage à chaque fois qu'on passe sur un champ de saisie.
Cliquez sur Suiv


Ici on définit l'endroit où seront stockées les vidéos résultantes.
Cliquez sur Suiv
On définit ici le standard vidéo.
Cliquez sur Suiv


Options de réveil arrêt, j'ai laissé les paramètres par défaut.
Cliquez sur Suiv
Paramètres de réveil par le réseau.
Cliquez sur Suiv



Paramètres de queue de tâches
Cliquez sur Suiv
Idem
Cliquez sur Suiv


Idem
Cliquez sur Terminer

2. Cartes d'acquisition
On sélectionne d'abord (Nouvelle carte de capture)

Voilà ce que ça donne pour ma PVR 350. On revient à une liste où apparaît

[ MPEG: /dev/v4l/video0 ]

On tape sur ESC pour revenir en arrière
3. Sources vidéos
On sélectionne d'abord (Nouvelle source vidéo)
Ici, il faut choisir l'origine des programmes TV, on prendra France.Cliquez sur Terminer


A ce moment là il faut revenir au shell (touches Alt+Tab). Voilà la trace

2005-08-06 15:16:54.126 New DB connection, total: 1
Total desktop width=1280, height=1024, numscreens=1
2005-08-06 15:16:54.130 Using screen 0, 1280x1024 at 0,0
2005-08-06 15:16:54.156 Switching to square mode (blue)
2005-08-06 15:16:54.564 Joystick disabled.
2005-08-06 15:30:48.106
2005-08-06 15:30:48.117
2005-08-06 15:30:48.122
new DataDirect_config source == 0
new DataDirect_config source == 1
2005-08-06 15:34:34.213 Please wait while MythTV retrieves the list of available channels

A ce moment c'est à vous de sélectionner les chaînes françaises dont vous voulez grabber le programme

Get channels type : CABLE/SAT? [yes,no,all,none (default=yes)]
Get channels type : CANAL SAT? [yes,no,all,none (default=yes)]
Get channels type : ETRANGERES? [yes,no,all,none (default=yes)] no
Get channels type : HERTZIENNE? [yes,no,all,none (default=yes)] yes
Get channels type : TPS? [yes,no,all,none (default=yes)] no
Now getting channel list for : CABLE/SAT
add channel TV 5? [yes,no,all,none (default=yes)]
add channel Paris Première? [yes,no,all,none (default=yes)]
add channel Chasse et pêche? [yes,no,all,none (default=yes)] no
add channel Eurosport? [yes,no,all,none (default=yes)] yes
add channel Série Club? [yes,no,all,none (default=yes)] no
add channel Planète? [yes,no,all,none (default=yes)] yes
add channel Disney Channel? [yes,no,all,none (default=yes)] yes
add channel Télétoon? [yes,no,all,none (default=yes)] no
add channel Canal J? [yes,no,all,none (default=yes)] yes
add channel Jimmy? [yes,no,all,none (default=yes)] yes
add channel MCM? [yes,no,all,none (default=yes)] yes
add channel MTV? [yes,no,all,none (default=yes)] yes
add channel Teva? [yes,no,all,none (default=yes)] yes
add channel 13ème rue? [yes,no,all,none (default=yes)] yes
add channel Comédie !? [yes,no,all,none (default=yes)] yes
add channel RTL 9? [yes,no,all,none (default=yes)] yes
add channel TMC? [yes,no,all,none (default=yes)] yes
Now getting channel list for : CANAL SAT
add channel XXL? [yes,no,all,none (default=yes)] no
add channel TCM? [yes,no,all,none (default=yes)] no
add channel Equidia? [yes,no,all,none (default=yes)] no
add channel LCI? [yes,no,all,none (default=yes)] yes
add channel TV Breizh? [yes,no,all,none (default=yes)] yes
add channel Action? [yes,no,all,none (default=yes)] no
add channel Match TV? [yes,no,all,none (default=yes)] yes
add channel National Geographic? [yes,no,all,none (default=yes)] no
add channel Ciné Premier? [yes,no,all,none (default=yes)] no
add channel Ciné Emotion? [yes,no,all,none (default=yes)] no
add channel Ciné Frisson? [yes,no,all,none (default=yes)] no
add channel Ciné Succès? [yes,no,all,none (default=yes)] no
add channel Ciné Auteur? [yes,no,all,none (default=yes)] no
add channel Ciné Classic? [yes,no,all,none (default=yes)] no
add channel Planète Thalassa? [yes,no,all,none (default=yes)] yes
add channel Voyage? [yes,no,all,none (default=yes)] yes
add channel Histoire? [yes,no,all,none (default=yes)] yes
add channel Fox Kids? [yes,no,all,none (default=yes)] yes
add channel Festival? [yes,no,all,none (default=yes)] no
add channel Canal +? [yes,no,all,none (default=yes)] yes
add channel AB 1? [yes,no,all,none (default=yes)] yes
add channel Seasons? [yes,no,all,none (default=yes)] no
add channel Sport +? [yes,no,all,none (default=yes)] yes
add channel Animaux? [yes,no,all,none (default=yes)] no
add channel Canal Cinéma? [yes,no,all,none (default=yes)] no
add channel Canal Confort? [yes,no,all,none (default=yes)] no
add channel Canal Sport? [yes,no,all,none (default=yes)] no
add channel RTPI? [yes,no,all,none (default=yes)] no
add channel Escales? [yes,no,all,none (default=yes)] no
add channel Cartoon Network? [yes,no,all,none (default=yes)] yes
add channel Moteurs? [yes,no,all,none (default=yes)] yes
Now getting channel list for : HERTZIENNE
add channel TF1? [yes,no,all,none (default=yes)]
add channel France 2? [yes,no,all,none (default=yes)]
add channel France 3? [yes,no,all,none (default=yes)]
add channel RTBF? [yes,no,all,none (default=yes)] no
add channel TSR? [yes,no,all,none (default=yes)] no
add channel Arte? [yes,no,all,none (default=yes)] yes
add channel M 6? [yes,no,all,none (default=yes)] yes
Finished configuration.

Il va créer un fichier ~/.mythtv/tele.xmltv contenant toutes ces informations.


4. Connexions en entrée
On sélectionne l'entrée qui va bien, Tuner 0 par exemple
On indique ici quelle est la source vidéo (définie plus haut) qu'il faudra utiliser. On clique sur Terminer


En cliquant sur Rechercher des chaînes dans un shell on obtient

getting listings: ##################################################
Grabber process finished in 219 seconds.
2006-05-27 18:37:56.536 ------------------ End of XMLTV output ------------------
2006-05-27 18:37:56.675 New DB connection, total: 4
2006-05-27 18:37:56.677 Connected to database 'mythconverg' at host: localhost
--18:37:56--  http://telepoche.guidetele.com/c_img/chaine/tf1.GIF
           => `tf1.GIF'
Résolution de telepoche.guidetele.com... 193.252.118.20
Connexion vers telepoche.guidetele.com[193.252.118.20]:80...connecté.
requête HTTP transmise, en attente de la réponse...302 Found
Emplacement: http://static.guidetele.com/c_img/chaine/tf1.GIF [suivant]
--18:37:57--  http://static.guidetele.com/c_img/chaine/tf1.GIF
           => `tf1.GIF'
Résolution de static.guidetele.com... 193.252.118.20
Connexion vers static.guidetele.com[193.252.118.20]:80...connecté.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 410 [image/gif]

100%[=================

(...)

18:38:00 (6.82 MB/s) - `tmc.GIF' saved [715/715]

2006-05-27 18:38:00.891 Updating icons for sourceid: 1
Updated programs: 1747  Unchanged programs: 0
2006-05-27 18:38:06.069 Data fetching complete.
2006-05-27 18:38:06.069 Adjusting program database end times.
2006-05-27 18:38:06.074     0 replacements made
2006-05-27 18:38:06.074 Marking generic episodes.
2006-05-27 18:38:06.102     Found 1140
2006-05-27 18:38:06.102 Marking repeats.
2006-05-27 18:38:06.113     Found 0
2006-05-27 18:38:06.113 Unmarking new episode rebroadcast repeats.
2006-05-27 18:38:06.122     Found 0
2006-05-27 18:38:06.128

===============================================================
| Attempting to contact the master backend for rescheduling.  |
| If the master is not running, rescheduling will happen when |
| the master backend is restarted.                            |
===============================================================
2006-05-27 18:38:06.131 Connecting to backend server: 127.0.0.1:6543 (try 1 of 5)

Il va y avoir une erreur car il ne trouve pas le serveur backend, c'est normal on ne l'a pas encore lancé.

5. Editeur de chaînes
Voilà pour la configuration des chaînes, ce n'est que la première de nombreuses fenêtre de configuration quand on édite une chaîne particulière.
Pensez  à mettre des numéros aux chaînes pour pouvoir ensuite les sélectionner avec le pavé numérique.

Pour terminer vous devez taper (vous devez être connecté) en tant que simple utilisateur

mythbackend

puis

mythfilldatabase

voilà ce qu'on obtient

2006-05-27 18:56:12.707 Using runtime prefix = /usr/local
2006-05-27 18:56:12.751 New DB connection, total: 1
2006-05-27 18:56:12.753 Connected to database 'mythconverg' at host: localhost
2006-05-27 18:56:12.759 New DB connection, total: 2
2006-05-27 18:56:12.760 Connected to database 'mythconverg' at host: localhost
2006-05-27 18:56:12.766 Updating source #1 (essai) with grabber tv_grab_fr
2006-05-27 18:56:12.766 ----------------- Start of XMLTV output -----------------
2006-05-27 18:56:12.768 New DB connection, total: 3
2006-05-27 18:56:12.768 Connected to database 'mythconverg' at host: localhost
getting listings: ##################################################
Grabber process finished in 204 seconds.
2006-05-27 18:59:37.744 ------------------ End of XMLTV output ------------------
2006-05-27 18:59:37.895 New DB connection, total: 4
2006-05-27 18:59:37.896 Connected to database 'mythconverg' at host: localhost
2006-05-27 18:59:38.138 New DB connection, total: 5
2006-05-27 18:59:38.139 Connected to database 'mythconverg' at host: localhost
2006-05-27 18:59:38.156 Updating icons for sourceid: 1
Updated programs: 0  Unchanged programs: 1747
2006-05-27 18:59:41.924 Data fetching complete.
2006-05-27 18:59:41.924 Adjusting program database end times.
2006-05-27 18:59:41.929     0 replacements made
2006-05-27 18:59:41.929 Marking generic episodes.
2006-05-27 18:59:41.943     Found 0
2006-05-27 18:59:41.943 Marking repeats.
2006-05-27 18:59:41.959     Found 0
2006-05-27 18:59:41.959 Unmarking new episode rebroadcast repeats.
2006-05-27 18:59:41.972     Found 0
2006-05-27 18:59:41.977
===============================================================
| Attempting to contact the master backend for rescheduling.  |
| If the master is not running, rescheduling will happen when |
| the master backend is restarted.                            |
===============================================================
2006-05-27 18:59:41.982 Connecting to backend server: 127.0.0.1:6543 (try 1 of 5)
2006-05-27 18:59:41.989 Using protocol version 26
2006-05-27 18:59:42.012 mythfilldatabase run complete.


A noter qu'il n'a pas mis à jour la base de données car nous avions fait la récupération peu auparavant. C'est terminé vous pouvez enfin utiliser MythTV.

Vous pouvez faire en sorte maintenant de lancer mythfilldatabase régulièrement au moins une fois par semaine pour remettre à jour la base de données des programmes. Le moyen le plus simple est de passer par cron. En tant que simple utilisateur tapez

crontab -e

Un écran vi apparaît, tapez dans l'ordre i

0 23 * * 5 /usr/local/bin/mythfilldatabase

Puis ESC et :wq! Nous avons configuré ici un lancement de mythfilldatabase à 23h tous les vendredi.

Vous avez deux autres solutions qui vont vous obliger lancer mythfilldatabase en tant que root, il faudra copier tv_grab_fr.conf de votre utilisateur sous /root/.xmltv. et de créer le script mythfilldatabase.cron contenant

#!/bin/bash
/usr/local/bin/mythfilldatabase

Le placer sous /etc/cron.weekly et lui donner des droits d'exécution

chmod 755 /etc/cron.weekly/mythfilldatabase.cron

D'après le fichier /etc/crontab j'ai la ligne suivante pour cron.weekly

22 4 * * 0 root nice -n 19 run-parts /etc/cron.weekly

Il sera exécuté à 4h22 tous les dimanches (22=minutes, 4=heure, *=jour du mois, *=mois, 0=dimanche). Libre à vous d'adapter si votre machine ne reste pas allumée (/etc/rc.d/rc.local pour un appel au boot par exemple).

[Retour haut de la page]

Utilisation


La première chose en tant que simple utilisateur est de lancer le daemon backend en tapant
mythbackend

Voilà le résultat

Starting up as the master server.
2003-11-15 10:22:43 Enabled verbose msgs : important general
2003-11-15 10:22:45 Found changes in the todo list.

Vous pouvez lancer maintenant le frontend de MythTV en tapant mythfrontend.
La fenêtre pleine écran à gauche apparaît, vous pouvez vous déplacer avec les flèches, Enter pour sélectionner et Esc pour revenir en arrière.

On commence par l'icône de configuration Config. Les options les plus importantes sont dans l'icône Config TV.


Config->Config TV

Général on définit qu'on veut voir les chaines par leur nom et non par leur numéro

Dans l'icône Profils d'enregistrement vous allez définir si vous voulez utiliser la carte de compression MPEG2 intégrée (c'est l'idéal) ou utiliser un transcodage logiciel MPEG4. Vous pouvez lui indiquer si vous voulez lancer un transcodage à l'issue de l'acquisition.
Vous devez indiquer également la taille de l'image (largeur=480 hauteur=576).

On revient à la fenêtre initiale avec ESC.
Gérer les enregistrements
Pour programmer un enregistrement, on choisit l'icône Gérer les enregistrements, puis Programmer des enregistrements.


Gérer les enregistrements->Programmer des enregistrements
Maintenant on prépare un enregistrement manuel en cliquant sur l'icone Programmation manuelle.
Gérer les enregistrements->Programmer des enregistrements->Programmation manuelle
Pour définir une durée il suffit de se placer avec la souris dans le champ puis de se servir des flèches droite et gauche pour incrémenter ou décrémenter.
On clique sur Fixer les options d'enregistrement


On retombe sur cet écran, il faut maintenant valider cette programmation, on sélectionne "Sélectionner le planning d'enregistrement" puis Enter
On clique sur Enregistrer seulement cette diffusion puis Retour
On revient au niveau de la fenêtre ci-dessus et cette fois-ci c'est Option d'ordonnancement qui est sélectionné on clique sur Enter.


On doit définir au niveau de Enregistrement en utilisant le profile le type d'enregistrement que vous avez défini au niveau de la configuration (Default, Live TV, High Quality, Low Quality).

Gérer les enregistrements->Programmer des enregistrements->Recherche d'émission
Cette fenêtre permet de chercher des émissions, en cliquant sur Enter vous pouvez programmer leur enregistrement (ci-dessous).
Programmation de l'émission sélectionnée ci-dessus.


Gérer les enregistrements->Programmer des enregistrements->Listes de recherches->Films
Avec cette fenêtre vous pouvez rechercher des films et programmer leurs enregistrements.
Vous disposez d'autres fenêtres de recherches qui se basent sur du texte, la catégorie, les acteurs ...



[Retour page d'accueil]
[Retour haut de la page]