Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format
PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
doc:reseau:minidlna [01/11/2015 10:30] milou |
doc:reseau:minidlna [19/09/2017 18:09] Slyfox [Configuration de l'utilisateur et groupe] |
||
---|---|---|---|
Ligne 4: | Ligne 4: | ||
* Niveau requis : {{tag>débutant avisé}} | * Niveau requis : {{tag>débutant avisé}} | ||
* Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !]] :-) | * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !]] :-) | ||
+ | * Commentaires : //Pour partager votre contenu multimédia entre votre PC et votre console de jeux, votre platine Blu-Ray, votre téléphone portable ou votre télévision// | ||
* Suivi : | * Suivi : | ||
* Création par [[user>Slyfox]] le 31/10/2015 | * Création par [[user>Slyfox]] le 31/10/2015 | ||
Ligne 11: | Ligne 12: | ||
===== Introduction ===== | ===== Introduction ===== | ||
- | L’accès aux contenus multimédias sur un réseau local est relativement simple lorsque le client est compatible avec le protocole Samba. \\ | + | L’accès aux contenus multimédias sur un réseau local est relativement simple lorsque le client est compatible avec le protocole Samba, mais depuis l’arrivée des smartphones, tablettes, et autres TV connectées, il serait dommage de se priver d’un autre protocole : l’**UPNP** |
- | Mais depuis l’arrivée des smartphones, tablettes, et autres TV connectées, il serait dommage de se priver d’un autre protocole : l’**UPNP** | + | |
+ | **minidlna** est un logiciel serveur UPNP vraiment simple d'utilisation entièrement compatible avec les clients DLNA / UPnP. \\ | ||
+ | Le démon **minidlna** sert des fichiers multimédias (musiques, photos et vidéos) à des clients sur un réseau. | ||
- | **minidlna** est un logiciel serveur UPNP vraiment simple d'utilisation dans le but d'être entièrement compatible avec les clients DLNA / UPnP. | ||
- | Le démon minidlna sert des fichiers multimédias (musique, photos et vidéo) à des clients sur un réseau. | ||
===== Installation du paquet ===== | ===== Installation du paquet ===== | ||
- | <code root>apt-get install minidlna</code> | + | <code root>apt-get update && apt-get install minidlna</code> |
===== Configuration ===== | ===== Configuration ===== | ||
- | Maintenant configurons le serveur pour qu’il partage efficacement nos fichiers. \\ | + | Voici le fichier de configuration ''/etc/minidlna.conf'' par défaut: |
- | Pour cela, il suffit de modifier le fichier minidlna.conf. Pour cela, on se sert de nano : | + | |
+ | <file config /etc/minidlna.conf> | ||
+ | # port for HTTP (descriptions, SOAP, media transfer) traffic | ||
+ | port=8200 | ||
+ | |||
+ | # network interfaces to serve, comma delimited | ||
+ | #network_interface=eth0 | ||
+ | |||
+ | # specify the user account name or uid to run as | ||
+ | #user=jmaggard | ||
+ | |||
+ | # set this to the directory you want scanned. | ||
+ | # * if you want multiple directories, you can have multiple media_dir= lines | ||
+ | # * if you want to restrict a media_dir to specific content types, you | ||
+ | # can prepend the types, 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) | ||
+ | # + "PV" for pictures and video (eg. media_dir=PV,/home/jmaggard/digital_camera) | ||
+ | media_dir=/opt | ||
+ | |||
+ | # set this to merge all media_dir base contents into the root container | ||
+ | # note: the default is no | ||
+ | #merge_media_dirs=no | ||
+ | |||
+ | # 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 | ||
+ | |||
+ | # set this if you would like to specify the directory where you want MiniDLNA to store its log file | ||
+ | #log_dir=/var/log | ||
+ | |||
+ | # set this to change the verbosity of the information that is logged | ||
+ | # each section can use a different level: off, fatal, error, warn, info, or debug | ||
+ | #log_level=general,artwork,database,inotify,scanner,metadata,http,ssdp,tivo=warn | ||
+ | |||
+ | # 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 | ||
+ | |||
+ | # specify the path to the MiniSSDPd socket | ||
+ | #minissdpdsocket=/var/run/minissdpd.sock | ||
+ | |||
+ | # use different container as root of the tree | ||
+ | # possible values: | ||
+ | # + "." - use standard container (this is the default) | ||
+ | # + "B" - "Browse Directory" | ||
+ | # + "M" - "Music" | ||
+ | # + "V" - "Video" | ||
+ | # + "P" - "Pictures" | ||
+ | # + Or, you can specify the ObjectID of your desired root container (eg. 1$F for Music/Playlists) | ||
+ | # if you specify "B" and client device is audio-only then "Music/Folders" will be used as root | ||
+ | #root_container=. | ||
+ | |||
+ | # always force SortCriteria to this value, regardless of the SortCriteria passed by the client | ||
+ | #force_sort_criteria=+upnp:class,+upnp:originalTrackNumber,+dc:title | ||
+ | |||
+ | # maximum number of simultaneous connections | ||
+ | # note: many clients open several simultaneous connections while streaming | ||
+ | #max_connections=50 | ||
+ | </file> | ||
+ | |||
+ | Maintenant configurons le serveur pour qu’il partage efficacement nos fichiers en modifiant le fichier ''minidlna.conf'' avec [[:doc:editeurs:nano:]]: | ||
<code root>nano /etc/minidlna.conf</code> | <code root>nano /etc/minidlna.conf</code> | ||
Ligne 31: | Ligne 119: | ||
<note> | <note> | ||
- | De nombreuses lignes d’options sont commentées. C’est à dire qu’il y a un # devant afin que le serveur ne prenne pas ces options en compte. Nous avons donc le choix : | + | De nombreuses lignes d’options sont commentées, c’est à dire qu’il y a un #(([[doc:programmation:commenter|Commenter - le dièse]])) devant afin que le serveur ne prenne pas ces options en compte. \\ |
+ | Nous avons donc le choix : | ||
- soit d'enlever ce # devant la ligne afin que l’option soit prise en compte, | - soit d'enlever ce # devant la ligne afin que l’option soit prise en compte, | ||
- | - soit nous ajoutez une ligne équivalente sans ce symbole afin de garder à vue la configuration initiale. | + | - soit d'ajouter une ligne équivalente sans ce symbole, cela nous permet de garder à vue la configuration initiale. |
</note> | </note> | ||
- | <note important>Chaque modification du fichier de configuration devra être suivie de la commande suivante afin que les changement soit pris en compte : | + | <note important>Afin que les changements soient pris en compte, chaque modification du fichier de configuration doit être suivie de la commande suivante : |
<code root>service minidlna restart</code></note> | <code root>service minidlna restart</code></note> | ||
+ | |||
+ | ==== Port ==== | ||
+ | |||
+ | Modifions la valeur par défaut du port et mettre | ||
+ | <code>port=49200</code> | ||
==== Network interface ==== | ==== Network interface ==== | ||
- | Spécifions notre interface de réseau, généralement etho ou eth1 suivant votre carte réseau la commande <code root>ifconfig</code> nous donnera rapidement la réponse. | + | Spécifions notre interface de réseau, généralement ''etho'' ou ''eth1'' suivant votre carte réseau. \ |
+ | La commande : | ||
+ | <code root>ifconfig</code> | ||
+ | |||
+ | nous donnera rapidement la réponse. | ||
Par câble ethernet | Par câble ethernet | ||
Ligne 50: | Ligne 147: | ||
<code>network_interface=wlan0</code> | <code>network_interface=wlan0</code> | ||
- | Par câble ethernet et par WI-FI dans le cas de plusieurs réseaux il faut bien séparer par des virgules les interfaces réseau. | + | Par câble ethernet et par WI-FI dans le cas de plusieurs réseaux il faut prendre garde à bien séparer par des virgules les interfaces réseau ainsi : |
<code>network_interface=eth0,wlan0</code> | <code>network_interface=eth0,wlan0</code> | ||
==== Partage des dossiers ==== | ==== Partage des dossiers ==== | ||
- | Autre option importante, mettre en place les partages. minidlna permet de trier nos fichiers part type de média. | + | Une autre option importante à configurer, c'est de mettre en place les partages. \\ |
- | Il nous suffit de préciser si ce sont des vidéos, des images, ou des fichiers audios. \\ | + | **minidlna** permet de trier nos fichiers par type de média, il suffit de lui préciser si ce sont des vidéos, des images, ou des fichiers audios. \\ |
- | Chaque type étant désigné par une lettre : | + | Chacun de ces types est désigné par une lettre : |
* V pour les vidéos | * V pour les vidéos | ||
* P pour les images | * P pour les images | ||
* A pour les fichiers audios. | * A pour les fichiers audios. | ||
- | Pour partager par exemple les fichiers vidéos situés dans le répertoire /medias/films/, voici la ligne à entrer : | + | Par exemple, pour partager les fichiers vidéos situés dans un répertoire ''/medias/films/'', voici la ligne à entrer : |
<code>media_dir=V,/medias/films</code> | <code>media_dir=V,/medias/films</code> | ||
- | <note>Notez que le type de média n’a pas besoin d’être précisé. Si tous nos médias sont situés dans le répertoire /home/$USER, la ligne media_dir=/home/$USER suffira. | + | <note>Notez que le type de média n’a pas besoin d’être précisé si tous nos médias sont situés dans le répertoire /home/utilisateur, la ligne media_dir=/home/utilisateur suffira. |
- | Nous pouvez en plus choisir de séparer vos vidéos par type en mettant d’un coté les films et d’un autre les vidéos de famille, pour nous simplifier la navigation au sein de nos médias, plusieurs partages peuvent être ajoutés. | + | Pour nous simplifier la navigation plusieurs partages peuvent être ajoutés.\\ |
- | Par exemple: | + | Nous pouvons par exemple choisir de séparer nos vidéos par type en mettant d’un coté les films et d’un autre les vidéos de famille. |
- | media_dir=/home/$USER/film | + | |
- | media_dir=/home/$USER/videos_famille</note> | + | Par exemple : \\ |
+ | media_dir=/home/utilisateur/film \\ | ||
+ | media_dir=/home/utilisateur/videos_famille</note> | ||
==== Nom interface ==== | ==== Nom interface ==== | ||
- | Modifions le nom qui apparaîtra sur l’interface des clients ou ce que vous voulez voir apparaître sur l'interface du client DLNA (télévisions, smartphones, tablettes...)\\ | + | Modifions le nom qui apparaîtra sur l’interface des clients ou celui qui apparaîtra sur l'interface du client DLNA (télévisions, smartphones, tablettes...)\\ |
- | De base, le nom n’est pas très explicite, et il nous sera sûrement plus agréable de lire par exemple « Serveur DNLA Debian » à la place. | + | De base, le nom n’est pas très explicite, et il sera sûrement plus agréable de lire à la place par exemple : « Serveur DLNA Debian ». \\ |
+ | :-) | ||
- | Dans ce cas l’option à modifier est « friendly_name= » | + | Dans ce cas l’option à modifier est « friendly_name= » \\ |
+ | Ce qui nous donnera pour cet exemple : | ||
- | Ce qui nous donne par exemple : | + | <code>friendly_name=Serveur DLNA Debian</code> |
- | <code>friendly_name=Serveur DNLA Debian</code> | + | ==== Répertoire du cache ==== |
- | === Recherche nouveaux fichiers === | + | Ajoutons cette ligne : |
- | Pour ne pas être obligé de lancer un scan des fichiers à chaque fois que nous en ajoutons de nouveaux, vérifions que la ligne « inotify= » est bien réglée sur « yes ». | + | <code>db_dir=/var/cache/minidlna</code> |
+ | ==== Recherche nouveaux fichiers ==== | ||
+ | |||
+ | Pour ne pas être obligé de lancer un scan des fichiers à chaque fois que nous en ajoutons, vérifions que la ligne « inotify= » est bien réglée sur « yes » : | ||
<code>inotify=yes</code> | <code>inotify=yes</code> | ||
- | ==== Augmenter le nombre d'entrées ==== | + | ==== notify interval ==== |
- | Il arrive parfois, lorsqu'il y a un grand nombre de fichiers, que la base de données ne veuille plus se mettre à jour. Il faut alors demander au noyau d'augmenter le nombre d'entrées qu'inotify peut créer, avec la commande suivante : | + | Si le serveur n'apparaît pas sur le client, nous pouvons baisser le notify interval par exemple à 60, c'est a dire qu'il va attendre 60 secondes pour lancer une recherche de media ajouté. |
+ | <code>notify_interval=60</code> | ||
+ | |||
+ | ==== Augmenter le nombre d'entrées ==== | ||
+ | |||
+ | Il arrive parfois (lorsqu'il y a un grand nombre de fichiers) que la base de données ne veuille plus se mettre à jour. \\ | ||
+ | Il faut alors demander au noyau d'augmenter le nombre d'entrées qu'inotify peut créer, avec la commande suivante : | ||
<code root>sysctl fs.inotify.max_user_watches=100000</code> | <code root>sysctl fs.inotify.max_user_watches=100000</code> | ||
- | Si nous voulons que la modification soit permanente, il faut alors modifier le fichier /etc/sysctl.conf, en y ajoutant //fs.inotify.max_user_watches = 100000// à la fin de ce fichier. | + | Si nous voulons que la modification soit permanente, il faut plutôt choisir de modifier le fichier : ''/etc/sysctl.conf'', en y ajoutant //fs.inotify.max_user_watches = 100000// à la fin : |
+ | <code root>nano /etc/sysctl.conf</code> | ||
+ | <code>fs.inotify.max_user_watches = 100000</code> | ||
- | <code root>nano /etc/sysctl.conf | + | ==== Enregistrement des configurations ==== |
- | fs.inotify.max_user_watches = 100000</code> | + | |
- | ==== Lancement de minidlna et scan ==== | + | Une fois toutes les modifications faites enregistrons-les via les touches <key>F3</key> ou <key>C-o</key> puis validons par <key>Entrée</key>. \\ |
+ | Nous pouvons enfin quitter [[:doc:editeurs:nano:]] via les touches <key>F2</key> ou <key>C-x</key> | ||
- | Une fois que nous avons terminé de configurer le programme, il nous suffit de lancer minidlna : | + | ==== Lancement de minidlna et scan ==== |
+ | Une fois que nous avons terminé de configurer le programme, lançons minidlna ainsi : | ||
<code root>service minidlna start</code> | <code root>service minidlna start</code> | ||
- | Ceci fait, il faut demander à minidlna de scanner nos médias une première fois pour les rendre immédiatement disponibles. | + | Puis, il faut demander à minidlna de scanner une première fois nos médias afin de les rendre disponibles : |
<code root>service minidlna force-reload</code> | <code root>service minidlna force-reload</code> | ||
C'est tout ! :-) | C'est tout ! :-) | ||
- | Maintenant nos médias qui se trouvent sur notre OS préféré seront normalement détectés par les autres périphériques dotés du protocole DLNA / UPnP. | + | Maintenant nos médias qui se trouvent sur notre OS préféré seront détectés par les autres périphériques dotés du protocole DLNA / UPnP. |
- | ===== Liste de commandes utiles===== | + | ===== Fichier configuration simplifié ===== |
+ | |||
+ | Voici un exemple de fichier de configuration très simplifié et sans les commentaires. | ||
+ | |||
+ | <note important>Dans les sections media_dir ne pas oublier de changer **$USER** par notre nom d'utilisateur</note> | ||
+ | |||
+ | <code>port=49200 | ||
+ | network_interface=eth0,wlan0 | ||
+ | #user=jmaggard | ||
+ | media_dir=V,/home/$USER/Vidéo | ||
+ | media_dir=P,/home/$USER/Images | ||
+ | media_dir=A,/home/$USER/Musique | ||
+ | #merge_media_dirs=no | ||
+ | friendly_name=Serveur DLNA Debian | ||
+ | db_dir=/var/cache/minidlna | ||
+ | #log_dir=/var/log | ||
+ | #log_level=general,artwork,database,inotify,scanner,metadata,http,ssdp,tivo=warn | ||
+ | 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 | ||
+ | inotify=yes | ||
+ | enable_tivo=no | ||
+ | strict_dlna=no | ||
+ | notify_interval=60 | ||
+ | serial=12345678 | ||
+ | model_number=1 | ||
+ | #root_container=. | ||
+ | #max_connections=50</code> | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== 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 : | ||
+ | |||
+ | <code root>chmod a+rX /mes_fichiers_et_répertoires/</code> | ||
+ | |||
+ | 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. | ||
+ | |||
+ | Modifier les lignes du fichier /etc/default/minidlna avec les droits d'administration: | ||
+ | |||
+ | <code root>nano /etc/default/minidlna</code> | ||
+ | |||
+ | #USER="minidlna" | ||
+ | #GROUP="minidlna" | ||
+ | |||
+ | Concrètement, ajoutons la ligne : | ||
+ | |||
+ | GROUP="nom_de_l'utilisateur" | ||
+ | |||
+ | (où nom_de_l'utilisateur est à remplacer par le nom de l'utilisateur (user) de votre machine). | ||
+ | |||
+ | //source [[https://doc.ubuntu-fr.org/minidlna]]// | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Liste de commandes utiles ==== | ||
__**Lancer minidlna**__ | __**Lancer minidlna**__ | ||
+ | <code root>service minidlna start</code> | ||
+ | |||
+ | __**Reancer minidlna**__ | ||
<code root>service minidlna restart</code> | <code root>service minidlna restart</code> | ||
Ligne 124: | Ligne 304: | ||
__**Connaître le status**__ | __**Connaître le status**__ | ||
- | <code root>/service minidlna status</code> | + | <code root>service minidlna status</code> |
__**Scanner / reconstruire la base de données**__ | __**Scanner / reconstruire la base de données**__ | ||
<code root>service minidlna force-reload</code> | <code root>service minidlna force-reload</code> | ||
- | Pour plus d'info sur minidlna consultons le manuel ;-) | + | Pour plus d'info sur minidlna consultez le manuel : ;-) |
<code user>man minidlna</code> | <code user>man minidlna</code> | ||