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 :
- installer xbmc depuis votre distribution
- utiliser un liveCD fourni ici http://xbmc.org/download/
- utiliser une distribution spécialisée qui integre xbmc en y ajoutant ses plugins, themes et autres personalisations comme par exemple l'excellent OpenELEC
J'utilise deux de ces manières, qui vont donc être détaillées :
- liveCD c'est la methode la plus simple (mais comme c'est trop simple de graver un CD, j'utilise un liveCD en boot PXE, voir les details sur cette page ;p)
- distribution spécialisée XBian qui est une distribution spécialisée pour Xbmc sur Raspberry Pi
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.
Prérequis
- Disposer d'un serveur MySQL qui tourne sur une machine qui doit idealement rester allumée tout le temps (par exemple votre NAS)
- Partager vos fichiers multimédias de telle facon que chacun des mediacenter puisse y accéder de la même maniere (partage réseau samba, NFS, uPnP, …)
On va supposer dans la suite que :
- le serveur MySQL utilise l'IP 192.168.0.1 (on prefere ne pas utiliser de noms DNS meme si disponible pour des raisons de performance xbmc)
- les mediacenter utilisent les adresses IP 192.168.0.40 et 192.168.0.50
- le mot de passe d'acces a la base de données est “coincoin”
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' ;
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' ;
- nous n'avons pas créé de base de donnée : xbmc le fera
- 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 :
<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>
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
- Missing Movie Scanner pour savoir quels sont les fichiers qui n'ont pu être importés dans la bibliothèque (erreur de match du titre par exemple). Ce plugin fonctionne comme son nom l'indique sur les films, mais aussi comme il ne l'indique pas sur les séries . Ce plugin peut également être téléchargé directement sur http://code.google.com/p/xbmc-missing-movie-search/
XMBC subtitles pour rechercher rapidement des sous titres. L'installation se fait simplement via le bouton sous titre de l'OSD lors d'une lecture. Il faut ensuite lui indiquer un répertoire qu'il utilisera pour télécharger/lire les sous titres si vous ne voulez pas qu'il dépose ces fichiers à coté des films/séries.ce plugin fait maintenant partie intégrante de xbmc- XMBC Check Previous Episode qui vous avertit si vous tentez de lire un épisode d'une série alors que vous n'avez pas l'episode précédent dans votre médiathèque ou vous ne l'avez pas vu. A noter que cela ne fonctionne pas dans le cas d'episodes manquants a la fin d'une saison par exemple :/ .
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 :
- copier ce fichier sur la Raspberry Pi par exemple dans le homedir de votre utilisateur xbmc : vous devriez savoir faire
- aller dans les parametres de xbmc pour installer une nouvelle extension “depuis un fichier zip” et selectionner ce fichier
- aller ensuite dans les parametres xbmc pour choisir l'economiseur d'ecran “HDMI Off” fraïchement apparu
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 :
- Trouver un moyen (avec des tags ???) de pouvoir différencier les films en VF des films en VO (des films multi-langues en plus éventuellement). Actuellement la séparation est en grosse partie faite par des sources distinctes VF/VO et la langue associée dans le scrapper. Idem pour les séries aussi bien sur
Si vous avez des info la dessus merci de faire offre