Ceci est une ancienne révision du document !



Mythtv

MYTHTV est une suite de logiciels de type centre multimédia qui permet initialement de voir et d'enregistrer la télévision. Elle permet également de voir des Dvd®, des Divx®, des photos, d'écouter des CD-audio, des mp3®, de récupérer rapidement les informations (actualité internet, météo etc…) à l'aide d'un clavier, joystick ou d'une télécommande.

Pour disposer de cette suite logicielle multimedia, vous pouvez :

- Installer uniquement le logiciel Mythtv

- Installer simplement des paquets supplémentaires dans votre installation ubuntu pour la transformer, c'est Mythbuntu.

- Faire une installation complète d'Ubuntu optimisée Mythtv.

Mythtv

Il suffit d'installer le paquet apt://mythtv pour la partie cliente et apt://ubuntu-mythtv-frontend pour la partie serveur. Pour la configuration graphique installez aussi le paquet apt://mythbuntu-control-centre

Mythtv + Ubuntu = Mythbuntu

Il existe de nombreuses versions de Ubuntu : Ubuntu, Kubuntu, Xubuntu, Edubuntu et … Mythbuntu. Cette version est une solution gnu-linux spécialement développée pour Ubuntu permettant de transformer facilement son ordinateur en enregistreur de salon.

Il suffit d'installer le paquet apt://mythbuntu-desktop, attention ce paquet transforme complètement l'apparence de gnome en un très élégant enregistreur.

L'installation ne devrait pas poser de problème, veuillez cependant à enregistrer votre mot de passe d'accès qui sera configuré.

Pour plus de détails voir http://mythtv-fr.tuxfamily.org/wiki/mythbuntu_pas_a_pas_sur_ubuntu

Installation ubuntu optimisée Mythtv

Guide d'installation d'un serveur-client avec quelques problèmes et leurs solutions.
Pour les puristes je mettrai le signe (!) pour ce qu'il n'est pas recommandé de faire.

Partitions (système)

Lors de l'installation de Ubuntu, la principale question est le partitionnement des disques.

Pour ma part, je me simplifie la vie en voyant large.

taillenomcommentaire
10 Go / (dit "racine")il est possible d'en mettre largement moins
100 Go /home (en cas de problème, cela permet de garder ses paramètres)
2 Go swap (à partir de 1Go mettre la taille de la ram ou ne pas en mettre(!) )

Activer les pilotes pour NVIDIA ou ATI : cocher une case dans Menu→Système→Administration→Pilote de périphériques

Redémarrer et… attention au plantage. Plus Ubuntu évolue moins il y en a, mais au besoin noter cette ligne de commande :

sudo dpkg-reconfigure xserver-xorg 

ou

sudo dpkg-reconfigure -phigh xserver-xorg

Activer l'auto-login (!) : Menu→SystèmeAdministration→Fenêtre de connexion → onglet [Sécurité]

Packages (initiaux)

commandescommentaires
sudo apt-get install pour installer les packets (pour sélectionner appuyer en même temps sur Ctrl sur firefox)
mplayer gxine vlc libdvdread3 oglelecteur vidéo et codec
flashplugin-nonfree lecteur video (flash)
tvtimepermet de tester la carte TV (existe aussi zaptv)
startupmanager permet de modifier le démarrage de l'ordinateur (multi-boot, affichage de log etc…)
lirc pour la télécommande ("creative Livedrive sequencer" pour utiliser la télécommande avec la carte son Audigy)
filezillaclient ftp (ça peut toujours servir)
samba partage réseau pour Windows
openssh-server indispensable pour utiliser putty
synergy trop bien si vous avez plus d'un PC côte à côte (un clavier/souris pour plusieurs PC) (fonctionne aussi avec tous les Windows, Vista inclus)
nvidia-settings pour configurer sa carte vidéo NVIDIA (exit aussi "envy" pour ATI et NVIDIA)
dmraidsi vous utilisez du raid
gparted pour partitionner ses disques (si vous en avez plus d'un)

Souris & Clavier bluetooth

Pour l'utilisation de clavier & souris en bluetooth.

Appuyer sur le petit bouton et taper la commande (pour chacun) :

sudo hidd --connect AA:BB:AA:BB:AA:BB

( AA:BB:… étant l'adresse indiqué au dos de l'appareil)

Après je vous recommande le GUI (l'Interface Utilisateur Graphique). Menu→Système→Préférences→Bluetooth

Ecran (carte NVIDIA)

Rechercher les spécifications techniques (balayage horizontal et vertical) sur le site web du constructeur de l'écran. Puis modifier le fichier en conséquence.

sudo gedit /etc/X11/xorg.conf
Section "Monitor"
  Identifier     "Generic Monitor"
  HorizSync       31-81
  VertRefresh     56-76
  Option         "DPMS"
EndSection

(Option "DPMS" sert à éteindre l'écran lorsqu'il est inactif : je ferais bien de l'enlever ;-) )

Ensuite utiliser le GUI (beaucoup plus simple, mais maintenant vous pouvez cliquer sur Apply et quitter)

sudo nvidia-settings

Préférer cette ligne de commande à Menu→Système→Administration→NVIDIA X Server Settings, car dans ce cas il n'y aura pas de soucis pour enregistrer les modifications.

(Pour les cartes NVIDIA le mode "TwinView" est recommandé pour le multi-écran)

Disques durs

Pour plusieurs disques durs :

Utiliser gparted pour les identifier et les modifier (!!!). Menu→Système→Administration→Editeur de partition

Utiliser la commande mount…profiter…redémarrer… et c'est comme si rien n'avait été fait. Donc à moins que ce ne soit temporaire modifier le fichier fstab:

sudo gedit /etc/fstab

et ajouter les lignes nécessaires :

/dev/sdc5                                 /media/MP3      ext3    relatime        0       0
/dev/mapper/sil_agaiabbifech1             /media/WXP      ntfs    uid=1000        0       0
UUID=cdd75cda-8147-41c6-923a-32dac89083d8 /media/FILMS    ext3    relatime        0       0

Explications pour chaque ligne :

1- grâce à gparted j'identifie le disque comme /dev/sdc5, je le monte/place sur /media/MP3 (que j'ai préalablement créé avec un petit "sudo mkdir /media/MP3"), de plus il est de type ext3, pour le reste je ne sais pas encore mais ça fonctionne.

2- même chose sauf que le disque est en raid (d'où le nom plus long) et le type est NTFS (pour Windows) (petit "sudo mkdir /media/WXP").

3- version moderne avec le UUID (genre "identifiant unique" pour disque dur, dans les cas précédents si on rajoute/déplace un disque/partition tout peut changer de nom /dev/sdc6), (type ext3 et petit "sudo mkdir /media/FILMS")

Pour identifier les UUID :

sudo blkid
sudo vol_id -u /dev/sda1

Il est possible de renseigner les différents emplacements dans mythtv en les séparant par ":" mais cela ne fonctionne pas toujours correctement. Avant j'utilisais dans le fichier fstab (ce qui n'accélère pas le démarrage de l'ordinateur) :

/media/FILMS/CLIPS  /media/MP3/CLIPS     none bind 0 0

J'ai évolué et j'utilise un lien maintenant. Taper directement en ligne de commande (en cas de problème de permission ajouter "sudo" devant) :

ln -s /media/MP3/CLIPS /media/FILMS/CLIPS

MYTHTV

commandescommentaires
sudo apt-get install pour installer les packets (pour sélectionner appuyer en même temps sur Ctrl sur firefox)
ubuntu-mythtv-frontend mythtv les 2 packages principaux (installeront également mysql et bien d'autres)
mysql-query-browser pour ceux qui s'y connaissent en sql
mythvideo mythmovies voir et gérer des vidéos
mythweather la météo
mythwebInterface web pour contrôler presque tout mythtv
mythstreamécouter et voir du streming
mythnewsrapide pour avoir des informations sur l'actualité
mythmusic gérer et écouter ses MP3
mythgame jouer
mythgalleryvoir ses photos
mythbrowsernavigateur internet optimisé télécommande
lame gstreamer0.10-plugins-bad gstreamer0.10-ffmpeg gstreamer0.10-plugins-good gstreamer0.10-plugins-ugly différents codec
mythpluginspour téléphoner (je ne l'utilise pas … encore)

Après leurs installations, ajouter vous au groupe mythtv et redémarrer puis lan cer : Menu?Système?Administration?MythTV Backend Setup

Renseigner les paramètres (les mêmes que ceux mis lors de l'installation des packages)

Puis : Menu→Son et vidéo→MythTV Frontend

En cas de problèmes, saisir les lignes de commandes suivantes
sudo dpkg-reconfigure mythtv-common
sudo dpkg-reconfigure mythtv-database 

Pour ceux qui apprécient les jolies animations en écoutant de la musique je recommande (par ordre descroissant) les plugins suivants :

sudo apt-get install libvisual-0.4-plugins  synaesthesia libvisual-projectm

libvisual-projectm doit être très beau mais personnellement, il n'a jamais fonctionné et a même réussi à fermer mythtv.

Mes préférés : Goom; BumpScope; LibVisual-jakdaw; LibVisual-jess; MonoScope; LibVisual-lv_gltest; LibVisual-infinite; LibVisual-corona; Synaesthesia;

Télécommande (spécificité pour Audigy Platinum eX)

Bon nombre de télécommandes fonctionnent toutes seules et le package suivant vous y aidera.

sudo apt-get install mythbuntu-lirc-generator

Ce n'est pas mon cas avec la carte son Audigy Platinum eX, pour la faire fonctionner je dois modifier certains fichiers :

sudo gedit /etc/lirc/hardware.conf Et ajouter la ligne suivante : DEVICE="/dev/snd/midiC0D1"

Dans le fichier /usr/share/lirc/remotes/creative/lircd.conf.livedrive changer la ligne : name rm1000 –> name Creative_RM900

sudo gedit /etc/modprobe.d/alsa-base

Ajouter : options snd-emu10k1 index=0 enable_ir=1

Pour la RM900 (comme il l'appelle) modifier le fichier suivant : sudo gedit /etc/lirc/lircd.conf Par celui ci: lircd.conf.txt

Par défaut les paramètres de lirc sont dans $HOME/.lircrc mais mythtv se rajoute un fichier complémentaire, dans mon cas je n'utilise que celui de mythtv et j'ajoute un lien vers celui-ci:

rm $HOME/.lircrc
ln -s $HOME/.mythtv/lircrc  $HOME/.lircrc
En cas de problème

Pour tester la télécommande : irw (appuyer des touches de la télécommande)

Pour lancer (dans mon cas) : sudo lircd –driver=livedrive_midi –device=/dev

Les menus se situent dans /usr/share/mythtv. Ils sont écrits en xml.

Le principal est "mainmenu.xml" mais il en existe bien d'autres comme videomenu.xml, info_munu.xml etc…

En éditant le premier on remarque un menu caché le Shutdown ("Arrêt").

Il est donc possible possible de modifier le texte et l'image associés ainsi que l'action qu'ils effectuent. Exemple :

codecommentaire
<button> flag de début
<type>VCD_PLAY</type>type d'image
<text>Play VCD</text>texte par défaut
<text lang="FR">Lecture VCD</text>texte pour la langue française
<action>VCD_PLAY</action>action
</button>flag de fin

Je recommande un backup avant de les modifier, mais une réinstallation du package "mythtv",après leurs suppression, permet de les récupérer sans avoir besoin de tout réinstaller.

Petite astuce pour lancer un programme extérieur :

codecommentaire
<button> flag de début
<type>MUSIC_SCAN</type>type d'image
<text>My program</text>texte par défaut
<text lang="FR">Mon programme</text>texte pour la langue française
<action>EXEC monprogramme</action>action
</button>flag de fin

(voir exemple dans :Intégration dans le menu)

MYTHVIDEO

Lire un DVD protégé

(c'est malheureux de ne pas pouvoir lire un DVD que l'on a acheté en toute légalité)

sudo apt-get install libdvdcss2
Désactiver le lancement automatique à l'insertion d'un DVD ou CDrom

Lancer Nautilus :

Edition→ Préférences → onglets : Supports … et adapter.

Réduire la taille des sous-titres

Dans Mythtv : Paramètres→Paramètres médias→Paramètres Vidéos→Paramètres du lecteur

Lecteur :

mplayer -fs -zoom -quiet -vo xv -subfont-text-scale 2 %s

Internal :

mplayer vcd:// -cdrom-device %d -fs -zoom -vo xv
Reconnaissance des films (affiches, résumé et casting)

Pour l'avoir en français, changer les scripts dans Paramètres→Paramètres médias→Paramètres Vidéos→Paramètres globaux

/usr/share/mythtv/mythvideo/scripts/imdb.pl -M tv=no;video=no
->
/usr/share/mythtv/mythvideo/scripts/allocine.pl –M
/usr/share/mythtv/mythvideo/scripts/imdb.pl –P
->
/usr/share/mythtv/mythvideo/scripts/allocine.pl -P
/usr/share/mythtv/mythvideo/scripts/imdb.pl –D
->
/usr/share/mythtv/mythvideo/scripts/allocine.pl –D
Petit bug dans allocine.pl lorsqu'il ne trouve pas le film

rajouter "exit" à la xième ligne entre 4 "}" :

sudo gedit /usr/share/mythtv/mythvideo/scripts/allocine.pl
        # display array of values
        for $movie (@movies) {
          print "$movie\n";
        }
     }
exit;
      }
}

#
# Main Program
#

MYSQL

Base de données assez primaire mais tout à fait fonctionnelle.

Pour lancer un script (ne pas oublier les < >):

mysql db_name < script.sql > output.tab

Pour se connecter à la base de mythtv (celle par defaut) :

mysql --user=root --password=**** mythconverg (**** est à remplacer par son mot de passe)
Où est la base par défaut?

cd /var/lib/mysql/mythconverg (!)

Un petit script pour améliorer la base

( est à remplacer par son mot de passe).

echo "Optimize mysql mythtv (--------------------------------)"
echo "Optimize mysql mythtv (--- Start  `date +'%y/%m/%d-%H:%M.%S'` ---)"
echo "Optimize mysql mythtv (--- Part 1 `date +'%y/%m/%d-%H:%M.%S'` ---)"
mysql --user=root --password=**** mythconverg -B -e "
SELECT concat('analyze table ',table_schema,'.',table_name,';') as ' ' FROM information_schema.TABLES where table_schema='mythconverg'
union
SELECT concat('check table ',table_schema,'.',table_name,';') as ' ' FROM information_schema.TABLES where table_schema='mythconverg'
union
SELECT concat('optimize table ',table_schema,'.',table_name,';') as ' ' FROM information_schema.TABLES where table_schema='mythconverg'
union
SELECT concat('repair table ',table_schema,'.',table_name,';') as ' ' FROM information_schema.TABLES where table_schema='mythconverg';" > /home/mythtv/optimysqlmyth.sql
echo "Optimize mysql mythtv (--- Part 2 `date +'%y/%m/%d-%H:%M.%S'` ---)"
mysql --user=root --password=**** mythconverg </home/mythtv/optimysqlmyth.sql> optimysqlmyth.log
echo "Optimize mysql mythtv (--- End    `date +'%y/%m/%d-%H:%M.%S'` ---)"
echo "Optimize mysql mythtv (--------------------------------)"
Un petit script pour automatiser la gestion des fichiers audios et vidéos
echo "Refresh Videometadata Browse (--------------------------------)"
echo "Refresh Videometadata Browse (--- Start  `date +'%y/%m/%d-%H:%M.%S'` ---)"
echo "Refresh Videometadata Browse (--- Part 1 `date +'%y/%m/%d-%H:%M.%S'` ---)"
mysql --user=root --password=*** mythconverg </home/mythtv/rvb.sql> rvb2.sql
echo "Refresh Videometadata Browse (--- Part 2 `date +'%y/%m/%d-%H:%M.%S'` ---)"
mysql --user=root --password=*** mythconverg </home/mythtv/rvb2.sql> rvb.log
echo "Refresh Videometadata Browse (--- End    `date +'%y/%m/%d-%H:%M.%S'` ---)"
echo "Refresh Videometadata Browse (--------------------------------)"

Avec son petit script sql (qui efface toutes les playlists!!!) :

truncate music_playlists;
insert into music_playlists (playlist_name) values('default_playlist_storage');
insert into music_playlists (playlist_name) values('backup_playlist_storage');

insert into music_playlists (playlist_name)
SELECT distinct left(m.path,INSTR(m.path,'/')-1)
FROM music_directories m  where left(m.path,INSTR(m.path,'/')-1)<>'';

SELECT concat('update music_playlists m set m.playlist_songs=concat(m.playlist_songs,''',ms.song_id,''',',''',''',') where m.playlist_name=''',left(m.path,INSTR(m.path,'/')-1),'''',';') as "START TRANSACTION;"
FROM music_songs ms,music_directories m
where m.directory_id=ms.directory_id and left(m.path,INSTR(m.path,'/')-1)<>'' ;
select 'COMMIT;' as "" from dual;

delete from music_playlists where playlist_name='';

truncate videocategory;
START TRANSACTION;
insert into videocategory (category) select distinct mid(videometadata.filename,14,INSTR(mid(videometadata.filename,14), "/")-1) from videometadata;
COMMIT;

select concat('update videometadata set category=',videocategory.intid,' where intid=',videometadata.intid,';') as "START TRANSACTION; "
from videometadata,videocategory where mid(videometadata.filename,14,INSTR(mid(videometadata.filename,14), "/")-1)=videocategory.category;
select 'COMMIT;' as "" from dual;

SELECT  concat('update videometadata set browse=0 ,childid=',max(v.intid),' ') as "START TRANSACTION; "
FROM videometadata v where right(v.filename,3) not like 'IFO' and right(v.filename,3) not like 'BUP'
and right(v.filename,3) not like 'srt' and right(v.filename,3) not like 'idx';

SELECT  concat(' where intid=',v.intid, '; update videometadata set browse=0 ,childid=',v.intid) as " "
FROM videometadata v where right(v.filename,3) not like 'IFO' and right(v.filename,3) not like 'BUP'
and right(v.filename,3) not like 'srt' and right(v.filename,3) not like 'idx' order by v.filename desc;

SELECT  concat(' where intid=',max(v.intid),'; ') as " "
FROM videometadata v where right(v.filename,3) not like 'IFO' and right(v.filename,3) not like 'BUP'
and right(v.filename,3) not like 'srt' and right(v.filename,3) not like 'idx';
select 'COMMIT;' as "" from dual;
exit

(Pourquoi 14 ? Mes fichiers vidéos sont dans /media/FILMS/ ,soit 13 caractères +1 pour les suivants)

(Pourquoi c'est long ? il y a beaucoup de fichiers et la machine n'est pas rapide)

(Pourquoi ça plante ? erreur de lecture/écriture, erreur de mot de passe etc…regarder la log : rvb.log ou optimysqlmyth.log)

Intégration dans un menu
sudo vi /usr/share/mythtv/util_menu.xml

Ajouter à l'avant-dernière ligne (le fichier commençant par <mythmenu> doit finir par </mythmenu> ):

 <button>
     <type>MUSIC_SCAN</type>
     <text>r.v.b.</text>
     <text lang="FR">r.v.b.</text>
     <action>EXEC gnome-terminal -e /home/mythtv/scripts/rvb.sh</action>
 </button>
 <button>
     <type>MUSIC_SCAN</type>
     <text>optimysqlmyth</text>
     <text lang="FR">optimysqlmyth</text>
     <action>EXEC gnome-terminal -e /home/mythtv/scripts/optimysqlmyth.sh</action>
 </button>
Autre méthode (non testée)

faire dans le dossier des vidéos

dir * > all_videos.pls

Pour créer sa playlist.

Ajouter au Paramètres→Paramètres médias→Paramètres Vidéos→Type de fichiers une extension pls et la commande :

mplayer -fs -zoom -quiet -vo xv -playlist %s

DEMARRAGE AUTO

Dans Système→Préférences→Sessions :

mythbackend (est parfois inutile : ps -ef |grep mythbackend)

mythfrontend - -service

irexec –d (à rajouter à la fin, voire à enlever et remettre…)

Rien à voir mais ça peut toujours servir

Arrêter démarrer le backend :

sudo /etc/init.d/mythtv-backend stop
sudo /etc/init.d/mythtv-backend start

Arrêter démarrer mysql :

sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql start

SAMBA

Avoir une bibliothèque multimédia c'est bien, la partager c'est mieux…

sudo smbpasswd -a `whoami`

sudo gedit /etc/samba/smb.conf

MYTHTV GALERIE

Pas grand chose à faire, à part le setup : indiquer l'emplacement des photos. Pour son utilisation regarder "Configurer les touches".

ARRET et REBOOT de Mythtv (!)

La commande pour rebooter ou arrêter l'ordinateur peut ne pas fonctionner (car nécessite une commande sudo reboot…).

Pour remédier à cela ajouter son_utilisateur au fichier /etc/sudoers:

(problème : le fichier doit être en lecture seul. Solution : l'écraser)

sudo cp /etc/sudoers /etc/sudoers.new
sudo chmod 777 /etc/sudoers.new
sudo gedit /etc/sudoers.new

ajouter en fin de fichier (son_utilisateur = myth):

mythtv	ALL=NOPASSWD:/sbin/halt,/sbin/reboot,/bin/mount,/bin/umount

Puis écraser par le nouveau fichier

sudo chmod 440 /etc/sudoers.new
sudo cp /etc/sudoers.new /etc/sudoers

En cas de problème redémarrer en mode (recovery mode) et supprimer cette ligne précédemment ajoutée.

  • mythtv.1230823749.txt.gz
  • Dernière modification: Le 18/04/2011, 14:52
  • (modification externe)