WikiXtof

Projet HTPC

Accueil :: SuperMenu :: Contact :: Connexion :: Vous êtes ec2-44-197-111-121.compute-1.amazonaws.com

Construire son Home Theatre PC


HTPC dans une platine CD
PC de récupAssemblage du HTPCVDR insideFreevo inside

English Version : Build Your Own Home Theatre PC (Google Translation)

Contenu de cette page


  1. Mon cahier des charges : besoins, aspirations, contraintes
  2. Recherche de solutions : Références, Articles, Expériences, Matériels, Logiciels
  3. Réalisation Matérielle : Boitier, Composants, Ventilation...
  4. Mise en oeuvre logicielle : OS, Soft TV, Drivers, Périphériques
  5. Bilan des dépenses : Combien ça va couter et combien ça coûte
  6. Bilan des résultats : Quel est le niveau de réussite actuel du projet ?
  7. ProjetHTPCaFaire : page des trucs Ă  faire

Important : Ce projet date de 2004-2005. Il est probable que les parties logicielles aient bien évolué !


Mon cahier des charges


Mes besoins


  1. Récepteur DVB avec Décodeur intégré...
  2. Magnétoscope numérique sur DD programmable à distance.
  3. Chaine de musique intégrale (tous nos CD sur un seul disque)
  4. Lecteur de Divx (avec vidéothèque intégrée sur 1 disque tant qu'à faire)
  5. Lecteur d'images (avec album photo numérique intégré sur le disque)
  6. Accès réseau sans-fil pour rapatriement de films et exports d'enregistrements vers graveur
  7. Console de jeux légère (OPTION)

Quelques aspirations


  1. Recyclage de composant PC en attente d'une vie meilleure
  2. Bricolages matériels et logiciels sous Linux
  3. Réussir une réalisation aussi soignée, voire esthétique que possible (au final, c'est tout ce que l'on voit !)

Mes contraintes


  1. Le budget, comme tous... Disons 300 Euros. Après je joue plus !
  2. Le temps... un père de famille a... une vie de famille !
  3. Le cahier des charges du Ministre de l'Intérieur : Silence absolu et "pas d'ordinateur partout" !


Recherche de solutions


Références généralistes sur le sujet



Articles et Expériences personnelles intéressantes



Matériels



Logiciels


C'est assez facile de trouver les logiciels adéquats et vu l'engouement qu'il existe sur le sujet, j'ai du déjà faire de la sélection :



Réalisation Matérielle


Le boitier


D'après les contraintes du Ministère de l'Interieur (le critère WAF en anglais : Wife Acceptance Factor), pour des raisons esthétiques, ainsi que pour le défit bricolage, j'ai choisi d'intégrer mon HTPC dans mon vieux lecteur CD Sony défaillant. Zed sur BYOPVR donne une excellente idée pour une prochaine réalisation avec le même critères, il a acheté le boitier Pioneer de son choix sur eBay parmis les vente de matériel cassé ! Un super boitier à prix dérisoire ! 0 € pour moi en tout cas.

A noter que le boitier est un des éléments clé de succés final du projet, puisqu'au final on (ma femme en particulier) ne verra plus que ça ! L'objectif est donc de ne pas complètement charcler la belle apparence du lecteur Sony d'origine : Pas de trous sur les faces avant, dessus et cotés !

Platine CD pour HTPC

J'ai donc tout vidé le lecteur CD en conservant toutes les pièces (vis, ergots et entretoises plastiques peuvent servir). J'ai joué avec les différentes parties de matos à mettre dedans pour voir comment faire rentrer le tout et, premier constat, le lecteur DVD de récup que j'avais ne passera pas avec la carte mère et satellite... Même problème que Zed donc. Même solution ? Je vais regarder les lecteurs DVD de portable.

Agencement dans le boitier

Ensuite, la hauteur étant très limitée (7,5 cm maxi), il est impossible de faire rentrer une carte PCI tel quel sur la carte mère. Zed a opté lui pour des carte PCI de demi taille et a dégagé la règlette métalique habituel. Encore faut-il trouver les bonnes cartes. Pour mes besoins, ça pourrait marcher pour une carte wifi mais je sais déjà que la carte satellite n'est pas à un format avantageux. Il me faudra donc faire appel à un renvoi de port PCI (PCI riser card en anglais). Ca se trouve à différente hauteur (il faudra choisir la bonne pour que la carte sat passe au dessus des ports parallèle et série de la CM). Celui-ci est surement trop court.

La carte mère


C'est une CM de récup d'un pseudo PC industriel (Elite GROUP ECS P61WP-FE Rev 2.0). Elle est assez compacte (19x23 cm). Ses caractéristiques sont :

Carte Mère récup

Elle a un gros défaut : elle n'intègre pas de sortie TV avec son électronique vidéo... C'est assez rédibitoire pour un projet de HTPC mais j'ai trouvé la solution suivante : un convertisseur VGA - vidéo, 69 €. Ou la version fait maison... bof.

Comme le coût est significatif, mieux vaut étudier une solution PCI (pas de port AGP !!) ou une autre carte mère+cpu+RAM. 2 pistes donc :

VIA EPIA Hollywood+ DXR3

Par ailleurs, la solution Hollywood Plus oblige Ă  utiliser les 2 connecteurs PCI avec la carte satellite (voir plus bas). Comme mon boitier ne fait que 7,5 cm, il faut donc 2 renvois PCI...

On trouve des tas de trucs, mais c'est généralement à l'envers pour moi : je voudrais les cartes PCI coté CPU. J'ai trouvé l'idéal : le PCI riser card souple ! Entre 20 et 30$ mais chiant à obtenir aux US. Et le moins qu'on puisse dire c'est que ça dur à trouver en Europe ! J'ai longtemps buté la dessus !

PCI riser card with ribbon

Voici un paquet de sources qui ne peuvent malheureusement pas me livrer (à un prix raisonnable) : demande un "International Wire Transfer". 1 2 3 4 5 6. Incroyable, dire que j'ai cherché ça pendant plusieurs jours sans trouver d'autres sources qu'aux US alors qu'il y en a sur ebay en Allemagne ! Sauvé ! Je ne vais pas être obligé de les fabriquer moi-même.

Attention : une fois l'assemblage matériel terminé, j'ai découvert que tout le hard se bloque lorsque j'utilise la carte DVB-S sur son riser (elle est détectée, pilotée, fonctionne mais dés que la charge arrive, tout plante. Linux 2.4.20 bloqué). Sans son Riser, tout marche bien ! Par chance, j'ai trouvé la solution : il faut blinder la nappe du riser ! Sinon elle subit trop de perturbations, j'imagine à cause du tuner DVB (puisque c'est lié à la charge). Photo du bricolage ci-dessous.

Blindage PCI riser

CPU


Il est existant sur la CM récupérée. C'est un Céléron 660 MHz avec un ventilo super bruyant.
C'est suffisant pour décoder le MPEG2 ou DivX en logiciel. Comme ce HTPC est dédié à la TV numérique, le flux TV arrive direct en MPEG2 et il n'y a pas d'encodage à gérer pour enregistrer un programme !
Par chance, cela suffit à décoder les chaines (20% de CPU)... à condition de décoder le MPEG2 en hardware. C'est du vérifié par un ami. Ca conforte le bon choix de la carte DXR3 de décodage MPEG2 ci-dessus.

RAM


De base, il y a 128 Mo sur la CM en SDRAM. C'est pas sur que ça suffise pour des jolies choses comme le timeshift avec décodage... Je dois pouvoir monter à 192 Mo ou 256.

Disque Dur


J'ai un 20 Go de récup. C'est un Seagate et il est très bruyant. Je prévois d'investir dans un 120 Go pour pouvoir stocker toute ma musique, mes Divx et pouvoir enregistrer la TV à loisir. A priori 7200 rpm et 8 Mo de cache parce que là ça compte.

Le critère principal est le silence. Manifestement le Seagate 120 Go est plébiscité par tout le monde, en particulier pour son silence (87 €). Finalement ce sera un 160 Go à 105 € (le meilleur rapport Volume/Prix est actuellement).

L'alimentation


Ce petit PC industriel de récup a l'avantage d'une petite alim qui se loge assez bien dans mon Lecteur Sony. Par contre, il ne fait que 200W ! C'était suffisant pour la CM+CPU+DD en place mais avec un lecteur de DVD en plus... à voir.

Lecteur DVD


Malheureusement un lecteur de récup 5,25'' standard ne rentre pas avec le reste. Je vais étudier la question d'un lecteur "plat" type portable. Direction eBay. Sauf que sur ebay, y'a pas grand chose et en plus il faut prévoir un adaptateur vers IDE standard et c'est pas donné non plus...

Autre piste : tant qu'à dépenser des sous, autant prendre un beau modèle bien adapté. Le site marchand spécial HTPC cité plus haut propose des trucs sympas :
Sauf que pourquoi faire un graveur ! J'ai déjà 3 graveur dont 2 DVD+-RW !

DVD format mince + Adaptateur IDE

Carte Satellite


Hauppauge Nova-S

Matériel de récupération : Hauppauge DVB-S Nova

Super classique des cartes entrée de gamme, elle est du coup très courante et bien supportée, en particulier sous Linux. Et donc par VDR.

Carte hollywood Plus


Hollywood+ DXR3

C'est donc la solution "TV-out" et "décodage MPEG2 facile" que j'ai retenu.

Récepteur Infrarouge


Il y avait déjà un récepteur infrarouge sur la façade de la platine CD d'origine. Le truc intelligent consiste évidemment à essayer de le récupérer ! Et là il faut mettre les doigts dedans (l'électronique)... Je pars donc de ça :

IR Face IR Pile
Un récepteur Sharp GP1U52XB...

Et il faut que j'arrive à ça :

Schéma récepteur IR

Trouvé sur http://www.lirc.org/receivers.html où on trouve toute les explications pour brancher le tout sur le port série. Y'a plus qu'à comme dirait l'autre...
Avec quelques soudures de bourin, j'arrive à ça, qu'il me reste à raccorder au port série...

IR

Ventilation et écoulement d'air


Le problème est crutial pour remplir un des critères du WAF : le silence. Il faut bien refroidir sans faire de bruit.


Zalman Ă  ventilation horizontale

Zalman dans le HTPC




Ecran LCD


Fin du fin, j'ai intégré aussi un écran LCD. Il se branche sur un port série de la CM.

LCD


Intégration des éléments


Tout d'abord, j'ai vidé le contenu de la platine CD d'origine :

Platine CD d'origine

En jouant avec les composants, je suis arrivé à définir la place de chacun :

Disposition

Ensuite j'ai joué du Dremel sur la façade arrière pour fixer et faire sortir le nécessaire de la Carte Mère et de l'Alim. Le trou octogonal, c'est ce que j'ai trouvé de plus facile à faire au dremel pour le ventilateur de l'alim et pour la CM, c'est plus facile, il y a un "cadre" rectangulaire d'origine qui laisse apparent tous les connecteurs.

Dremel party

Quelques trous supplémentaires pour le disque dur, remplacement du Rad CPU :

DD et Rad

Remplacement de l'écran CD d'origine par le LCD récupéré :

remplacement du LCD

Raccordement des boutons de la façade d'origine sur ceux du LCD :

raccordement des boutons

Transformation du commutateur Power d'origine en un simple contacteur (rien qu'un petit ressort Ă  retirer avec de bons yeux !) pour raccordement Ă  la CM :

bouton power

Voici les fameux renvois PCI souples si difficiles Ă  trouver (et si chers !) qui me permettent de mettre les cartes PCI Ă  l'horizontale lĂ  oĂą je veux !

riser PCI souple

carte PCI Ă  leur place

J'ai du blinder les nappes des riser avec de l'alu de cuisine pour qu'ils ne choppent pas toutes les saletés électromagnétiques générées par la carte satellite qui faisait planter la machine !

Riser PCI souples blindés au papier alu !

test blingage riser

Perçage du panneau arrière pour la connectique des cartes PCI Satellite et MPEG2-TV

perçages arrières

Positionnement de ventilateurs pour un bon écoulement d'air :

Ventilo CPU

L'ensemble enfin assemblé et fermé ! Objectif WAF atteint !

Boitier HTPC finalisé



Mise en oeuvre logicielle


Sur le papier (le web !), les orientations décrites au début semblaient attrayante, la pratique montre que c'est effectivement bien le cas. A condition de s'acharner un peu !

En termes d'ergonomie et de fonctionnalités pour un HTPC, Freevo a largement ma préférence. Comme l'explique bien un post, Freevo est une interface qui sert à lancer des outils spécialisés dans chaque fonction. Or pour la réception, le décodage et l'enregistrement DVB, VDR est le meilleur outil apparemment. L'objectif est donc d'intégrer VDR dans Freevo !

Il faut donc une distrib faisant fonctionner Freevo et VDR et ensuite trouver comment intégrer l'un dans l'autre (VDR dans Freevo semble-t-il). Je commence par VDR car j'ai vu des résultats excellents sur le matériel que j'ai choisi.

Le contenu de cette partie est le suivant :


Linux


La distrib est une Debian, facile Ă  mettre Ă  jour et personnaliser.
Le noyau sera un 2.4.26 parce qu'il y a des pb de compatibilité de soft en 2.6 (voir plus loin)

Notes de compile noyau :


Pilote Carte DXR3 Hollywood+


http://dxr3.sourceforge.net/
Installation du driver em8300-0.14.0 :
tar...
ln -s em8300-0.14.0/ DXR3
cd DXR3
apt-get install g++ (il me manquait ça pour le configure)
./configure
make
make install (je ne sais plus !?)
cd modules
make
make install
make devices
depmod -a
./ldm (chargement des modules pour voir si ça crie)
lsmod

Pour tester si la carte fonctionne, voir la partie Freevo avec le test de Mplayer.

J'ai rencontré un problème en inversant la position de la carte DXR3 avec la DVB sur les ports PCI. Pour le régler, j'ai découvert une commande magique qui a tout remis dans l'ordre :
htpc:/usr/local/src/DXR3/modules# em8300setup
Microcode uploaded to /dev/em8300-0
Current settings are:
Video Aspect Audio Spu
PAL 4:3 ANALOG OFF



Pilote Carte DVB-S Hauppauge Nova


Pour une fois j'en ai pas trop chié !
J'ai installé celui-ci : http://www.linuxtv.org/download/dvb/linuxtv-dvb-1.1.1.tar.bz2
cd /usr/local/src
bzip2 -d linuxtv-dvb-1.1.1.tar.bz2
tar xf linuxtv-dvb-1.1.1.tar
rm linuxtv-dvb-1.1.1.tar
cd linuxtv-dvb-1.1.1
Lire le README et faire tout comme ils disent !
make
./MAKEDEV-DVB.sh
ln -s linux/include include
cd build-2.4
make
make install
depmod -a
./insmod.sh load
Apparemment j'ai tout bon d'après lsmod et dmesg. Pour une fois...

Après j'installe aussi les applis qui vont avec : http://www.linuxtv.org/download/dvb/linuxtv-dvb-apps-1.1.0.tar.bz2
cd /usr/local/src
bzip2 -d linuxtv-dvb-apps-1.1.0.tar.bz2
tar xf linuxtv-dvb-apps-1.1.0.tar
rm linuxtv-dvb-apps-1.1.0.tar
cd linuxtv-dvb-apps-1.1.0
make



VDR


Article d'install en français, mais attention c'est avec une DVB-S Nexus qui décode le MPEG2 (donc pas de DXR3) et qui nécessite un firmware et un patch "root" pour le SC non requis pour moi.

Je compte capitaliser sur un gros travail accompli sur la mise en oeuvre de VDR par un ami.
Pour que ça se passe bien, il faut déjà sur les drivers précédents soit OK.

L'utilisation d'une carte DXR3, impose l'utilisation du PLUGINS dxr3. Au vue de certain post sur le forum DVBkivabien, ce plugins rentre en conflit avec un patch rendant l'interface vdr "more beautiful"
Ci dessous quelques liens "kivontbien" en esperant que certain répondent aux chtites questions ....

Installation de vdr-1.3.12-36Pack : il faut patcher éventuellement certains truc mais normalement tout y est dans le 36Pack :

tar jxvf VDRconf.tar.bz2 (Ă  la racine)
cd /usr/local/src
tar jxvf vdr-1.3.12-36Pack.tar.bz2
ln -s vdr-1.3.12-36Pack/ VDR
cd VDR
make
make IRDETO=1 SECA=1 VIACCESS=1 NAGRA=1 CONAX=1 SHL=1 SC_SECA=1 SC_CRYPTOWORKS=1 SC_IRDETO=1 SC_CONAX=1 CARDCLIENT=1 VDRRIP_DVD=1 NEWSTRUCT=1 plugins (tous ces plugins ont été patché sur VDR avant. 3-6, l'auteur du pack avec tous les modules pré-patchés me fait remarqué fort justement que le Makefile est déjà modifié pour intégrer toutes ces options des plugins make plugins devrait suffire donc)
./runvdr

Là, ça raconte plein de choses et vous savez assez vite si les modules DVB ou DXR3 sont bien installés, chargés etc et si la conf VDR (VDRConf) est correcte.

Installation de vdradmin-0.96 :
tar ...
ln -s vdradmin-0.96 vdradmin
cd vdradmin
more INSTALL
apt-get install libcompress-zlib-perl (il me manquait un truc pour le script suivant)
./vdradmind.pl --config
/etc/init.d/vdradmin start (vdradmin dant init.d pompé sur un ami)

Pour info, mon PC win2000 P3 850 décode via ProgDVB un flux MPEG2 en soft à env. 40% de CPU et un flux crypté en 90 à 100% de CPU ! Pour faire basique, on dit que le décryptage fait 60% d'un P3 850 donc ça devrait passer juste sur un Cel. 660 sans le décodage MPEG2... allez on y croit !

Précision : finalement, l'archi HTPC retenue ici (Cel 660 + DXR3 & Linux + VDR) décode et décrypte un flux sat à 20% de CPU ! Le décodage MPEG2 étant confié au hardware de la DXR3. Fabuleux non ?

Le Manuel d'utilisation, ça peut servir ;-)

Installation de plugins dans VDR :
Le gros avantage du Pack36? utilisé c'est qu'il contient déjà un lot exhaustif de tout ce que l'on peut rêver de plugins pour VDR ! Et la cohérence des versions avec VDR est assurée (Chapeau bas à l'auteur). Il suffit donc de faire un lien dans VDR/PLUGINS/src/ de "leplugin" vers "leplugin-x.y.z" pour qu'il soit compilé par make plugins. Ensuite, l'intégration du plugin se jour dans runvdr, par exemple pour moi :
VDRCMD="$VDRPRG -w 20 -s /usr/local/src/VDR/vdrshutdown -c /VDRConf $* \
Voilà, ensuite, j'ai traité des fonctions voulues dans les parties spécifiques plus bas.

Convertir les enregistrements VDR en DVD ou Divx :
Apparemment tout est prévu par le plugin vdrconvert. A creuser :
Sinon, il y a aussi un script qui fait ça, mais qui n'est pas intégré à VDR : http://vdrsync.vdr-portal.de/

Programmes TV sur 7 jours dans l'EPG VDR :
Le logiciel magique pour ça s'appelle XMLTV. Il y a une intégration pour VDR assez réussie :
http://vdr.bluox.org/index.php?page=telecable
A creuser



Freevo


Tutoriaux d'installation Freevo :

Support de l'Hollywood+/DXR3 dans Freevo :

Installation de Freevo 1.5 :
Je ne me suis pas trop foulé pour l'installation de Freevo sous Debian parce qu'il existe des paquets tout faits...
J'ai ajouté les sources suivantes à mon fichier /etc/apt/sources.list :
deb ftp://ftp.nerim.net/debian-marillat/ unstable main
deb http://freevo.sourceforge.net/debian unstable main

Ensuite j'ai installé les paquets suivants qui ont entrainés des tonnes de dépendances (sans pour autant m'installer tout X11) :
apt-get update && apt-get install freevo mplayer-686 libdvdcss2 w32codecs libdvdcss mplayer-doc unzip mplayer-fonts
Voilà, avec ça il ne manque rien (notamment au niveau de Python) pour que ça marche, c'est toute la puissance de Debian !

Configuration de Freevo :
Quand même, on ne peut pas échapper à tout le boulot. Le paquet Debian Freevo vient avec quelques questions de configurations (que l'on retrouve en faisant un petit dpkg-reconfigure freevo) mais ça ne suffit pas pour ne pas avoir d'erreur au lancement de freevo.
Il faut donc aller dans les 2 fichiers de config important : freevo.conf (facile) et local_conf.py (moins facile) dans /etc/freevo. Quelques pistes sont fournies pour la Biboobox mais ça ne correspond pas à ma config DXR3. Voici comment tout vérifier et configurer pour cette carte TV.

Pour tester la carte DXR3 avec Mplayer déjà (visu de vidéo, ce qui est mon but avec Freevo), il suffit de lancer :
mplayer -vo help (donne la liste des drivers vidéo et DXR3/H+ doit y être)
mplayer -vo dxr3 ma_video_de_test.mpg (mpg, ça passe tout seul sur la DXR3 mais .wmv et Divx/Xvid il faut moultes codecs)
mplayer -ao oss://dev/em8300_ma-0 mon_fichier.mp3 (permet de tester la sortie audio de la DXR3, et les 2 options ao et vo pour combiner audio et vidéo via la dxr3 évidemment !)

Il faut aussi suivre la partie 6 de la page http://freevo.sourceforge.net/cgi-bin/moin.cgi/Dxr3Page pour le fichiers de conf Freevo :
Dans freevo.conf
display = dxr3
geometry = 720x576

Et dans local_config.py
MPLAYER_AO_DEV = 'oss://dev/em8300_ma-0'
(pour le son en sortie de la DXR3)

Ensuite, il faut aussi que Freevo affiche son interface via SDL sur la DXR3. Si en lançant Freevo, vous avez un truc qui finit par ça :
htpc:/etc/freevo# freevo
File "/usr/lib/python2.3/site-packages/freevo/osd.py", line 379, in init
pygame.display.init()
pygame.error: No available video device


C'est qu'il manque le support DXR3 dans SDL !

Voici comment rectifier ça ! Suivre à la lettre les instruction de la page http://freevo.sourceforge.net/cgi-bin/moin.cgi/Dxr3Page notamment la partie 4. Et attention, ce n'est pas une bêtise que SDL 1.2.6 ne compile avec les patch DXR3 qu'avec ffmpeg 0.4.6. Marche pas avec 0.4.8. Voici les commandes que je passe :

cd /usr/local/src
cvs -d :pserver:guest@libsdl.org:/home/sdlweb/libsdl.org/cvs login
cvs -z3 -d :pserver:guest@libsdl.org:/home/sdlweb/libsdl.org/cvs checkout SDL12
cd SDL12
patch -p1 < /home/htpc/freevo-1.5.2/contrib/rpm/SDL-1.2.6-nokeyboard.patch
patch -p1 < /home/htpc/freevo-1.5.2/contrib/rpm/SDL-1.2.6-dxr3-ffmpeg.patch

Le second patch rate sur une modif, mais il suffit d'ajouter Ă  la mano la ligne CheckDxr3Video? lĂ  oĂą il faut dans configure.in au delĂ  de la ligne 1800 (voir configure.in.rej).
cp /usr/local/src/ffmpeg-0.4.6/libavcodec/avcodec.h src/video/dxr3/
cp /usr/local/src/ffmpeg-0.4.6/libavcodec/avcodec.h src/video/dxr3/
./autogen.sh
./configure
make
make install


Après ça j'ai eu encore un petit problème. J'avais un conflit entre les install Debian dans /usr/lib et les install SDL dans /usr/local/lib. Typiquement :
/usr/lib/libSDL-1.2.so.0
/usr/lib/libSDL-1.2.so.0.7.0
/usr/local/lib/libSDL-1.2.so.0
/usr/local/lib/libSDL-1.2.so.0.7.1

et
/usr/lib/libavcodec.so.0.4.9-pre1
/usr/local/lib/libavcodec.so

J'ai donc créé 2 liens dans /usr/lib (là où le Freevo Debian cherche ses librairies) vers les lib de SDL dans /usr/local/lib :
ln -s /usr/local/lib/libSDL-1.2.so.0 /usr/lib/libSDL-1.2.so.0
ln -s /usr/local/lib/libavcodec.so /usr/lib/libavcodec.so


Avec tout ça, ça marche !


Résumés et Affiches des films :

Pour que ce soit plus joli et interessant :
http://www.lahiette.com/biboobox/forum/viewtopic.php?t=135



Intégration de VDR dans Freevo :

Pas trivial. L'idée semble être d'avoir les 2 qui marchent en même temps mais en gros il faut 2 choses :

1. que Freevo contrôle VDR... Pour cela, il y a une librairie Python-VDR faite exprès !

2. que Freevo "affiche" la vidéo de VDR !!! Pour cela malheureusement, j'ai l'impression qu'il n'y a que la solution via Xine... et Xine c'est X11 ! Donc c'est pas pour moi !


Média : Organisation des fichiers multimédia


J'ai suivi les conseils d'organisation de la Biboobox et j'ai créé un utilisateur "media" avec son répertoire :

media@htpc:~$ pwd
/home/media
media@htpc:~$ mkdir video
media@htpc:~$ mkdir music
media@htpc:~$ mkdir photo
media@htpc:~$ mkdir games
media@htpc:~$ ls
games music photo video


Pour les MP3 en particulier, mĂŞme source de sages conseils : /home/media/music/groupe/album


LIRC


Aussi bien Freevo que VDR s'interfacent avec LIRC. Il faudra juste voir comment partager la télécommande. Mais je crois que le plug-in VDR de Freevo doit gérer ça.

Installation de LIRC sous Debian
Mes sources d'inspiration sont issues du site officiel (bof) et d'autres tutoriaux ici pour l'install générale et là pour la reconfig de la télécommande. Mais aucun des 2 ne correspond à mon install Debian. Finalement, un autre tuto m'a bien éclairé.
Pour éviter de merder comme moi, déjà il faut que les pilotes noyau des ports série soient en modules et non intégrés. Il faut aussi que vous ayez une cohérence entre le noyau visé (2.4.26 pour moi) et l'arborescence des modules utilisés (/lib/modules/2.4.26) pour lancer lirc et avoir le driver lirc_serial.o à la bonne place. J'ai cherché longtemps avant decomprendre que j'étais bloqué parce que je tournais sur un 2.4.25-1-386 et j'installais lirc pour mon noyau 2.4.26 et qui cherchait son driver dans /lib/modules/2.4.25-1-386 alors qu'il était là : /lib/modules/2.4.26/misc/lirc_serial.o ! Bref, attention de ne pas tout mélanger.
En tout cas, à force de merdoyer et tourner en rond, je pense dégager les étapes suivantes.
apt-get install kernel-sources-2.4.xx etc Il vous faut ça avec un .config obligatoirement (recompile ou pas)
apt-get install kernel-package
apt-get install lirc lirc-modules-source
A la config des paquets, j'ai dit oui Ă  tout en gros.
Ensuite il faut quand mĂŞme compiler les modules Ă  la mano parce que le paquets des lirc-modules-source se contente de mettre un /usr/src/lirc-modules.tar.gz
debian/rules binary-modules
Ca crée un paquetage avec les modules binaires cette fois (attention d'avoir les sources du noyau bien installés dans /usr/src/linux en général). Et ensuite il faut installer ce nouveau paquet !
dpkg -i /usr/src/linux/../lirc-modules-2.4.26_0.6.6-7+Custom.1.00_i386.deb
Si tout cela ne marche pas, il faut tourner sur ces étapes en lisant les doc en README.Debian dans les répertoires /usr/share/doc/lirc et lirc-modules-source et les dpkg-reconfigure lirc
Les fichiers de conf des télécommande déjà connues sont dans /usr/share/lirc/remote (ou bien http://lirc.sourceforge.net/remotes/) et il faut copier la conf dans lircd.conf
cp /usr/share/lirc/remotes/sony/RM-D690 /etc/lirc/lircd.conf

J'ai finalement obtenu les fichiers suivants Ă  force de reconfig :

htpc:~# more /etc/lirc/hardware.conf
# /etc/lirc/hardware.conf
# Arguments which will be used when launching lircd
LIRCD_ARGS=

#Don't start lircmd even if there seems to be a good config file
#START_LIRCMD=false

#Try to load appropriate kernel modules
LOAD_MODULES=true

# Run "lircd --driver=help" for a list of supported drivers.
DRIVER="default"
# If DEVICE is set to /dev/lirc and devfs is in use /dev/lirc/0 will be
# automatically used instead
DEVICE="/dev/lirc"
MODULES="lirc_serial"

# Default configuration files for your hardware if any
LIRCD_CONF=
LIRCMD_CONF=

htpc:~# more /etc/lirc/lirc-modules-source.conf
# lirc-modules-source config file used by Debian GNU/Linux

# Coma separated list of lirc kernel drivers to build
LIRC_MODULES="serial"

# Serial module configuration
LIRC_SERIAL_PORT="0x3f8"
LIRC_SERIAL_IRQ="4"
LIRC_SERIAL_CFLAGS=" -DLIRC_SERIAL_SOFTCARRIER"

# Sir module configuration
LIRC_SIR_PORT="UNCONFIGURED"
LIRC_SIR_IRQ="UNCONFIGURED"
LIRC_SIR_CFLAGS="UNCONFIGURED"

# Parallel module configuration
LIRC_PARALLEL_PORT="UNCONFIGURED"
LIRC_PARALLEL_IRQ="UNCONFIGURED"
LIRC_PARALLEL_TIMER="UNCONFIGURED"


On peut tester sa télecommande et son récepteur avec :
mode2 -d /dev/lirc
pulse 85
space 431
pulse 189
space 443
pulse 273
space 975
pulse 509


Ensuite si la config de la télécommande est correcte dans lircd.conf alors on obtient carrément la liste des touches pressées :
htpc:/etc/lirc# irw
0000000000000268 00 PLAY RM-D690
00000000000004e8 00 PAUSE RM-D690
0000000000000168 00 FF RM-D690
0000000000000348 00 OPEN RM-D690


Si vous avez "Connect: connection refused" c'est que lircd n'est probablement pas lancé (échec à cause de mauvaise conf dans hardware.conf pour moi au début).

LIRC avec Télécommande et récepteur Pinnacle sous Debian
J'ai aussi une telecommande Pinnacle et son récepteur série dédié et ça marche assez directement sous Debian via la config du package
  1. Installation de lirc apt-get install lirc
  2. Configuration de lirc dpkg-reconfigure lirc : selection de la telecommande Pinnacle PCTV dans le sous menu other
  3. Test de la telecommande irw : le code touche apparait sur l'ecran lorsqu'on presse une touche de la telecommande
  4. Prise en compte ss VDR : recompilation de VDR : cd /usr/local/src/VDR ; make clean ; make plugins-clean + modification du fichier compile : faire un make REMOTE=LIRC VFAT=1 avant de compiler les modules
  5. Relance VDR et il demandera de paramétrer les touches de la telecommande... ou pas.

Remarques :
a / Pas besoin du plugins remote, le lien ne doit pas etre present ss peine de merde :o)
b / Pas besoin de supprimer le fichier remote.conf determinant les association clavier .....

Pour creuser encore :
http://www.musicpd.org/mpd-lirc-howto/mpd-lirc-miniHOWTO.html#lirc_configuration
http://www.byopvr.com/Sections+index-req-printpage-artid-6.html
http://www.sllug.org/how-to/linux-htpc/lirc.html

Configuration de LIRC pour VDR
Une fois que LIRC fonctionne avec la télécommande voulue, l'avantage c'est que c'est tout facile de l'intégrer avec VDR.
Supprimer (ou renommer) le fichier de config :
rm /usr/local/src/VDR/remote.conf
Maintenant lancer VDR et il va demander d'appuyer sur les touches de la télécommande pour chaque fonction.



LCDproc


Il faut évidemment commencer par faire marcher LCDproc avec mon LCD.
Pour cela, il faut télécharger LCDproc-0.4.3 et un patch pour mon cas. Détar des 2 packages, patch, compile et install :

patch -p1 < lcdproc-0.4.3-bluebox.patch
cd lcdproc-0.4.3
./configure --enable-drivers=bluebox
make ; make install

Mon fichier de config fonctionne avec la seule spécificité suivante :
#[server]
# Server section with all kinds of settings for the LCDd server
Driver=bluebox

A intégrer ensuite avec Freevo (dispo) et VDR (dispo). A suivre...

Intégration de LCDproc dans VDR
C'est con comme la lune, il suffit de compiler le plugin lcdproc-0.0.10 (pour moi) et ajouter dans le script runvdr le lancement du plugin avec la ligne habituelle :
-Plcdproc
Et ça marche du tonnerre !



Jeux


A intégrer dans Freevo avec les bons ajouts : http://freevo.sourceforge.net/cgi-bin/moin.cgi/DocumentationPage_2fGameEmulators
Apparemment, c'est pas gagné...

Petite doc en français : http://www.lahiette.com/biboobox/?Freevo/Les+jeux
Mais il faut X11 et/ou SDL...
A creuser :


MP3


Les MP3 dans VDR :
Il y a évidemment le plugin qui va bien : http://www.muempf.de/
Sa compilation repose sur un certain nombre de librairies. voici sous Debian :
apt-get install libmad0 libmad0-dev libvorbis0a libvorbis-dev libvorbisfile3 libid3tag0 libid3tag0-dev (idem ogg, et plein de choses qui viennent avec mplayer)
make plugins (dans le répertoire VDR)
Et dans runvdr : -P'mp3 -m /VDRConf/mount.sh' en supplément des autres plugins.

Les MP3 dans Freevo :
Facile apparemment : http://www.lahiette.com/biboobox/?Freevo/Les+MP3


Il faut veiller Ă  bien organiser ses MP3/OGG.

Un plus serait le RIP de CD avec accès CDDB... A creuser.


Images


Tout aussi simple dans Freevo aussi : http://www.lahiette.com/biboobox/?Freevo/Les+images
Creuser les diaporamas.

Personnalisation générale


Freevo peut être personnalisé. Encore de beaux tutoriaux : http://www.lahiette.com/biboobox/?Freevo/Les+skins



Réseau WiFi


Intégration d'une interface WiFi USB : peut-être ExtenseWiFiUSB


Bilan des dépenses


Prix prévisionnels. Prix effectif d'acquisition.


Total : 284 €

C'est limite sur le budget mais ça passe avec la totale !


Bilan des résultats obtenus


Je repars du cahier des charge et je note de 0 Ă  5 :

  1. Récepteur DVB & Décodeur : 4 Avec VDR : ça marche mais il y a encore un point de potentiel sur Astra...
  2. Magnétoscope numérique programmable à distance : 5 Avec VDR c'est du tonnerre de dieu !
  3. Chaine de musique intégrale : 3 branchement sur la TV combi assez pourri pour la musique et RIP MP3 pas encore automatisé
  4. Lecteur de Divx (avec vidéothèque sur DD) : 5 (c'est pas compliqué, Mplayer lit tout via VDR ou Freevo !)
  5. Lecteur d'images (avec album photo numérique sur DD) : pas encore au point, à voir via Freevo
  6. Accès réseau sans-fil : 3 OK avec un AP client branché sur l'Ethernet, wifi USB NOK pour l'instant
  7. Console de jeux légère : pas encore au point, à creuser via Freevo
  8. Recyclage de composants PC : 5 très peu d'achats !
  9. Bricolages matériels et logiciels sous Linux : 5 ça m'a pris un temps fou aussi bien au niveau hard que soft mais le résultat est là et je me suis bien amusé ! Et c'est pas fini !
  10. Réussir une réalisation soignée, voire esthétique : 5 N'ayons pas peur, je suis très fier du résultat ! Ma platine CD est comme elle était... sans CD mais avec tout le reste !
  11. Le budget, comme tous... Disons 300 Euros. 4 250 euros !
  12. Le temps... un père de famille a... une vie de famille ! 2 Mon projet à commencé en juin 2004 soit 8 mois à un rythme d'escagot !
  13. Silence absolu et "pas d'ordinateur partout" ! 4 mon HTPC ne ressemble pas à un ordinateur et il ne fait quasiment pas de bruit. Il est dans la chambre, allumé 24h/24 et on entend juste un peu les 2 ventilos. Mais pour que mon épouse l'accepte, c'est qu'on ne l'entend quasiment pas !
  14. Gestion de la télécommande : 4 J'aurais du mettre ça dans le cahier des charge d'origine car c'est primordial à l'usage. Ca marche tip top, mais il a fallu en essayer plusieurs pour trouver la meilleure question ergonomie des touches et fonctions

Si je devais améliorer ou changer quelque chose lors d'un autre projet :
  1. D'entrée de jeu, je prévoirais un boitier plus grand et surement plus simple à intégrer pour une meilleure évolutivité de l'engin (le Cavalier 2 est bien pour son prix). J'ai d'autres idées maintenant mais tout est figé au niveau hardware. VDR par exemple supporte plusieurs cartes satellite, cela pourrait permettre d'enregistrer et regarder autre chose simultanément. Pourquoi pas du TNT ou Analogique en parallèle ? Une carte wifi PCI aurait été plus simple aussi. Un gros lecteur/graveur DVD ne rentre pas non plus dans mon boitier.

Il y a 2 commentaires sur cette page. [Afficher commentaires/formulaire]

Notice: Undefined index: menu_page in /var/www/vhosts/xtof.ouvaton.org/httpdocs/actions/footer.php on line 103