Serveur DLNA
Nous avons une vieille télévision : elle date de 2010. Elle est smart. Sauf que … Avec le temps, les applications smart ont disparu, faute de support des éditeurs de logiciels (RTBF, Arte, …).
Elle possède toute de même une fonctionnalité qui est native : DLNA. Il s’agit de lire des données (vidéo, audio, photo) sur le réseau. Pour cela, il faut un serveur qui émet les données. Chez nous, notre box Internet permet cela nativement pour les supports USB qu’on y insère. Pas pratique si on souhaite modifier régulièrement ce que l’on regarde.
Nous avons trouvé une application : Serviio. Pratique et facile, bref assez simple pour que Madame et moi l’utilisions essentiellement pour les enfants. Ce qui est moins cool, c’est que cela fonctionne sous Java. Lors du passage de Windows à Linux, j’ai cherché une alternative.
Elles existent :
- minidlna
- gebera
Les tutoriels (parfois anciens) fonctionnent assez bien. Il y a pour l’un des deux un soucis dans les tutoriels par rapport aux droits d’accès. Rien à redire mise à part … à moins que ? Naturellement, il y a un “Mais”. Mais, pour une raison que j’ignore, la télévision n’affiche pas les dossiers ; tous les fichiers sont à la racine. ce qui rend impraticable le choix de la vidéo.
Bref, pas de choix: je réinstalle Serviio (sur Linux cette fois) et bim, bam, cela fonctionne. Il ne me reste plus qu’à vérifier s’il est possible d’ajouter des images pour illustrer les dossiers (plus facile pour que le dernier comprenne ce qu’il choisit).
Installation
- Installer les dépendances : Java, sous son package openjdk, ffmpeg et x264.
Cela se fait simplement avec un
apt install openjdk -*-jdk ffmpeg x264. Il faut vérifier la dernière version de openjdk (aujourd’hui, c’est le 25). - Téléchargement et installation de Serviio :
Sur le site de Serviio, il faut vérifier le numéro de la dernière version (aujourd’hui, c’est la 2.4).
Pour le récupérer :
wget http://download.serviio.org/releases/serviio-2.4-linux.tar.gzPour le décompresser (ici, on le met dans/opt) :tar -xzvf serviio-2.4-linux.tar.gar -C /opt - Permettre à Serviio d’être lancé au boot.
Vu que nous avons juste décompressé l’application dans
/opt, le système ne sait pas comment lancer au boot Serviio ni surveiller qu’il fonctionne en continu. Nous allons le renseigner en créant un service pour systemd. Pour commencer, nous allons écrire un fichier dans/lib/systemd/system/serviio.services:
[Unit]
Description=Serviio media Server
After=syslog.target network.target
[Service]
User=serviio
ExecStart=/opt/serviio-2.4/bin/serviio.sh
ExecStop=/opt/serviio-2.4/bin/serviio.sh -stop
[Install]
WantedBy=multi-user.target
Ici, nous lançons l’application avec l’utilisateur serviio.
Il faut créer cet utilisateur avec useradd -r -U -s /bin/false serviio puis lui donner les accès au dossier serviio avec chown -R serviio:serviio /opt/serviio-2.4/.
- Rendre le service accessible avec
systemctl enable serviio.service - Vérifier le status avec
systemctl status serviio.service. S’il n’est pas lancé, nous le lançons :systemctl start serviio.service. - Configurer Serviio via sa console Web. Elle est accessible via
http://IP_Machine:23423/console
Source:
Linuxconfig - How to install Serviio media server on Raspberry Pi