Utilisez-vous un NAS Synology comme serveur multimédia pour lire vos films et musiques depuis votre TV/box/smartphone/tablette via DLNA (UPnP AV) ?
C'est très pratique mais il existe une problématique : l'indexation.Il peut y avoir une différence entre le contenu présent sur votre NAS et la liste proposée en DLNA.
Voyons comment éliminer ce phénomène, en deux minutes chrono.
Symptôme
L'indexation des fichiers présents dans le NAS est normalement réalisée de façon automatique par le système. L'indexation est stockée dans une base de données locale qui pour lister le contenu via DLNA. Il serait trop lent de parcourir les dossiers à chaque fois.
Pourquoi mes fichiers ne sont-ils pas tous indexés correctement ? Plusieurs raisons possibles :
- l'indexation est désactivée. Pour l'activer Panneau de configuration > Dossier partagé > clic droit sur votre [dossier] > modifier > onglet Indexation :
- l'indexation prends du temps, si vous venez de l'activer patientez
- le bouton "ré-indexation" réinitialise l'indexation, vous pouvez en avoir pour plusieurs jours si votre NAS est bien rempli
- vous utilisez un paquet (sabnzbd, couch potato, etc) pour télécharger des fichiers et les fichiers ne sont pas pris dans l'indexation
- vous manipulez les fichiers directement en SSH/Telnet
Il est possible de voir si le processus synoindexd est en fonctionnement via le Menu > Moniteur de ressources > Processus. Il sera "en veille" ou "en cours d'exécution".
La solution
La solution m'a été apportée par un lecteur de Blogmotion. Francis Besset a développé un paquet qui permet de rendre l'indexation instantannée. Ce paquet s'appelle Media Indexer, tout simplement. Il est compatible avec l'ensemble des modèles de Synology, y compris avec Xpenology chez moi qui tourne sur un Core i7 à travers VirtualBox.
Ce paquet est basé sur lé mécanisme linux inotify qui est une extension du système de fichiers qui permet d'informer une application de tout changement dans le système de fichiers. A chaque ajout/suppression/modification d'un fichier inotify va faire appel au paquet Media Indexer qui modifiera directement l'indexation pour une prise en compte instantannée.
Si vous vous êtes déjà interessé à ce problème vous connaissiez peut-être déjà la ligne de commande permettant d'ajouter ou supprimer des fichiers dans la base d'indexation :
/usr/syno/bin/synoindex --h
Pour installer le paquet il faut ajouter le dépôt de Francis :
- Menu > Centre de paquets
- Bouton Paramètres
- Onglet Général > Niveau de confiance : "n'importe quel éditeur" :
- onglet Source de Paquets
- Ajouter :
Nom : Francis Besset (au choix)
Emplacement : http://synology.francis-besset.com
- OK > OK
- Aller dans Communauté et installer dans l'ordre : inotify-tools puis Media Indexer :
- Media Indexer vous demande ensuite de saisir les dossiers à surveiller en les séparant avec deux points ":"
- Suivant > Appliquer
- C'est fini !
Media Indexer indexe maintenant instantanement les nouveaux fichiers pour les visualiser en partage UPnP.
L'interface utilisateur n'est encore pas disponible, mais vous pouvez éditer le fichier de configuration avec un éditeur de texte comme vi :
vi /var/packages/media-indexer/target/etc/media-indexer
La variable à modifier est WATCH_DIRECTORIES et vous pouvez aussi activer le log en supprimant le "#" devant la variable LOG_FILE :
BLOGMOTION> more /var/packages/media-indexer/target/etc/media-indexer
WATCH_DIRECTORIES="/volume1/test:/volume1/blogmotion"
PID_FILE="/usr/local/media-indexer/var/media-indexer.pid"
FIFO_FILE="/usr/local/media-indexer/var/media-indexer.fifo"
#LOG_FILE="/usr/local/media-indexer/var/media-indexer.log"
Ce paquet est entièrement compatible avec mon tutoriel sur les dossiers DLNA personnalisables. Merci à Francis Besset pour ce paquet et d'avoir tenu compte de mes remarques pour le faire évoluer. Si vous voulez les sources du paquet inotify-tools : lien 1, lien 2.
Voilà qui devrait vous éviter des prises de tête au moment de démarrer le film du soir !
Auteur : Mr Xhark
Fondateur du blog et passionné par les nouvelles techno, suivez-moi sur twitter
176 commentaires
C'est une bonne nouvelle ! Merci pour l'info
En espérant qu'il puisse aussi jeter un coup d'oeil sur le fait que Media indexer plante quand le nom de fichier comporte un apostrophe.
Merci
Bonjour,
je viens d'ajouter le repo à mon synology, mais il ne trouve que le paquet Media Indexer et pas le paquet inotify-tools. Savez-vous pourquoi ?
Merci
Hello
As tu pu avoir des news ? J'ai vu passer des betas signe que francis re-bosse dessus. MAis pour l'instant tout n'est pas stable. (et ca plante toujours quand un fichier contient un apostrophe ds le nom )
Thx
Merci pour cet article, avec la Freebox c'est super de pouvoir accéder aux médias sur le Syno, mais l'ajout de fichiers n'était pas pris en compte, ce qui est assez frustrant quand on voit que tout passe sur la Freebox (Rpi2 remisé du coup).
Installé ce matin, à priori paquet trouvé et installé, non signalé en beta. C'est la version 1.1.1-1.
Mon Syno étant toujours en cours d'indexation (relancée il y a deux jours), je reviendrai signaler si ça marche 🙂
Hello Sylvone
En quel version de dsm es tu ? Tu as bien trouvé le paquet Inotify ?
Perso il n'est pas listé sur le nas que je suis en train de configuré 🙁
J'ai re-contacté le développeur au sujet de la compatibilité avec le DSM6, Mais il semble qu'il n'ait pas encore eu le temps de se plonger dessus. La version n'a pas bougée et je n'ai pas eu de réponse à mon dernier message.
En tout les cas, chez moi sur un 215j, depuis le passage au DSM6, le paquet s’installe bien mais ce met systématiquement en arrêt quand on essaye de le lancer.
Je reviens ici des que j'ai des nouvelles. Peut être à la rentrée?...
Idem chez moi. Par contre en redemarrant le DSm le paquet demarre. Jusqu'au prochain plantage 🙂
Bonjour,
Idem sur un DS216+II avec DSM 6.0.
Cet outil à l'air vraiment super. Merci à Francis pour bon boulot.
Cependant, le paquet Media Indexer apparaît bien mais pas inotify.
Et pour installer Media Indexer, il demande inotify.
J'ai réussi à l'installer via OPKG (et IPKGui) mais lors de l'install de Media Indexer via l'installeur de paquet Syno, il le demande quand même.
Francis, pourrais-tu te remettre sur le sujet steplait pour prendre en compte la nouvelle de DSM.
Je pense que l'on tous dans ce cas maintenant.
Merci d'avance et bon boulot
pour les courageux, voici l'adresse des sources de inotify-tools
http://wiki.github.com/rvoicilas/inotify-tools/
Bonjour a tous,
J'utilisais ce fabuleux module aussi mais avec DSM6 ca ne fonctionnait plus tres bien. Apres quelques recherche j'en ai trouvé un autre qui fonctionne avec DSM 6. Voici le lien : https://github.com/carljm/synology-mediamon
Un peu plus galere a installer mais j'ai reussi alors que mes connaissance en Linux sont proche de 0 😉
PS : Avant de copier mediamon.py ne pas oublier de le modifier avec un éditeur texte pour spécifié vos dossier à indexer
Merci beaucoup pour cet article qui m'a aidé, et pas seulement moi vu le nombre de réponses. J'ai un vieux Synology (DS110j) qui marche encore très bien donc je n'ai pas de souci avec le DSM 6, vu qu'il n'est pas installé.
Par contre, j'ai moi aussi le paquet qui plante quand le nom du fichier à indexer comporte un apostrophe.
Pour contourner ce problème j'ai créé une tâche dans le DSM qui tourne toutes les 5 minutes. Elle relance le paquet s'il est absent et envoie une notification dans l'interface DSM :
if ! pidof media-indexer > /dev/null ; then /var/packages/media-indexer/scripts/start-stop-status start && synodsmnotify @administrators Media-indexer 'relance suite plantage' ; fi
Comme ça on peut voir quel est le fichier qui pose problème en consultant les logs de media-indexer à l'heure du plantage et en renommant ce fichier sans apostrophe il sera correctement indexé. Vu que le paquet est relancé on ne perdra pas d'autres indexations.
Ça pourra peut-être aider d'autres personnes 😉
En voila une bonne idée. Merci pour le partage 🙂
De rien. Pour être propre, il vaut mieux lancer un stop avant le start et mettre tout ça dans un petit script.
Bonjour,
Comment modifier les dossiers à indexer une fois installé ? Je n'ai pas compris où trouver le fichier à modifier ? Merci d'avance.
@Matthias: Bonjour, c'est précisé dans le billet, le fichier est ici :
vi /var/packages/media-indexer/target/etc/media-indexer
@donpedrus:
Bonjour,
donpedrus, ne maitrisant pas trop linux (à part les commandes de base), je ne vois pas trop comment procéder.
Pourrais tu donner la procédure (création du script, ...etc) pour la mise en place de la tâche ?
Merci.
Bonjour,
Je possède un DS416j
DSM 6.1.1-15101 Update 2
MARVELL Armada 388 88F6828
J'ai installé inotify-tools via le OPKG (nouveau IPKG) car non présent dans les paquets de Francis après ajout de la source
Mais impossible d'installer Media Indexer
Il affiche un message comme quoi il manque le paquet sur le serveur...
et malheureusement pas moyen d'installer Media Indexer via OPKG.
Quelqu'un a une solution ?
Merci de votre aide.
Cdt, Lyl.
Personellement J'ai laissé tombé Media Indexeur, et j'ai installé Plex Media serveur. Et la plus aucun soucis, des l'instant ou j'ajoute un fichier ds une de mes biblioteque.
Cela remplace agreablement Media Indexeur, meme si l'on ne se sert pas de plex en lui meme il permet d'indexer sans soucis.
Pas mal ça ! Merci !!
Ben pour moi plex ne re-indexe pas pourtant j'ai créé une bibliotheque avec mon dossier video dedans et rien a faire...
Bonjour,
J’ai voulu installer Media indexer mais je tombe sur ce message :
Emplacement incorrect avec le lien que vous donnez : http://synology.francis-besset.com
Y a t il moyen de télécharger ce paquet et l’installer manuellement ?
Merci 🙂
Bonjour,
J'ai remplacé media indexer par mediamon, et plus aucun problème avec les accents ni avec aucun fichier :
https://github.com/carljm/synology-mediamon
Il faut corriger le script S99.. en rajouter les lignes suivantes au début pour que celui-ci se lance sans erreur automatiquement au démarrage du syno :
PATH=$PATH:/usr/syno/bin
export LANG='en_US.UTF-8'
export LC_ALL='en_US.UTF-8'
A+
donpedrus
@donpedrus: ca ne fonctionne pas pour moi, impossible de lancer au démarrage :/
@Thelimp: au cas où tu repasserais par ici, je te conseille de regarder les problèmes qui ont été remontés, cela pourrait peut être t'aider à résoudre ton problème, notamment ceux-là :
https://github.com/carljm/synology-mediamon/issues/4
https://github.com/carljm/synology-mediamon/issues/11