Table des matières

, ,

Ready Media (anciennement MiniDLNA) : Mini Serveur DLNA très simple

L'objectif est de présenter ce serveur DLNA vraiment simple d'utilisation. Comme uShare, Ready Media (anciennement MiniDLNA) va permettre de partager vos vidéos, votre musique, vos images… entre votre PC et votre console de jeux, votre platine Blu-Ray, votre téléphone portable ou votre télévision!!!
Ce serveur est une bonne alternative à uShare pour ceux qui ont des problèmes de lecture des MPEG4 ou de partage sur un téléviseur.

SITES OFFICIELS http://minidlna.sourceforge.net/ http://sourceforge.net/projects/minidlna/

Matériel Clients testé

MiniDLNA est un serveur qui fonctionne parfaitement avec tous les périphériques suivants :

home cinema :

Installation

Depuis le dépôt Universe (Ubuntu 11.10 Oneiric Ocelot et suivants)

Le paquet étant disponible dans le dépôt universe, il s'installe depuis la logithèque ou en cliquant sur ce lien minidlna.

Depuis le dépôt PPA (Ubuntu 9.10 Karmic Koala et suivantes)

Ajoutez le PPA ppa:stedy6/stedy-minidna1) dans vos sources de logiciels, puis rechargez la liste des paquets.

Puis on installe le paquet minidlna.

Par l'archive

Télécharger le fichier tar.gz à l'adresse :
http://sourceforge.net/projects/minidlna/

Puis décompressez l'archive

tar -zxvf minidlna_1.0.16.3_static.tar.gz

Remarque : la décompression de l'archive crée les répertoires etc/ et usr/sbin/ là où vous vous trouvez !!!

Déplacer minidlna et son fichier de configuration :

sudo mv usr/sbin/minidlna /usr/sbin/
sudo mv etc/minidlna.conf /etc/

Pour lancer le serveur minidlna en arrière plan :

/usr/sbin/minidlna -f /etc/minidlna.conf -R

Pour lancer le serveur minidlna avec la console en sortie :

/usr/sbin/minidlna -f /etc/minidlna.conf -P /var/run/minidlna.pid -d -R

1- s'il a été installé par le PPA, la commande est :

 minidlna -f /etc/minidlna.conf -R

(il ne faut pas préciser le chemin)

2- constaté sur lucid : il vaut mieux la lancer en sudo

Lancement de l'application

Si vous avez installée Ready Media / MiniDLNA par les dépots, il est installé comme un service et sera lancé automatiquement quand votre ordinateur sera démarré. A priori, vous n'avez donc jamais à utiliser de commandes pour (re)lancer / stopper ce programme (surtout si vous avez laissé l'option de recherche automatique de nouveaux fichiers), cependant si besoin, voici les commandes à utiliser.

Pour redémarrer / arrêter / état minidlna :

sudo /etc/init.d/minidlna restart
sudo /etc/init.d/minidlna stop
sudo /etc/init.d/minidlna status

Pour reconstruire la base de données :

sudo /etc/init.d/minidlna force-reload

Configuration de minidlna

Rien de compliqué, tous les paramètres sont dans le fichier de configuration /etc/minidlna.conf :

# port for HTTP (descriptions, SOAP, media transfer) traffic
port=49200

# network interface to bind to (this is the only interface that will serve files)
network_interface=eth0

# set this to the directory you want scanned.
# * if have multiple directories, you can have multiple media_dir= lines
# * if you want to restrict a media_dir to a specific content type, you
#   can prepend the type, followed by a comma, to the directory:
#   + "A" for audio  (eg. media_dir=A,/home/jmaggard/Music)
#   + "V" for video  (eg. media_dir=V,/home/jmaggard/Videos)
#   + "P" for images (eg. media_dir=P,/home/jmaggard/Pictures)
media_dir=A,/repertoire/musique
media_dir=P,/repertoire/photos
media_dir=V,/repertoire/films

# set this if you want to customize the name that shows up on your clients
friendly_name=My DLNA Server

# set this if you would like to specify the directory where you want MiniDLNA to store its database and album art cache
db_dir=/var/cache/minidlna

# this should be a list of file names to check for when searching for album art
# note: names should be delimited with a forward slash ("/")
album_art_names=Cover.jpg/cover.jpg/AlbumArtSmall.jpg/albumartsmall.jpg/AlbumArt.jpg/albumart.jpg/Album.jpg/album.jpg/Folder.jpg/folder.jpg/Thumb.jpg/thumb.jpg

# set this to no to disable inotify monitoring to automatically discover new files
# note: the default is yes
inotify=yes

# set this to yes to enable support for streaming .jpg and .mp3 files to a TiVo supporting HMO
enable_tivo=no

# set this to strictly adhere to DLNA standards.
# * This will allow server-side downscaling of very large JPEG images,
#   which may hurt JPEG serving performance on (at least) Sony DLNA products.
strict_dlna=no

# default presentation url is http address on port 80
#presentation_url=http://www.mylan/index.php

# notify interval in seconds. default is 895 seconds.
notify_interval=900

# serial and model number the daemon will report to clients
# in its XML description
serial=12345678
model_number=1

Par défaut, lorsque miniDLNA est lancé en tant que service, il est exécuté avec l'utilisateur minidlna et groupe minidlna. Selon les permissions sur vos répertoires et fichiers, cela peut être un problème pour que vos fichiers apparaissent dans miniDLNA.

Voir le chapitre suivant pour changer l'utilisateur et le groupe avec lequel est exécuté miniDLNA.

Vous n'êtes pas obligés d'associer une lettre aux répertoires devant être scannés :
media_dir=/media/My Passport/videos/
media_dir=/media/WALKMAN/musiques/

Selon la quantité de média que vous partagez, leur disponibilité pour vos appareils clients ne sera pas immédiate. On peut facilement croire à tort que seuls quelques premiers dossiers sont partagés, simplement parce que miniDLNA n'a pas fini de tout scanner. Une bonne méthode consiste à le lancer la première fois avec la console en sortie (cf 2.3)

Si le serveur n'apparait pas sur le client, baisser le notify interval dans le fichier minidlna.conf, par exemple à 5 :

# notify interval in seconds. default is 895 seconds.
notify_interval=5

En cas de problèmes de droits lors du lancement, une solution pour éviter un lancement en root (sudo) est de récupérer l'archive sur sourceforge:
http://sourceforge.net/projects/minidlna/

  • créer un répertoire .minidlna dans le répertoire utilisateur
  • décompresser dans ce répertoire .minidlna
  • modifier le fichier minidlna.conf
# set this if you would like to specify the directory where you want MiniDLNA to store its database and album art cache
db_dir=/home/MON_NOM_UTILISATEUR/.minidlna

# set this if you would like to specify the directory where you want MiniDLNA to store its log file
log_dir=/home/MON_NOM_UTILISATEUR/.minidlna
  • et adapter la commande de lancement:

Par exemple:

/home/MON_NOM_UTILISATEUR/.minidlna/usr/sbin/minidlna -f /home/MON_NOM_UTILISATEUR/.minidlna/etc/minidlna.conf

Configuration de l'utilisateur et groupe

Par défaut, miniDLNA (lorsqu'il a été installé depuis les dépôts) est exécuté automatiquement au démarrage de l'ordinateur comme un service. L'utilisateur et le groupe par défaut utilisés sont : minidlna.

Cela peut poser un problème d'accès à vos fichiers de média, s'ils ne sont pas en accès pour tout le monde. Vous pouvez donner l'accès à tout le monde à vos fichiers :

 sudo chmod a+rX /mes_fichiers_et_répertoires/ 

Cependant, si vous ne désirez pas faire ceci, ne serait-ce que pour des raisons de sécurité, vous pouvez changer l'utilisateur et le groupe utilisé par miniDLNA.

1. Solution à privéligier (Ubuntu 14.04) :

Modifier le fichier /etc/default/minidlna (en mode root avec sudo) et plus particulièrement les lignes :

#USER="minidlna"
#GROUP="minidlna"

Concrètement, ajouter la ligne :

GROUP="nom_de_l'utilisateur" 

(où nom_de_l'utilisateur est à remplacer par le nom de l'utilisateur (user) de votre machine).

2. Ancienne solution :

Si vos utilisateurs sont dans le groupe users et que vos fichiers et répertoires sont accessibles à ce groupe, voici les manipulations à effectuer :

#USER="minidlna"
GROUP="users"
$ sudo adduser minidlna users
$ sudo usermod -g users minidlna
$ sudo delgroup minidlna

Attention, cette dernière commande peut provoquer une erreur empêchant toute mise à jour (Ubuntu 14.04). La commande pour débloquer la situation est :

 sudo addgroup minidlna 

Et voilà c'est fait, miniDLNA sera exécuté avec le groupe users et pourra lire tous vos fichiers.

Dans tous les cas, n'oubliez pas de redémarrer minidlna :

$ sudo /etc/init.d/minidlna restart 

Pochettes de films

Pour TV Samsung

Pour afficher la pochette d'un film, créer un fichier JPEG correspondant.

Exemple : mon_film_en_HD.avi avec sa pochette nommée mon_film_en_HD.jpg

Pour la PS3

Comme pour les TV Samsung, pour afficher la pochette d'un film, créer un fichier JPEG correspondant.

Exemple : mon_film_en_HD.avi avec sa pochette nommée mon_film_en_HD.jpg

L'image doit être au format 320 x 240 pixels pour un meilleur rendu.

A noter qu'il existe un site internet pour générer des pochettes au format PNG : PS3 Media Server - Thumbnail generator

Il conviendra de convertir le fichier png au format jpg (avec gimp par exemple) pour que celà fonctionne avec le serveur minidlna

Vidéos avec pistes de sous-titre

Certains types de conteneurs vidéo embarquent une piste pour les sous-titres, qui ne s'affichent pas sur l'écran de télé (exemple : fichiers MKV).

Pour bénéficier des sous-titres, il suffit d'extraire cette piste (par exemple avec MKV Extractor GUI ) dans un fichier du même nom que le fichier vidéo (testé avec l'extension .srt), et de le placer dans le même dossier.

Les sous-titres fonctionnent comme testés sur une TV Panasonic TX-PF50G30 mais ne sont pas supportés par la Freebox Revolution (v6) sur le même serveur et le même film.

Configuration du Pare-feu

Il vous faudra certainement configurer votre pare-feu pour que tout fonctionne correctement. Pour faire cela il est recommandé d'utiliser gufw qui est une interface graphique pour le pare-feu iptables d'Ubuntu.

Avec gufw il vous suffit d'ajouter une nouvelle règle pour autoriser le service uPnP (port 49200 dans l'exemple) quand la source est l'adresse IP de vos équipements.

Exemple de mise en application pour un réseau sous Livebox

sudo ufw allow from 192.168.1.0/24 to any port 49200

Contributeurs : McPeter, ned.net.