Mini serveur UPnP ReadyMedia (minidlna)
ReadyMedia (anciennement MiniDLNA) est un logiciel serveur destiné à être totalement compatible avec les clients DLNA / UPnP. Le démon MiniDNLA envoie des fichiers multimédia (musique, images et vidéo) aux clients d’un réseau. Les exemples de clients incluent des applications telles que Totem et Kodi, ainsi que des périphériques tels que des lecteurs multimédias portables, des smartphones, des téléviseurs et des systèmes de jeu (tels que la PS3 et la Xbox 360).
ReadyMedia est une alternative simple et légère à MediaTomb, mais présente moins de fonctionnalités. Il ne possède pas d’interface Web pour l’administration et doit être configuré en modifiant un fichier texte.
Installation du serveur
Sur un système archlinux :
# pacman -S minidlna
Configuration en utilisateur
On commence par créer les fichiers et les répertoires nécessaires localement dans le répertoire config de l’utilisateur puis on modifie la configuration.
$ install -Dm644 /etc/minidlna.conf ~/.config/minidlna/minidlna.conf $ nano ~/.config/minidlna/minidlna.conf
Les lignes à modifier dans le fichier de configuration (minidlna.conf) :
media_dir=/home/$USER/dir db_dir=/home/$USER/.config/minidlna/cache log_dir=/home/$USER/.config/minidlna
On peut maintenant démarrer minidlna avec la commande suivante:
$ minidlnad -f /home/$USER/.config/minidlna/minidlna.conf -P /home/$USER/.config/minidlna/minidlna.pid
Lancement avec systemd –user
Systemd offre la possibilité d’utiliser des unités dans l’espace de l’utilisateur en lui permettant de démarrer, d’arrêter, d’activer ou de désactiver une unité. On va donc utiliser cette possibilité pour lancer minidlna.
Pour cela, on crée le fichier minidlna.service
dans ~/.config/systemd/user/
:
$ nano .config/systemd/user/minidlna.service
On le remplit :
[Unit] Description=minidlna server After=network.target [Service] Type=simple ExecStart=/usr/bin/minidlnad -S -f %h/.config/minidlna/minidlna.conf -P %h/.config/minidlna/minidlna.pid [Install] WantedBy=default.target
Il faut ensuite activer le service puis le démarrer :
$ systemctl --user enable minidlna $ systemctl --user start minidlna
Il peut être utile de démarrer le service minidlna juste après le démarrage de la session utilisateur et de laisser l’instance d’utilisateur systemd en cours d’exécution après la fermeture de la dernière session, par exemple pour qu’un processus utilisateur puisse s’exécuter sans session ouverte. La persistance est utilisée à cet effet. On utilise la commande suivante pour activer la persistance pour un utilisateur spécifique :
$ loginctl enable-linger username
Enfin on vérifie que le serveur minidlna est bien lancé avec les bonnes options :
$ systemctl --user status minidlna $ ps ax | grep minidlnad
Ce qui renvoie :
● minidlna.service - minidlna server Loaded: loaded (/home/username/.config/systemd/user/minidlna.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2018-10-30 11:46:00 CET; 1h 36min ago Main PID: 8864 (minidlnad) CGroup: /user.slice/user-1000.slice/user@1000.service/minidlna.service └─8864 /usr/bin/minidlnad -S -f /home/username/.config/minidlna/minidlna.conf -P /home/username/.config/minidlna/minidlna.pid
Et :
8864 ? Ssl 0:00 /usr/bin/minidlnad -S -f /home/username/.config/minidlna/minidlna.conf -P /home/username/.config/minidlna/minidlna.pid