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.
Le paquet étant disponible dans les dépôts, il suffit d'installer le paquet minidlna.
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
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.
# notify interval in seconds. default is 895 seconds. notify_interval=5
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
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
Pour afficher la pochette d'un film, créer un fichier JPEG correspondant.
Comme pour les TV Samsung, pour afficher la pochette d'un film, créer un fichier JPEG correspondant.
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
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.
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
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.