Wiki

Outils pour utilisateurs

Outils du site


documentation:docmythtvcinq

<< Page précédente Retour au Sommaire Page suivante >>

5. Téléchargement et compilation

Obtenez MythTV depuis le site Web http://www.mythtv.org/. Il y a deux méthodes d'installation au choix. La première est de télécharger la dernière parution au format tarball et la compiler. La parution en tarball de MythTV devrait fonctionner avec une large variété de systèmes et devrait être la méthode préférée pour les nouveaux utilisateurs. Si vous souhaitez employer la copie subversion de MythTV vous pouvez l'obtenir sur http://svn.mythtv.org/.

NOTE : Si vous comptez utiliser subversion pour compiler MythTV plutôt que d'utiliser la distribution par tarball, vous devez joindre les listes de diffusion http://www.mythtv.org/mailman/listinfo/mythtv-commits/ et http://www.mythtv.org/mailman/listinfo/mythtv-dev/ pour suivre l'état actuel du code. Le code obtenu à partir de subversion n'a aucune garantie concernant la stabilité, etc.

Si vous êtes en Amérique du Nord, vous emploierez l'extracteur Schedules Direct qui est intégré à MythTV. Vous n'avez pas besoin d'installer XMLTV (ainsi vous pouvez sauter les instructions concernant XMLTV), mais vous avez besoin de la version 1.9.1 ou plus de wget.

Obtenez XMLTV depuis http://xmltv.sourceforge.net/. Téléchargez la dernière version (0.5.48). NdT : actuellement la version est 0.50.

NOTE pour les utilisateurs de Mandriva : Si vous avez ajouté un miroir « PLF », vous pouvez sauter la prochains étape et entrer :
# urpmi libmp3lame0 libmp3lame0-devel

Après téléchargement, soyez sûr d'installer les deux :
# rpm -Uvh lame*

Obtenez lame depuis http://lame.sourceforge.net/. Téléchargez le code source de la v3.96.1 en suivant les liens depuis « Using » jusqu'à « Download… ».

<< Retour au Début

5.1 Construction de LAME

Ouvrez un shell et allez dans le dossier où vous avez sauvegardé lame.

  $ tar -xzf lame-3.96.1.tar.gz
  $ cd lame-3.96.1
  $ ./configure
  $ make
  $ make test
  $ su
  # make install

Vérifiez que cela a fonctionné :

  # ls -l /usr/local/lib
  -rw-r--r--    1 root     root       381706 Nov  4 14:22 libmp3lame.a
  -rwxr-xr-x    1 root     root          674 Nov  4 14:22 libmp3lame.la*
  lrwxrwxrwx    1 root     root           19 Nov  4 14:22 libmp3lame.so -> libmp3lame.so.0.0.0*
  lrwxrwxrwx    1 root     root           19 Nov  4 14:22 libmp3lame.so.0 -> libmp3lame.so.0.0.0*
  -rwxr-xr-x    1 root     root       360197 Nov  4 14:22 libmp3lame.so.0.0.0*
  
  # exit
  $ 

<< Retour au Début

5.2 XMLTV

Red Hat Linux et Fedora Core :

Les RPM pour XMLTV et toutes ses dépendances peuvent-être obtenus à partir de http://ATrpms.net/name/xmltv/. La page Web a une liste de tous les paquets dépendants que vous devez télécharger et installer.

# rpm -Uvh xmltv* perl*

Si vous installez à partir de cet endroit, vous pouvez passer à Construction manuelle de MythTV.

Mandriva

Les RPM pour XMLTV et toutes ses dépendances sont situés dans le « contrib » de Mandriva. Si vous avez ajouté un miroir contrib, essayez d'installer XMLTV :

# urpmi xmltv xmltv-grabbers

Si ceci ne fonctionne pas, il est possible que le contrib pour votre version de Mandriva n'ait pas XMLTV, vous pouvez alors installer les pré-requis de XMLTV en entrant :

# urpmi perl-xml-twig perl-xml-writer perl-datemanip perl-libwww-perl

puis passer directement à l'étape de compilation de XMLTV.

Installation manuelle

Détarrez le fichier de xmltv :

$ tar -xjf xmltv-0.5.48.tar.bz2

Installez les pré-requis de xmltv. Les pré-requis suivants sont le minimum exigé; lorsque vous lancez le programme d'initialisation de xmltv, il peut vous alerter que d'autres modules sont exigés :

  $ su
  # perl -MCPAN -e shell
  cpan> install XML::Twig
  cpan> install Date::Manip
  Date::Manip is up to date.
  cpan> install LWP
  cpan> install XML::Writer
  cpan> exit

Passez dans le répertoire XMLTV et compilez-le :

  $ cd xmltv-0.5.48
  $ perl Makefile.PL

Vous pouvez répondre « N » aux questions sur tv_check, tv_pick_cgi. Dites « yes1) » à l'extracteur requis pour votre pays.

Vous pouvez obtenir des erreurs au sujet de modules n'étant pas installés. Vous devrez résoudre toutes les dépendances absentes à ce moment, ou votre extracteur peut ne pas fonctionner correctement.

  $ make
  $ make test
  $ su
  # make install
  # exit

<< Retour au Début

5.3 Configuration du service Schedules Direct

A compter du 2007-09-01, Tribune Media Services ne fournit plus de guide de programmes gratuit. Schedules Direct est une organisation à but non-lucratif qui a licencié les données pour les rendre disponibles aux utilisateurs d'applications Freeware et Open Source.

Si vous souhaitez utiliser Schedules Direct, you devrez établir un compte utilisateur. Rendez-vous à http://www.schedulesdirect.org/ et cliquez sur le lien « Membership ».

Une fois que vous avez lu et approuvé les Subscriber Agreement, Terms of Use et Privacy Policy, rendez-vous à la liste de choix et configurez votre compte pour votre région et les chaînes que vous avez. Cette configuration sera importée dans MythTV la première fois que vous lancez le programme mythtv-setup.

<< Retour au Début

5.4 Construction manuelle de MythTV

Si vous comptez utiliser subversion, exécutez les instructions suivantes afin d'obtenir la dernière version de MythTV :

  $ mkdir mythtv
  $ cd mythtv
  $ svn co http://svn.mythtv.org/svn/trunk/mythtv
  $ svn co http://svn.mythtv.org/svn/trunk/mythplugins
  $ svn co http://svn.mythtv.org/svn/trunk/myththemes
  $ cd mythtv

Si vous utilisez la tarball, désempaquetez-la :

  $ tar -xjf mythtv-0.20.2.tar.bz2
  $ cd mythtv-0.20.2
  $ ./configure

Si vous souhaitez changer des options, lancez ./configure –help pour voir ce qui est disponible et pour modifier les options automatiquement détectées. Consultez le fichier config.log après avoir lancé configure pour voir les lancements précédents.

Si vous comptez utiliser les divers scripts Perl qui se trouvent dans le répertoire contrib, assurez-vous d'ajouter —-with-bindings=perl à la commande configure. Ceci est maintenant par défaut dans MythTV 0.21.

Pour compiler :

  $ make -j 2

La compilation de MythTV peut prendre en compte de multiple CPUs, SMP et l'Hyperthreading. Si vous voulez construire MythTV sur une machine multi-CPU (ou avec distcc), spécifiez « -j nbjobs », où « nbjobs » est plus grand que 2. Dans l'exemple ci-dessus; nous avions deux jobs concurrents qui s'exécutent, ce qui est recommandé pour un système avec un unique CPU. Ne mettez pas le nombre de jobs trop haut, ou votre compilation sera en fait plus longue à se terminer qu'elle ne le serait si vous faisiez une construction « normale ».

Si vous employez distcc, et que vous aviez deux autres machines hôtes (red, blue) participant, vous feriez quelque chose comme :

  $ export DISTCC_HOSTS='localhost red blue'
  $ make -j 6 CXX=distcc

L'amélioration réelle, le cas échéant, dépend d'un certain nombre de facteurs, tel que le nombre de CPU/d'hôtes, etc. La documentation de distcc recommande d'employer une valeur de -j de deux fois le nombre de CPU disponibles pour les maintenir tous occupés.

Quelques informations de temps. Ce qui suit devrait seulement être employé comme illustration; vos résultats réels peuvent varier. Le test part d'un make distclean complet jusqu'au binaire final.

  • P4 3.2Ghz HT : make « standard » : 12m 49s
  • P4 3.2Ghz HT : make -j 2 : 11m 24s

Dans l'exemple ci-dessus, nous voyons qu'avec un seul CPU, un make multi-stages ne diminue pas le temps de compilation de manière significative.

Une fois la compilation effectuée, passez en super-utilisateur :

  $ su
  # make install
  # exit

NOTE : les étapes suivantes de configuration supposent que vous êtes dans le répertoire de MythTV, par le cd ci-dessus.

Activer la gestion temps-réel du thread d'affichage

MythTV supporte la gestion temps-réel du thread de sortie vidéo. Il y a trois manières de faire permettant ceci : vous pouvez employer rlimits, vous pouvez utiliser le module de sécurité temps-réel, ou sur des systèmes plus anciens vous pouvez SUID l'exécutable. Permettre la gestion temps-réel est facultatif, mais peut donner un affichage vidéo plus lissé, particulièrement si vous décodez de la HDTV.

rlimits

La méthode rlimits est la méthode préférée et est incluse dans Linux 2.6.12 et plus. Malheureusement, vous avez besoin de la version 0.79 de PAM ou plus, qui peut ne pas encore être supportée par votre distribution. En supposant que quiconque faisant tourner mythfrontend est dans le groupe audio et que rlimits est supporté, tout ce que vous avez à faire est de placer ceci dans votre /etc/security/limits.conf :

  
  *               -       rtprio     0
  *               -       nice       0
  @audio          -       rtprio     50
  @audio          -       nice       0
module temps-réel

La deuxième option est d'utiliser le module temps-réel du noyau Linux. Ce sera éliminé plus tard, mais est actuellement supporté par beaucoup de distributions qui ne supportent pas encore rlimits. Si vous n'employez pas le noyau de votre distribution, vous devez configurer votre noyau avec :

  Security options : [*] Enable different security models
  Security options : [M] Default Linux Capabilties

Vous pouvez également avoir à installer le module temps-réel, en utilisant le paquet temps-réel de votre distribution. En supposant que les utilisateurs qui utiliseront mythfrontend sont dans le groupe audio, vous pouvez obtenir le GUID d'un groupe ainsi :

  $ grep audio /etc/group

Si le nombre affiché par le grep était 18, vous pouvez maintenant charger ce module en tant que root avant de démarrer mythfrontend :

  # modprobe realtime gid=18
Option de lancer en tant que root (non sûr)

L'option finale et la moins favorite est de placer le sticky bit sur l'exécutable mythfrontend. Ceci ouvre un trou de sécurité, mais est la seule option sur les systèmes qui ne supportent ni rlimits ni le module temps-réel. Ceci ne fonctionne pas non plus sur les distributions modernes, et n'est pas recommandé sur un système connecté à Internet. Cela peut également rendre impossible le débuggage de MythTV sans lancer gdb en root. Si vous voulez tout de même le faire, vous avez juste besoin de lancer ceci sous root :

  # chmod a+s /usr/local/bin/mythfrontend /usr/local/bin/mythtv
Configuration en frontal seul

Puisque MythTV emploie une architecture client/serveur, de multiples ordinateurs frontaux peuvent simultanément accéder au contenu d'un système Myth. La TV en Direct, regarder et programmer des enregistrements, etc. est possible sur des frontaux multiples.

Pour avoir une meilleure image de ce qui est nécessaire pour faire tourner un frontal, notez ce qui suit :

  • Vous N'avez PAS besoin du serveur MySQL installé sur votre frontal distant
  • Vous N'avez PAS besoin de XMLTV installé sur votre frontal distant
  • Vous N'avez PAS besoin de lancer le programme mythtv-setup sur votre machine frontale

A part l'exclusion du serveur MySQL et XMLTV, la procédure de compilation de MythTV est la même que lorsque vous installez un backend et un frontal. Cependant, vous devrez installer les bibliothèques d'accès aux bases de données.

Une fois que MythTV est compilé et installé :

  • Lancez le programme mythtv-setup sur votre backend Maître. Sous le menu « général », changez l'adresse IP de la machine courante (par défaut, « 127.0.0.1 ») pour la véritable adresse IP externe - 127.0.0.1 est l'adresse de loopback et aucune machine externe ne peut y accéder. Changez la configuration IP du Serveur Maître en plaçant à nouveau la même adresse IP.
  • Exécutez le programme mythfrontend sur votre machine frontale, et un écran « Configuration de Base de données » devrait apparaître. Placez le champ « Nom d'Hôte » pour pointer sur l'adresse IP de votre backend Maitre.

<< Retour au Début

5.5 Gentoo

L'installation de MythTV sur Gentoo consiste simplement à emerger l'ebuild désiré car tous les paquets font maintenant partie de l'arbre Portage officiel.

  $ su -
  # emerge --sync # s'assure que portage est à jour.
  # vi /etc/make.conf

Ajoutez mysql dans votre variable USE. i.e. USE=“mysql …”

  # emerge mythtv

<< Retour au Début

Rédacteur : Ookaze (04/02/2008) : synchro 2007-12-27, 0.20.27

<< Page précédente Retour au Sommaire Page suivante >>

documentation/docmythtvcinq.txt · Dernière modification: 18/05/2008 (modification externe)