Tarte à la framboise #4 - Sucre glace pour la déco avec Kodi

29 Apr 2021

On continue les aventures avec le Raspberry Pi et cette fois on va plutôt parler de lecteur multimédia.

J'ai un mini-PC qui fait office de NAS, sur lequel je stocke un certain nombre de films et séries télé. Jusqu'à récemment, il était situé sous la TV, et je le branchais en HDMI directement pour pouvoir regarder tout ça.
Maintenant, ce mini-PC a migré dans un bureau, et j'ai du réfléchir à une façon de pouvoir continuer à regarder son contenu sur la TV.

Mes 2 Raspberry Pi étant dans le meuble télé, je peux en raccorder au moins un par HDMI. Je me suis dit qu'il devait exister une solution simple pour à la fois accéder au contenu du mini-PC depuis le Raspberry Pi, et pouvoir choisir quoi regarder à travers une interface agréable et intuitive.

C'est là qu'intervient Kodi, successeur de feu XBMC.

Logo de Kodi

Kodi est un lecteur multimédia open-source et multi-plateformes (compatible Android, Linux, Mac OS X, iOS et Windows).
Il scanne vos répertoires en local ou distants (sur un autre élément de votre réseau : NAS, PC, box...) et affiche tout ça dans une superbe interface, en récupérant les vignettes de films, l'année de sortie, le réalisateur, le résumé...
Interface d'accueil Kodi pour les films Interface Kodi exposant les informations détaillées d'un film Interface Kodi listant un ensemble de séries télé

Comme il est open-source, de nombreuses personnes développent des extensions pour ajouter de nouvelles fonctionnalités : récupérer automatiquement des sous-titres, voir la bande-annonce dédiée, utiliser Youtube ou Twitch,...

Interface Kodi listant les extensions installées

Il dispose d'une application Android et iOS, Kore, pour pouvoir le contrôler à partir d'un smartphone, qui fait alors office de télécommande.

Interface de Kore, l'application smartphone de Kodi

Il est aussi possible d'exposer Kodi sur internet, pour regarder une série télé hébergée chez vous dans le bus sur votre smartphone ou chez mamie sur votre tablette, même si la qualité dépend beaucoup du débit d'upload de votre connexion internet.

C'est tout juste s'il ne fait pas le café.


Ressource pour installer Kodi sur le Raspberry Pi : https://pimylifeup.com/raspberry-pi-kodi/

Trucs et astuces

Voir l'interface graphique de Kodi

Ca parait con comme astuce, mais pas tant que ça : si vous lancez Kodi en étant connecté à votre Raspberry Pi en mode bureau à distance (avec vnc), eh bien il ne va rien se passer, excepté une fenêtre d'invite de commande qui va s'ouvrir. C'est normal !
Comme votre Raspberry Pi est connecté aussi en HDMI à un écran externe, l'interface de Kodi ne s'affiche QUE sur cet écran, et jamais en mode bureau à distance. C'est comme s'il dissociait, quand Kodi est ouvert, le bureau et Kodi sur deux écrans distincts, alors qu'in fine il n'y qu'un seul écran. Me demandez pas, je ne sais pas pourquoi.

Si, comme moi, vous avez alors eu la flemme de connecter un clavier et une souris au Raspberry Pi, et que vous avez voulu configurer Kodi en SSH, voir le point ci-dessous.

Modifier les paramètres de Kodi dans les fichiers XML de configuration = Mauvaise idée

Beaucoup de sites donnent comme solution de modifier les paramètres de Kodi dans des fichiers XML, tels que $HOME/.kodi/userdata/guisettings.xml ou $HOME/.kodi/userdata/advancedsettings.xml
Peut-être que ça fonctionne dans un autre univers mais pas dans le mien, excepté générer plus de problèmes.
Je vous déconseille donc fortement de le faire, et de faire toutes les manipulations via l'interface graphique de Kodi.

Si, comme moi, vous vous êtes quand même acharnés à essayer d'y parvenir via ce moyen et que vous vous retrouvez avec une version instable de Kodi, voir le point ci-dessous.

Commandes pour désinstaller/réinstaller complètement Kodi

  1. sudo apt-get remove kodi*
  2. sudo rm -r ~/.kodi

Et le réinstaller : sudo apt install kodi

J'ai la vidéo mais pas le son

Je pensais être au bout de mes peines : Kodi bien configuré, je vois mes vidéos, je peux les lancer, et là c'est le drame. Je lançais des vidéos, j'avais bien l'image par contre aucun son. J'ai cherché partout : dans les paramètres de Raspian, dans les paramètres de Kodi, au niveau de l'ampli, du cable HDMI... et toujours le souci.
Il faut "juste" brancher le câble HDMI sur la bonne sortie HDMI du Rasperry Pi V4 (car il en possède deux), et faire un reboot du Raspberry Pi. Et j'ai remarqué que changer de sortie me résolvait d'autres problèmes du même style. Ne pas hésiter à employer cette technique extrêmement précise en cas de souci.

Débug

Kodi écrit un journal de logs qui peut être utile pour investiguer : $HOME/.kodi/temp/kodi.log

Allumer un PC à distance

Si, comme moi, vous stockez du contenu sur un PC différent de là où vous avez installé votre Kodi relié à la TV, il n'est peut-être pas toujours allumé et vous avez la flemme de vous lever de votre canapé pour aller appuyer sur le bouton power.
L'application smartphone Kore dispose d'une fonction de Wake On Lan, qui permet d'allumer un PC où Kodi est installé.
L'astuce c'est d'installer aussi Kodi sur le PC loin de la TV, malgré qu'on n'utilisera pas vraiment ce Kodi en particulier. Il servira juste de moyen pour allumer le PC à distance.
Vous aurez sur votre application Kore deux Kodi différents : le 1er installé sur le Raspberry Pi, que vous utiliserez normalement, et le 2e installé sur le PC, juste pour pouvoir l'allumer à distance.

Et comme les développeurs de Kodi ont pensé à tout, il est aussi possible via l'application Kore d'éteindre le PC distant.
Là j'ai du feinter un peu, car même si j'avais fait en sorte que Kodi s'ouvre automatiquement lors du démarrage du PC distant, je ne sais pas pourquoi mais ça ne suffisait pas pour réellement l'ouvrir tant qu'il n'y avait pas une session utilisateur ouverte. J'ai utilisé une 2e application (aFreeRDP), pour me logguer sur le PC distant, et donc ouvrir une session utilisateur, ce qui lançait le démarrage de Kodi. Et ensuite seulement je pouvais utiliser la fonction d'extinction du PC à partir de l'application Kore.

Pour synthétiser :
  1. Allumage du PC distant : Fonction Réveiller via Kore
  2. Extinction du PC distant
    1. Ouvrir une session via aFreeRDP
    2. Fonction Eteindre via Kore