Test d’OpenElec sur Raspberry Pi

Date: 28/04/2013 | Catégories: Open-source,Planet-libre,raspberry,Video | Tags: ,,

Avec l'apparition du Raspberry Pi et de son GPU Broadcom VideoCore IV intégré, les logiciels de "media center", c'est à dire les systèmes permettant de connecter directement un PC à une télévision pour exploiter sa bibliothèque vidéo, se sont rapidement intéressés à ce nouvel OVNI technologique. Ainsi plusieurs distributions Linux orientés "media center" ont vus le jour pour nous permettre et permettent, pour moins de 30€, de disposer d'un système intégré pour lire des vidéos HD téléchargés plus ou moins légalement sur le Internet.

Nous allons dans ce billet nous intéresser à l'une d'entre elle: OpenElec (Open Embedded Linux Entertainment Center) qui dispose d'un bonne notoriété sur les réseaux sociaux, notamment grâce à une interface de navigation fluide et à une documentation bien fournie (notamment leur Wiki). Il faut juste garder en tête que toutes ces distributions "media center" se base sur le même noyau composé de Raspbian (le système d'exploitation Debian adapté au Raspberry Pi) et XBMC pour le logiciel.

OpenElec screenshot

Installation d'OpenElec

Pour installer OpenElec, les auteurs du projet ont eu la bonne idée de créer un script qui va partitionner et graver la dernière version du système (3.0.1 au moment de l'écriture de cet article) sur une carte SD que vous n'aurez plus qu'à insérer dans votre Raspberry Pi.

Voici les lignes de commandes à saisir sur votre machine GNU/Linux pour installer la version 3.0.1 d'OpenElec sur une carte SD disponible via l'identifiant système /dev/sdb (c'est bien sûr à contrôler avec la commande "fdisk -l" pour être sûr que /dev/sdb correspond bien à votre carte SD histoire de ne pas effacer un autre disque dur):

Installation de votre Raspberry Pi

Voici la configuration que j'ai utilisé pour le test:

  • Un téléviseur Samsung UE46B6000 (pour une description de mon système home cinéma avant l'arrivée de mon Raspberry, cliquez ici !)
  • Un Raspberry Pi model B (j'ai ensuite utilisé un model A)
  • Une carte SD 4 Go (mais une de 2 Go suffit) avec OpenELec 3.0.1 (voir le premier paragraphe pour l'installation)
  • Un disque dur USB contenant mes vidéos (attention de bien alimenter le disque par une source externe car le Raspberry Pi n'y arrive pas).
  • Un câble HDMI pour la liaison numérique avec le téléviseur (vidéo, son et télécommande avec la norme HDMI CEC).
  • Une souris pour manipuler l'interface d'OpenElec ou mieux encore votre télécommande si votre téléviseur est compatible avec la norme HDMI CEC (comme c'est le cas pour mon téléviseur Samsung via l'implémentation de la fonction Anynet+)
  • Un câble réseau (pour l'accès distant et l'accès au NAS) (optionnel et seulement pour le model B)

Après branchement, le système devrait démarrer automatiquement et l'interface va apparaître sur votre téléviseur. Si vous avez un modèle B, l'accés en SSH (l'adresse IP de votre Raspberry Pi est donnée dans le menu configuration) se fait à l'aide de l'utilisateur root et du mot de passe openelec.

Test de la bête

J'ai d'abord testé OpenElec avec un Raspberry Pi model B puis quand j'ai reçu mon model A j'ai basculé vers ce boîtier car je n'utilise pas mon NAS pour stocker mes films mais un simple disque dur portable connecté directement au Raspberry Pi.

Le démarrage du système est assez rapide (entre 1 minute et 1 minute 30), on arrive directement sur l'interface XMBC customisée à la sauce OpenElec. La navigation dans les différents menus se fait de manière relativement fluide. Le "relativement" n'est pas vraiment un problème quand comme moi vous utilisez une télécommande. Par contre on ressent une certaine difficulté du Raspberry Pi à suivre le rythme quand on utilise une souris. A noter que l'utilisation direct de la télécommande est assez blufante, une vraie bonne idée cette norme HDMI CEC.

Sur ma configuration, je n'ai presque pas eu de configuration à faire mis à part un calibrage de l'écran. En effet, je perdais des petites bandes d'image sur les cotés. Le plus simple pour faire cela est de lire un film et de cliquer sur le bouton "Vidéos - Paramétrage" puis "Étalonnage de l'écran". Vous aurez alors droit à un wizard qui va vous permettre de bien redimensionner la vidéo par rapport à votre télévision.

On peut ensuite passer au test de lecture vidéo qui est l'objectif principal de notre boîtier.  Pour cela j'ai fait tourner pendant une journée entière OpenElec en lecture d'un rip HD Xvid 720p de "The art of flying" qui avec ses traveling n'est pas une vidéo facile à décoder.

The art of flying

Le résultat est très concluant, aucune saccade constatée de la vidéo lors de la lecture (mais bon je suis pas non plus resté toutes la journée devant l'écran :)). Le son 5.1, récupéré directement via la liaison HDMI, est bon. J'ai également fait des tests avec des trailers en HD 1080p et il n'y a également aucun problème de lecture. Le GPU fait vraiment bien son boulot.

Le Raspberry Pi ne chauffe presque pas (j'ai mis la carte dans un boîtier transparent que l'on peut trouver pour quelques € pour que la carte ne prenne pas la poussière et pour éviter que mes enfants mettent les doigts dessus, c'est curieux ces bêtes là...).

A noter qu'avant la rédaction de ce billet, j'avais demandé à mon copain Twitter des retours d'expériences sur les "media center" du Raspberry PI. De nombreux followers m'avaient signalés qu'il avait des problèmes de lags lors de la lecture de vidéo HD 1080p sur OpenElec. Je n'ai pas constaté de problème sur ma configuration et je pense que leurs problèmes viennent du fait qu'il utilise des vidéos stockées sur un NAS. Il faut donc regarder du coté du réseau et notamment si vous utilisez un dongle Wifi sur votre Raspberry Pi.

Problème d'avance et de retour rapide

Lors des tests, j'ai constaté un problème au niveau de l'avance et du retour rapide lors de la lecture des vidéos. C'est un problème connu au niveau de XBMC.

Il existe heureusement une solution de contournement qui consiste à remplacer le "fast forward" (& rewind) par le "step forward" (& rewind). Pour cela, il faut éditer le fichier remote.xml (à chercher sur votre configuration via la commande "find / -name remote.xml"), puis à éditer la section FullscreenVideo:

Le pas par défaut est de 30 secondes, pour le changer il faut éditer un autre fichier nommé advancedsettings.xml qui est à créer pour l'occasion (cliquer ici pour voir comment créer ce fichier selon la documentation de XBMC) puis à l'éditer avec le contenu suivant:

Conclusion

Le Raspberry Pi est vraiment un joujou surprenant par ses capacités à faire des choses habituellement réservées à du matériel beaucoup plus cher. Avec les solutions intégrées comme OpenElec, on n'a même plus la complexité de configuration et ces solutions de "media center" deviennent à la porté de n'importe quel bidouilleur.

... pour faire la fine bouche

Il manque encore le support du HDMI Ethernet Channel qui permettrait au Raspberry d'utiliser via le câble HDMI la liaison Internet de la télé. C'est prévue dans la norme HDMI 1.4 mais pas implémenté dans les modèles actuels du Raspberry Pi (voir la page suivante pour les explications).

---

Allez, à vos claviers, parlez moi de votre configuration "media center". Utilisez-vous OpenElec ou bien une autre distribution ? Si oui pourquoi ?

---