XBMC: Centraliser la médiathèque XBMC Dharma

Si vous commencez à avoir plusieurs media center XBMC, il peut être utile de centraliser la médiathèque. Cela apporte un peu de souplesse à l’utilisation en stockant les infos des médiathèque dans une base de données centralisée a la place d’avoir une base par terminal XBMC.

Pour mémoire, XBMC est une application media center open-source pour XboX (v1), Windows, Mac, Linux et AppleTV2.

Dans mon cas, la base de donnée MySQL située sur un Home Server Red Hat CentOS 6 servant également au stockage et partage des médias pour toute la famille. Il doit être possible d’utiliser PostgreSQL, mais nous utiliserons MySQL! La procédure qui suit est valable pour la version 10 (Dharma) d’XBMC. Les choses ont un peu changés dans la version 11.

Les avantages à l’utilisation:

  • Mediathèque identique sur tous les XBMC de la maison.
  • Ne nécessite qu’un scan pour mettre à jour la médiathèque, et les autres sont à jour.
  • Permet la reprise d’un film au même endroit d’une pièce à l’autre. Par exemple, j’arrête le film dans le salon et le reprend dans la chambre, XBMC me proposera de reprendre le film à l’endroit ou je l’ai arrêté.

Il est possible d’héberger les données des librairies Vidéos (films et séries TV) et musique dans MySQL.

Configuration de MySQL

Pour la suite, je vais partir du postulat que MySQL est installé correctement sur votre distribution. On va par contre s’arrêter sur un point de la configuration. Par défaut, MySQL n’accepte que les connexions locales. Les terminaux XBMC ne seront pas capable de se connecter à la base de données et vont vraiment (mais alors vraiment) ramer! Donc c’est partie, on fait un peu de config:

Editer le fichier de configuration my.cnf (en root s’il vous plait!).

$ vi /etc/my.cnf

Commenter la ligne bind-address=127.0.0.1 (ou supprimez la, ou encore remplacer l’adresse de la boucle locale par 0.0.0.0 c’est au choix).

Connectez vous à Mysql avec un compte administrateur (le compte root de MySQL est parfaitement adapté).

Créez un utilisateur MySQL  nommé « xbmc ». Celui-ci aura le mot de passe xbmc dans l’exemple, mais vous pouvez lui donner celui que vous voulez. Le tout c’est de s’en souvenir.

mysql> CREATE USER 'xbmc' IDENTIFIED BY 'xbmc';

Une fois l’utilisateur créé, nous pouvons créer les deux bases de données:

mysql> CREATE database xbmc_video;
mysql> CREATE database xbmc_music;

La base xbmc_video contiendra les informations relatives au films et séries TV tandis que la base xbmc_music contiendra les information musicales (artistes, albums,…).

Les deux bases de données seront peuplées à la première connexion par l’un des terminaux XBMC. Il est donc inutile de créer les tables et les champs.

Il faut maintenant donner à notre utilisateur XBMC les droits sur ces deux bases. On va viser large, il peut tout faire, mais uniquement sur ces bases.

mysql> GRANT ALL ON xbmc_video.* TO 'xbmc'; mysql> GRANT ALL ON xbmc_music.* TO
       'xbmc';

Si des messages de succès ont été retournés pour chaque commande, l’utilisateur xbmc devrait avoir les privilèges adéquat sur ces bases de données. Afin de vérifier, vous pouvez lancer les commandes suivantes:

mysql> SELECT host,user from mysql.user;
mysql> SHOW DATABASES;

Configuration XBMC

Avant toute modification de laconfiguration d’XBMC, faite une sauvegarde des médiathèques. Celà permettra de faire un retour arrière plus simple en cas de problème, ou de repeupler la nouvelles base de données sans aller rechercher toutes les informations depuis Internet. Pour faire une sauvegarde, dans l’interface d’XBMC,rendez-vous dans System→Video et  System→Music. Dans chaque, cliquez sur « Export ».

Après l’export des bases de données locales, rendez vous dans le répertoire d’XBMC.

Ouvrez ou créez le fichier de configuration advancedsettings.xml, et insérez les lignes suivantes:

 

mysql
***.***.***.***
3306
xbmc
xbmc
xbmc_video
 
mysql
***.***.***.***
3306
xbmc
xbmc
xbmc_music