Table des matières

, , , ,

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

MiniDLNA / Ready Media est un serveur DLNA pour linux 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 de diffusion est une bonne alternative à uShare pour ceux qui ont des problèmes de lecture des MPEG4 ou de partage sur un téléviseur.

Ce serveur dlna a la réputation d'être très stable sous debian/ubuntu, contrairement à uShare qui peut dysfonctionner lors du passage d'une musique à l'autre, ou à mediatomb qui ne fait pas automatiquement l'arborescence.

MiniDLNA / Ready Media est très stable et autonome, idéal pour partager un disque dur entier par exemple.

SITE OFFICIEL

Installation

Le paquet étant disponible dans les dépôts, il suffit d'installer le paquet minidlna.

Principes simplifiés d'utilisation

  1. Installer Ready Media (ex MiniDLNA) sur votre PC, qui doit être relié à votre réseau local (votre box internet).
  2. Configurer l'outil pour définir à quoi le serveur DLNA peut accéder (par exemple votre répertoire de films, ou de musiques).
  3. Le PC doit être allumé et Ready Media lancé. Le PC ne doit pas se mettre en veille pendant la diffusion.
  4. Allez sur le périphérique qui doit afficher le film ou la musique. Il doit être relié à votre réseau local (votre box internet).
  5. S'il est compatible DLNA et relié au réseau, il détecte automatiquement le serveur. Une télé, par exemple, affichera la liste des films du répertoire configuré sur le PC.
  6. Il reste à lancer le flux multimédia (photos, films, musiques, …) choisit.
  7. Une télé va être normalement le contrôleur de diffusion (elle la lance ou l'arrête), mais il peut être nécessaire d'avoir un appareil additionnel (une télécommande) pour certains matériels.
  8. Si l'appareil n'est pas DLNA, il est parfois possible d'y installer un logiciel ajoutant cette compatibilité.

Lancement de l'application

MiniDLNA est installé comme un service et sera lancé automatiquement quand votre ordinateur sera démarré. À 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 systemctl restart minidlna
sudo systemctl stop minidlna
sudo systemctl status minidlna

Pour reconstruire la base de données :

sudo systemctl restart minidlna

Configuration de minidlna

Rien de compliqué, tous les paramètres sont dans le fichier de configuration /etc/minidlna.conf . La seule chose à configurer obligatoirement concerne l'emplacement des répertoires multimédias à partager (photos, vidéos et audio). Exemple où on indique 2 répertoires (on peut en mettre autant qu'on veut) :

# Path to the directory you want scanned for media files.
 media_dir=A,/home/toto/musique
 media_dir=V,/home/toto/videos

La lettre (P=Photo ; V=Vidéo ; A=Audio) indique le type de fichier à afficher, mais ce n'est pas une obligation. Si le type de fichier n'est pas spécifié, tous les fichiers du répertoire apparaitrons. Par exemple :

# Path to the directory you want scanned for media files.
 media_dir=/home/toto/musique
 media_dir=/home/toto/videos

On peut ajouter (pas obligatoire) d'autres options dans le fichier, comme le nom qui s'affichera dans votre TV. Par exemple :

friendly_name=Serveur DLNA de Toto

Voilà un exemple de ce que contient le fichier /etc/minidlna.conf . Ne modifiez rien que vous ne comprenez pas, à part les répertoires à partager.

# This is the configuration file for the MiniDLNA daemon, a DLNA/UPnP-AV media
# server.
#
# Unless otherwise noted, the commented out options show their default value.
#
# On Debian, you can also refer to the minidlna.conf(5) man page for
# documentation about this file.

# Specify the user name or uid to run as (root by default).
# On Debian system command line option (from /etc/default/minidlna) overrides this.
#user=minidlna


# Path to the directory you want scanned for media files.
#
# This option can be specified more than once if you want multiple directories
# scanned.
#
# If you want to restrict a media_dir to a specific content type, you can
# prepend the directory name with a letter representing the type (A, P or V),
# followed by a comma, as so:
#   * "A" for audio    (eg. media_dir=A,/var/lib/minidlna/music)
#   * "P" for pictures (eg. media_dir=P,/var/lib/minidlna/pictures)
#   * "V" for video    (eg. media_dir=V,/var/lib/minidlna/videos)
#   * "PV" for pictures and video (eg. media_dir=PV,/var/lib/minidlna/digital_camera)
media_dir=V,/home/toto/Vidéos
media_dir=P,/home/toto/Images
media_dir=A,/home/toto/Musique

# Set this to merge all media_dir base contents into the root container
# (The default is no.)
#merge_media_dirs=no

# Path to the directory that should hold the database and album art cache.
db_dir=/var/cache/minidlna

# Path to the directory that should hold the log file.
log_dir=/var/log

# Type and minimum level of importance of messages to be logged.
#
# The types are "artwork", "database", "general", "http", "inotify",
# "metadata", "scanner", "ssdp" and "tivo".
#
# The levels are "off", "fatal", "error", "warn", "info" or "debug".
# "off" turns of logging entirely, "fatal" is the highest level of importance
# and "debug" the lowest.
#
# The types are comma-separated, followed by an equal sign ("="), followed by a
# level that applies to the preceding types. This can be repeated, separating
# each of these constructs with a comma.
#
# The default is to log all types of messages at the "warn" level.
#log_level=general,artwork,database,inotify,scanner,metadata,http,ssdp,tivo=warn

# Use a different container as the root of the directory tree presented to
# clients. The possible values are:
#   * "." - standard container
#   * "B" - "Browse Directory"
#   * "M" - "Music"
#   * "P" - "Pictures"
#   * "V" - "Video"
#   * Or, you can specify the ObjectID of your desired root container
#     (eg. 1$F for Music/Playlists)
# If you specify "B" and the client device is audio-only then "Music/Folders"
# will be used as root.
#root_container=.

# Network interface(s) to bind to (e.g. eth0), comma delimited.
# This option can be specified more than once.
#network_interface=

# Port number for HTTP traffic (descriptions, SOAP, media transfer).
# This option is mandatory (or it must be specified on the command-line using
# "-p").
port=8200

# URL presented to clients (e.g. http://example.com:80).
#presentation_url=/

# Name that the DLNA server presents to clients.
# Defaults to "hostname: username".
friendly_name="Serveur DLNA de toto"

# Serial number the server reports to clients.
# Defaults to the MAC address of nework interface.
#serial=

# Model name the server reports to clients.
#model_name=Windows Media Connect compatible (MiniDLNA)

# Model number the server reports to clients.
# Defaults to the version number of minidlna.
#model_number=

# Automatic discovery of new files in the media_dir directory.
inotify=yes

# List of file names to look for when searching for album art.
# Names should be delimited with a forward slash ("/").
# This option can be specified more than once.
album_art_names=Cover.jpg/cover.jpg/AlbumArtSmall.jpg/albumartsmall.jpg
album_art_names=AlbumArt.jpg/albumart.jpg/Album.jpg/album.jpg
album_art_names=Folder.jpg/folder.jpg/Thumb.jpg/thumb.jpg

# Strictly adhere to DLNA standards.
# This allows server-side downscaling of very large JPEG images, which may
# decrease JPEG serving performance on (at least) Sony DLNA products.
#strict_dlna=no

# Support for streaming .jpg and .mp3 files to a TiVo supporting HMO.
#enable_tivo=no

# Which method to use for registering in TiVo: 'bonjour' (default) or
# legacy 'beacon'
#tivo_discovery=bonjour

# SSDP notify interval, in seconds.
#notify_interval=895

# Path to the MiniSSDPd socket, for MiniSSDPd support.
#minissdpdsocket=/run/minissdpd.sock

# Always set SortCriteria to this value, regardless of the SortCriteria
# passed by the client
# e.g. force_sort_criteria=+upnp:class,+upnp:originalTrackNumber,+dc:title
#force_sort_criteria=

# maximum number of simultaneous connections
# note: many clients open several simultaneous connections while streaming
#max_connections=50

# set this to yes to allow symlinks that point outside user-defined media_dirs.
#wide_links=no

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.

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 analyser.

Si le serveur n’apparaît 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

Autre options

Le PC n'apparait pas sur la TV

Si le serveur n'apparaît pas sur le client, il est possible de baisser la valeur de la ligne notify interval, par exemple à 60, c'est a dire qu'il va attendre 60 secondes pour lancer une recherche de media ajouté. Cela peut régler le problème. Exemple de ligne :

notify_interval=60

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 accessible en lecture pour tout le monde. Vous pouvez donner l'accès en lecture à tout le monde pour vos fichiers, par exemple :

 sudo chmod a+rX /chemin/dossier/vidéos/ 

Cependant, si vous ne désirez pas faire ceci, vous pouvez changer l'utilisateur et le groupe utilisé par miniDLNA.

Modifier les lignes du fichier /etc/default/minidlna avec les droits d'administration :

#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).

La modification de ce paramètre se fait par un autre moyen pour systemd

 # User and group the daemon should run as 
# only for sysV init, for systemd please override minidlna.service 


Dans ce cas, il faut modifier le fichier /usr/lib/systemd/system/minidlna.service pour y changer le groupe utilisateur, et finir par :

 sudo systemctl daemon-reload 


On peut aussi faire le choix d'ajouter son utilisateur au groupe minidlna

 sudo adduser mon_utilisateur minidlna


ou inversement - et selon qui ( utilisateur et groupe ) est propriétaire des éléments partagés via dlna - ajouter l'utilisateur minidlna au groupe de l'$USER propriétaire des éléments partagés :

sudo adduser minidlna $USER


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

Si vous utilisez un pare-feu, il faudra le configurer pour que tout fonctionne correctement.

Avec gufw il vous suffit d'ajouter une nouvelle règle pour autoriser le service uPnP (port 8200 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 8200

Matériel Clients testé

DLNA va fonctionner avec des matériels relativement récent. Leur documentation précise normalement cette compatibilité.

La liste suivante n'est pas exhaustive, mais ces périphériques sont compatibles :

home cinema :

casque VR :


Contributeurs : McPeter, ned.net, bruno.