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.
Installation
Le paquet étant disponible dans les dépôts, il suffit d'installer le paquet minidlna.
Principes simplifiés d'utilisation
- Installer Ready Media (ex MiniDLNA) sur votre PC, qui doit être relié à votre réseau local (votre box internet).
- Configurer l'outil pour définir à quoi le serveur DLNA peut accéder (par exemple votre répertoire de films, ou de musiques).
- Le PC doit être allumé et Ready Media lancé. Le PC ne doit pas se mettre en veille pendant la diffusion.
- 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).
- 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.
- Il reste à lancer le flux multimédia (photos, films, musiques, …) choisit.
- 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.
- 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.
# 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.
Pour la PS3
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
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.
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 :
- Décodeur TV UHD86 à travers LiveBox mini 2
- Décodeur TV UHD87 avec livebox play 3
- BBox Fibre TV
- Cambridge Audio Streamer 6
- Freebox HD
- Freebox Revolution
- IPHONE 3G
- IPAD (divers logiciels dont Airplay)
- LG DP1B (mise à jour nécessaire : juillet 2011)
- Lecteur Blu Ray disc3D LG BX580 lecture de tous ce que j'ai pu tester (image video, music, MKV, MP4, MP3 DivX6 H.264/MPEG4 ,MPEG ,JPEG) aucune restriction pour le moment.
- LiveBox (décodeur TV4)
- Neuf Box SFR (NB4-MAIN-R3.1.10)
- Netbox
- Numericable LaBox (sauf .srt, ou alors via un patch)
- Orange Liveradio Vintage (poste de radio FM/Wifi webradio + dlna)
- Onkyo TX-8050 amplificateur / lecteur réseau
- Onkyo CR-N765 amplificateur / lecteur CD et réseau
- Oppo BDP-93EU
- Philips NetTV 40FLH7605H (Play/Pause/FW/RW OK, musique et photos OK, Video sans sous-titres)
- Samsung Galaxy'S GT-I9000 (Lecture Xvid,Divx,Mkv)
- Samsung TV LCD LE32D550
- Samsung TV LCD LE40B651
- Samsung TV LCD LE40C630
- Samsung TV LED UE40D5000 et UE46D5700
- Samsung TV LED UE40JU6400
- Samsung TV LED Série 6 (UE32C6000)
- Samsung TV LED Série 6 (UE40H6400)
- Samsung TV LED Série 6 (UE46ES6300)
- Samsung TV LED Série 6 (UE50ES6900)
- Samsung TV LED Série 7 (UE40B7000)
- Samsung TV LED Série 7 (UE46F7000)
- Samsung TV LED Série 7 (UE65MU7055)
- Samsung TV LED 3D UE40C7700
- Samsung TV LED 3D 40UE6030
- Samsung Home cinéma HT C5500
- Sony Bravia kdl (limitations aux formats reconnus par la TV)
- Sony BDV E370 3D Ready (Home cinema Bluray, DVD, Xvid, Divx, etc)
- Sony BDP-S370 (MKV, MPEG4, XViD, DiVX5 et VIDEO_TS/MPEG2 Firmware version M03.R.769)
- Sony Playstation 3, Sony Playstation 4
- Panasonic TX-P42ST50E
- Panasonic 58-DX730
- TELEFUNKEN 41,9" Wide Screen LED DIGI TV(téléviseur 3D LED entrée de gamme)
- TABBEE
- XBOX 360 (Différentiation des Vidéos, Musique et Image et lecture du MPEG4)
- Application Android HouseMedia
- Awox StriimLINK
- chaine DENON CEOL
- Ampli Denon AVR-3313
- Yamaha R-N602
- Yamaha WXC-50
- Google Chromecast (v1)
- Google Chromecast Audio
home cinema :
- Samsung HT D5100
- Samsung HT D7100
- Samsung HT F5200
- LG HB806SH
casque VR :
- Oculus GO
Contributeurs : McPeter, ned.net, bruno.