Une des raisons du succès du Raspberry pi est certainement son GPU qui lui permet de lire des flux vidéo de toute sorte et notamment en HD 1080p. Associé à un logiciel opensource comme XBMC il fait office de mediacenter performant à un prix plus que raisonnable.
J’avoue, c’est l’utilisation principale que je fais de cet appareil. Bien qu’ayant une XBOX et une télé capable de lire les mkv, je suis toujours époustouflé par les capacités et les fonctionnalités de XBMC sur le Raspberry. Certes c’est du luxe, mais à un prix dérisoire
Et cerise sur le gâteau (ou devrais-je dire la framboise ?), la mise en oeuvre de cette pépite qu’est XBMC est à portée de tous ; nul besoin de connaissance informatique, de taper des commandes absconses pour l’installer et le paramétrer. XBMC c’est la killer app du Raspberry Pi. Et la framboise pour les nuls. Que du bonheur !
Mais d’abord c’est quoi XBMC ?
XBMC est une application de media-center, soit un lecteur multimédia évolué. En plus de pouvoir lire tous les formats vidéo, images et musique (même les fichier .ts HD en 1080p enregistrés sur la freebox) il va gérer une bibliothèque de toutes les ressources en extrayant certaines informations des fichiers et en récupérant des ressources complémentaires sur internet. A l’écran, au lieu de n’avoir que les noms de fichier on a aussi les jacquettes de film, des bannières pour les séries et des fonds d’écran personnalisés (ce qu’on appelle les fanarts). Il affiche aussi sans vergogne les résumés, les genres, les acteurs et d’autres informations plus techniques comme la résolution, les codec utilisé etc. Tout ça dans une interface claire et des effets stylisés du plus bel effet.
XBMC peut lire des fichiers en local ou sur le réseau. Sur le Raspberry Pi on peut mettre les fichiers en local via une clé USB ou un disque dur externe branché sur l’un des ports USB. Personnellement j’utilise mon NAS (un DNS-320) et un disque dur externe. D’ailleurs ce dernier est directement branché sur le Raspberry, sans passer par un hub USB et une alimentation supplémentaire. Même si on dit que les ports USB du Raspberry ne supportent pas l’alimentation d’un disque dur externe je n’ai jamais eu de problème.
Certaines fonctionnalités sont appréciables, comme :
- les notes récupérées sur internet (qui peuvent influencer sur le choix du film de la soirée) ;
- le marquage des films ou des épisodes vus ou en cours (pratique pour les séries) ;
- la reprise des vidéos là où on s’était arrêté ;
- la classification des vidéos par genre ;
- l’affichage des vidéos les plus récentes.
On peut aussi installer des add-on ou extensions qui permettront de lire les chaînes de la freebox (multiposte) ou de voir des chaines en replay via internet.
Bref, ce n’est pas indispensable mais cela apporte une expérience utilisateur unique par rapport à un lecteur ordinaire et il est difficile de s’en passer par la suite !
XBMC est une application opensource. Initialement développée sur la Xbox (d’où son nom : XBox MediaCenter), elle est maintenant portée sur la plupart des machines et OS comme Windows, Linux, Android et en ce qui nous intéresse le Rapsberry Pi. Et bien que le nom reste le même depuis le début, le support sur Xbox n’est plus d’actualité.
Installation de XBMC sur Raspberry Pi
Il existe plusieurs façons d’avoir XBMC sur Raspberry Pi. La première est d’avoir un OS comme Linux avec par exemple Raspbian puis d’installer XBMC. Mais il existe des distributions spécialisées qui regroupent OS+XBMC dont les plus connues sont Raspbmc et OpenElec. Ces dernières facilitent grandement la mise en place de XBMC : il suffit de télécharger une image, de la mettre sur une carte SD et le tour est joué ! Les plus aventuriers peuvent toujours suivre les procédures officielles qui nécessitent quelques « tapages » de lignes de commande, mais les plus pressés (ou pragmatiques ou fainéants) préféreront les images prêtes à l’emploi. C’est cette méthode qu’on va voir ici.
Deux outils sous Windows sont nécessaires :
- Panasonic SD Formatter, pour formater la carte SD. On peut aussi utiliser le formatage Windows, mais après avoir écrit une image Linux dessus la taille n’est plus reconnue. Ainsi je me suis retrouvé avec une carte SD de 8 Go qui faisait seulement 200 Mo pour Windows !
- Win32 Disk Imager pour écrire l’image.
Les images sont téléchargeables sur les sites suivants : Raspbmc et OpenElec.
Q : Raspbmc ou OpenElec ?
Sincèrement il y a peu de différences. Certains disent qu’OpenElec est moins gourmand en ressources. Personnellement je trouve OpenElec plus abouti, mais juste un peu plus.
Une fois l’image écrite sur la carte SD il suffit de mettre cette dernière dans le Raspberry et de démarrer. XBMC se lance automatiquement. La première chose à faire est d’aller dans les paramètres et de définir la langue et le fuseau horaire.
Ajouter des fichiers à XBMC
Il faut ensuite ajouter les fichiers à la bibliothèque. C’est sans doute l’étape la plus fastidieuse ; il faut en effet respecter une certaine organisation et un nommage spécifique des répertoires et des fichiers. C’est aussi l’occasion de découvrir les scrapers. On trouve beaucoup de billets à ce sujet sur le net, aussi je zappe ce long chapitre pour y revenir après dans un prochain billet.
Les accessoires
Ok. On a installé XBMC sur notre Raspberry et c’est tout beau sur l’écran de la grande télé lcd du salon. Mais comment naviguer et lire des fichiers ? Avec la freebox ou la télé c’est facile, il y a une télécommande … mais là ? Comment on fait ?
Et bien il existe plusieurs méthodes :
- Le clavier. Un clavier classique en usb (pluggé sur le Raspberry), avec ou sans fil. Bien sûr, le Raspberry est un PC avant tout. Il existe des petits claviers sans fil avec trackpad bien foutus. Mais pas forcément pratique et discret pour le reste de la famille.
- La télécommande de la télé. Magique. Si la télé est assez récente elle prend en charge le CEC, et elle envoie les ordres tapés sur sa télécommande au Raspberry via le câble HDMI ! Ca marche très bien chez moi, sauf quand XBMC se met en veille, il est impossible de le réveiller via la télé.
- Yatse. Une application magnifique sur android. Si le Raspberry est sur le réseau on peut communiquer avec lui en wifi via notre smartphone ou notre tablette android qui se transforme du coup en télécommande. Très réactif, très beau, plus riche aussi. On trouve toutes les informations sur le fichier en cours de lecture : état d’avancement, résumé, durée, casting etc. Bien pratique pour naviguer dans les données du film et aller faire un tour sur IMDB ou tweeter ce qu’on regarde sans déranger le reste de la famille. Et on peut aussi récupérer et voir la médiathèque du Raspberry sur la tablette. Indispensable.
- Une télécommande dédiée. On trouve des commandes spécifiques pour le Raspberry sur le net. Je n’ai pas essayé.
Les limites
XBMC sur Raspberry est un bijou, mais je ne pouvais finir ce billet sans dire qu’il a quand même quelques défauts :
- Il n’y a pas de bouton d’arrêt. Pas de bouton de marche non plus. Il faut sélectionner Eteindre dans l’interface. Un peu dérangeant par rapport aux appareils classiques. Surtout que dans certaines versions si on arrête brutalement on a un message d’avertissement la prochaine fois. Il faut prévoir une multiprise à interrupteur, et passer le mot.
- Il faut acheter une licence pour le codec MPEG-2. Et oui, le Raspberry ne saura pas lire les vieux fichiers que n’importe quel lecteur multimédia peut décoder ! Adieu DVD et fichiers .ts non HD de la freebox ! Bien sûr, le GPU peut décoder le MPEG-2 mais pour optimiser les coûts la fondation Raspberry a privilégié les codecs récents et délaissé le MPEG-2. Si besoin on peut s’acquitter d’une licence à petit prix sur leur site. Une licence par Raspberry. Si on a 3 Raspberry il faudra 3 licences.
- Hors de la lecture des média le Raspberry est lent. Le GPU fait bien son travail mais il ne faut pas s’attendre à des miracles sur le reste. Sur des thèmes très gourmands XBMC sur Raspberry est vite ralenti, contrairement à la version sur PC.
- XBMC
ne sait pas lire desait lire les flux d’un serveur uPnp/DLNA, mais ne les importera pas dans sa librairie et ne récupérera pas les données externes comme les jaquettes. Bizarre pour un mediacenter. Dommage pour ceux qui comme moi ont installé mediatomb sur leur nas pour voir des vidéos sur la freebox. Les auteurs expliquant que le serveur uPnp ne peut pas envoyer certaines infos comme le codec source. Bon, ce n’est pas grave, il suffit de passer par un partage samba.
Rien de bloquant sur ces inconvénients. Je vous recommande chaudement XBMC sur Raspberry Pi. Vous ne verrez plus votre télé de la même façon !
EDIT : 26/05/2014 (suite aux commentaires avisés de personnes qui s’égarent en ces lieux) Si si XBMC sait lire des flux d’un serveur uPnp. Par contre il ne les importera pas dans sa librairie. Donc pas les joyeusetés habituelles comme les jaquettes … Enfin, c’est le cas sur ma version, une Frodo 12.2. Il serait temps que je me mette à Gotham moi !
Bonjour,
ça serai pour savoir comment utiliser mon téléphone (nexus 5) comme » un NAS » pour pouvoir lire les fichiers qu’il y a dessus, ou même envoyer une vidéo youtube sur la télé a la manière de la chromecast.
Merci !
Est-ce que c’est possible d’utiliser cette méthode avec un Xbox? J’ai suie toutes les étapes mais je peux pas déplacer les fichiers dans la bibliothèque, Merci pour cet article.
Bonjour,
Je viens de m’essayer au raspberry/Openlec et n’ai aucun soucis pour lire mes films sur mon Nas qui publie via Mediatomb.
As-tu essayé récemment ?
++
Bon d’accord en effet ça marche avec mediatomb !
Mais à moitié seulement …
J’ai cru comprendre que la nouvelle version (gotham) apportait des nouveautés là -dessus … il faut que je me mette à jour …
Salut!
Billet très utile et j’étais convaincu jusqu’au dernier point : « XBMC ne sait pas lire de flux d’un serveur uPnp/DLNA. »
Tu en es certain? J’ai lu qu’il est possible de configurer Raspbmc comme renderer DLNA:
http://forum.stmlabs.com/showthread.php?tid=5450
Enable the UPnP Renderer under System –> Settings –> Services –>UPnP
Ah la la, en effet tu as raison j’ai fait mon lapin crétin sur ce coup là …
Explications de texte :
Sur mon XBMC j’avais rajouté une source uPnp pour Mediatomb, ce qui marchait très bien. Seulement il était impossible de catégoriser cette source (en films, séries etc). En cherchant sur le net j’étais tombé sur un topic des développeurs qui expliquait qu’ils ne voulaient pas aller plus loin sur les serveurs uPnp car ces derniers pouvaient trafiquer les flux dynamiquement, et donc qu’on ne pouvait être surs des données reçues. Evidemment je ne retrouve plus l’url … Mais bon, ils en parlent un peu sur le wiki (http://wiki.xbmc.org/index.php?title=UPnP/Media_source) :
Et je m’étais arrêté là , d’où la confusion en écrivant cet article, alors qu’en effet les vidéos passent très bien …
Mea Culpa !