I. Présentation▲
Nous allons dans cet article nous intéresser à l'une de ces distributions: OpenElec (Open Embedded Linux Entertainment Center) qui dispose d'une 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 basent sur le même noyau composé de Raspbian (le système d'exploitation Debian adapté au Raspberry Pi) et XBMC pour le logiciel.
II. 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 corresponde bien à votre carte SD, histoire de ne pas effacer un autre disque dur.
wget -O OpenELEC-RPi.arm-3
.0
.1
.tar.bz2 http://openelec.tv/get-openelec/download/finish/10
-raspberry-pi-builds/87
-openelec-stable-raspberry-pi-arm
bzip2 -d OpenELEC-RPi.arm-3
.0
.1
.tar.bz2
tar xvf OpenELEC-RPi.arm-3
.0
.1
.tar
cd OpenELEC-Rpi.arm-3
.0
.1
/
sudo ./create_sdcard /dev/sdb
III. Installation de votre Raspberry Pi▲
Voici la configuration utilisée pour le test :
- un téléviseur Samsung UE46B6000 ;
- un Raspberry Pi modèle B (j'ai ensuite utilisé un modèle A) ;
- une carte SD 4Â Go (mais une de 2Â Go suffit) avec OpenELec 3.0.1Â ;
- un disque dur USB contenant mes vidéos (attention de bien alimenter le disque par une source externe) ;
- 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 modèle 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.
IV. Test de la bête▲
IV-A. Premiers tests▲
J'ai d'abord testé OpenElec avec un Raspberry Pi modèle B puis quand j'ai reçu mon modèle 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. À noter que l'utilisation directe de la télécommande est assez bluffante, 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'images sur les côté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 travellings, n'est pas une vidéo facile à décoder.
Le résultat est très concluant, aucune saccade constatée de la vidéo lors de la lecture (je ne suis pas non plus resté toute 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 euros pour que la carte ne prenne pas la poussière et pour éviter que mes enfants mettent les doigts dessus).
À noter qu'avant la rédaction de cet article, j'avais demandé à mon copain Twitter des retours d'expériences sur les « Media Center » du Raspberry PI. De nombreux followers m'avaient signalé qu'il y 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'ils utilisent des vidéos stockées sur un NAS. Il faut donc regarder du côté du réseau et notamment si vous utilisez un dongle Wi-Fi sur votre Raspberry Pi.
IV-B. 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 » (et « rewind ») par le « step forward » (et « 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 :
<FullscreenVideo>
    <remote>
      <title>
Stop</title>
      <back>
Stop</back>
      <reverse>
StepBack</reverse>
      <forward>
StepForward</forward>
    </remote>
  </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 :
<advancedsettings>
<video>
<!-- "VideoSettings" instead of "video" for builds prior to May 22, 2006 -->
  <usetimeseeking>
true</usetimeseeking>
  <!-- Whether to use time based or percentage based seeking. -->
  <timeseekforward>
15</timeseekforward>
  <!-- Time to seek forward in seconds when doing a short seek.  Defaults to 30. -->
  <timeseekbackward>
-15</timeseekbackward>
  <!-- Time to seek backward in seconds when doing a short seek.  Defaults to -30. -->
  <timeseekforwardbig>
600</timeseekforwardbig>
  <!-- Time to seek forward in seconds when doing a long seek.  Defaults to 600 (10 minutes). -->
  <timeseekbackwardbig>
-600</timeseekbackwardbig>
</video>
</advancedsettings>
V. 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ée de n'importe quel bidouilleur.
VI. … 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évu dans la norme HDMI 1.4, mais pas encore implémenté dans les modèles actuels du Raspberry Pi (voir ici pour les explications).
VII. Remerciements Developpez▲
L'équipe Systèmes Embarqués tient à remercier nicolargo pour la rédaction de ce tutoriel.
Nos remerciements à LittleWhite pour sa relecture attentive et F-leb pour sa gabarisation.
N'hésitez pas à faire part de vos remarques et commentaires à propos de cet article sur le forum ! Commentez