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
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
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/
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
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).
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 ...
|