Table des matières

, , ,

XBMC

Xbmc est un très bon logiciel de mediacenter, vous trouverez plus d'infos sur leur site, mais dans les grands lignes il gère des bibliotheques de fichiers audio et video, permet de catégoriser ces fichiers (films, séries, musique, ….) puis ensuite d'en lancer la lecture. Il se base sur les noms de fichiers pour extraire le titre des musiques/films, les categoriser et se charge ensuite d'aller récupérer des images comme l'affiche du film, la pochette de l'album pour vous les afficher : voir screenshots.

Installation

Il existe plusieurs façons d'installer xbmc :

J'utilise deux de ces manières, qui vont donc être détaillées :

Configuration

Configuration d'une bibliothèque partagée et persistente

L'inconvénient du liveCD est qu'a priori les changements effectués dans la bibliothèque sont perdus à chaque arret/redémarrage de votre médiacenter. Fort heureusement il est possible de configurer Xbmc pour qu'il utilise une base de données MySQL externe. L'intérêt de cette solution est de pouvoir utiliser cette même bibliothèque partagée entre plusieurs mediacenter (par exemple un dans le salon et un dans la chambre), en partageant également le status lu/non lu.

Cette astuce ne fonctionne que si tous les mediacenter utilisent la meme version de XBMC (plus précisement si chacune des versions de XBMC utilisées utilisent effectivement la même version de schéma de base de donnée, par exemple cela fonctionne entre une version 12.0 Frodo et une version 12.0-rc3)

Prérequis

On va supposer dans la suite que :

Il faut bien entendu que vous adaptiez ces valeurs a votre installation/besoins.

Acces serveur MySQL

Sur votre serveur MySQL il faut créer un utilisateur disposant de droits corrects :

create user 'xbmc'@'192.168.0.40' identified by 'coincoin' ;
grant ALL on `xbmc_video%`.* TO 'xbmc'@'192.168.0.40' identified by 'coincoin' ;
grant ALL on `xbmc_music%`.* TO 'xbmc'@'192.168.0.40' identified by 'coincoin' ;
Si vous avez un 2e mediacenter il faut renouveller cette creation pour la 2e adresse IP :
create user 'xbmc'@'192.168.0.50' identified by 'coincoin' ;
grant ALL on `xbmc_video%`.* TO 'xbmc'@'192.168.0.50' identified by 'coincoin' ;
grant ALL on `xbmc_music%`.* TO 'xbmc'@'192.168.0.50' identified by 'coincoin' ;
Les amateurs auront noté que :
  1. nous n'avons pas créé de base de donnée : xbmc le fera
  2. ces droits sont violents mais ils permettent à xbmc de créer et d'utiliser à sa guise les bases de données nommées “xbmc_video*” et “xbmc_music*”, en pratique xbmc ajoute un numéro de version au nom de la base, par exemple pour la version 12 Frodo, ce numéro sera 75 pour la base vidéo

Configuration de Xbmc

Cette configuration particuliere doit s'effectuer en éditant un fichier XML, le fichier advancedsettings.xml situé sous linux dans le répertoire /home/xbmc/.xbmc/userdata/ . Il faut y ajouter la configuration des bibliotheques “<videodatabase> …</videodatabase>” et “<musicdatabase>…</musicdatabase>” suivantes (a l'intérieur des balises <advancedsettings> et </advancedsettings>).

En ajoutant nos paramètres :

On obtient donc au final un fichier complet qui chez moi ressemble à ca :

<advancedsettings>
  <useddsfanart>true</useddsfanart>
  <cputempcommand>cputemp</cputempcommand>
  <gputempcommand>gputemp</gputempcommand>
  <samba>
    <clienttimeout>30</clienttimeout>
  </samba>
  <network>
    <disableipv6>true</disableipv6>
  </network>
  <videodatabase>
    <type>mysql</type>
    <host>192.168.0.1</host>
    <name>xbmc_video</name>
    <user>xbmc</user>
    <pass>coincoin</pass>
  </videodatabase>
    <musicdatabase>
    <type>mysql</type>
    <host>192.168.0.1</host>
    <name>xbmc_music</name>
    <user>xbmc</user>
    <pass>coincoin</pass>
  </musicdatabase>
</advancedsettings>

Relancez ensuite Xbmc et ajoutez les partages réseau comme si de rien n'etait

Plugins recommandés

Un peu de ralage

C'était trop beau pour être vrai je n'avais pas encore ralé ;-)

Mais grâce a cette nouvelle version (12.x Frodo), ils ont réussi à rendre inutile / faux l'affichage des vidéos “dernièrement ajoutées” : en depuis la version 12 la date prise en compte pour ce tri n'est plus la date d'ajout de ce fichier dans la bibliothèque, ce qui parait correct, mais bel et bien la date du fichier lui même. (voir la FAQ ici). Pour corriger cela se passe dans le fichier advancedsettings.xml : ajouter <dateadded>0</dateadded> entre les balises videolibrary : au final ca peut ressembler à ca :

  <advancedsettings>
       <videolibrary>
         <dateadded>0</dateadded>
       </videolibrary>
  </advancedsettings>

Couper le signal video (hdmi) lorsque xbmc passe en mode screensaver sur Raspberry Pi

J'ai longtemps cherché comment pouvoir couper le signal video (hdmi) lorsque xbmc passe en mode screensaver, sans CEC vu que mes écrans ne gèrent pas cette nouvelle techno. Actuellement XBMC envoie un signal de noir ce qui empêche l’écran de passer en veille complètement ce qu'il fait quand il n'a pas du tout de signal.

Grace au travail d'un certain Dlinny il est possible de réaliser ca : il suffit d'installer son extension téléchargeable sur son compte https://github.com/Dlinny/script.screensaver.xbian-hdmi-off.

Le seul problème est que pour contourner un bug d'ecran qui reste noir à la reprisede l'activité, xbmc doit etre redémarré, ce qui est fait automatiquement par cet économiseur d'écran.

Pour l'installation :

testé sous Open-ELEC version 4.2 avec un ecran branché en DVI via un cable hdmi/DVI sur la Raspberry Pi

Ce qui me manque encore

Dans le(s) truc(s) dehouf qu'il faudrait que je trouve un moyen de faire :

Si vous avez des info la dessus merci de faire offre =)

References