Kodi (krypton) base de données commune (mysql) [résolu]

Bonjour, me revoici pour de nouvelles aventures (galères :-D) !!!

Plantage de décor : prevoyez de l’aspirine
Sur mon réseau se trouvent trois Raspberry Pi2 (raspbian jessy) qui me servent de multimédia center avec Kodi (krypton) d’installer dessus, ces derniers sont donc installés physiquement dans diverses pièces de la maison. voici une brève présentation de l’installation

Pi N°1 = salon
Pi N°2 = salle de jeux
Pi N°3 = chambre

Serveur web (apache, php, mysql) = avec deux bases de données dédiées à Kodi
Nas = chargé de l’organisation des fichiers vidéos / musique avec plusieurs répertoires dont voici la hierarchie.

  • « Films » (stockage des films pour les grands, action, science-fiction, horreur…)
  • « Série » (stockage des séries, avec les épisodes… ex Walking Dead>Saison 1 >blabla…)
  • « Enfants/films » (stockage des films et dessins animés, longs métrages)
  • « Enfants/série » (Pour les dessins animés en saga, Ulysse 31, Les mystéreuses cités d’or)…

Bon j’ai des noms de séries pour enfant qui remontent plus à mon enfance que celle de mes gosses !!!

Avec une séparation du Nas on se doute que chaque Kodi va recevoir deux profils, un profil « parents » et un profil « enfant ». Le profil « parent » est donc un profil pour les grand et est verrouiller par un code parental.

Chaque profil visant une source du nas en fonction de « l’age ». ainsi le menu film des parents vise le répertoire « film du nas » et le menu série du profil parent celui de « série du nas »… idem pour le profil enfant.

Et cette configuration s’applique au trois raspberry de la maison !

Une basse de données commune ?
A l’époque je n’utilisais pas de basse de données communes, ouép cela était simple de configuration mais présentait quelques inconvénients, un film « vu » dans le salon, n’apparaissait pas comme « vu » dans la chambre… le point d’arrêt de lecture, si on arrête un film en cours et que l’on veut le reprendre dans la chambre il fallait avancer a la main (avance rapide) pour le reprendre là ou on était arrivé quand on était dans le salon.

advancedsettings.xml !
j’ai donc vu sur le net qu’il était possible de configurer le tout avec une base de données commune, et c’est donc ce que j’ai configuré !

voici les tutos que j’ai suivi

après ces quelques lectures, j’ai donc rédigé mon fichier advancedsettings.xml comme suit :

<advancedsettings>
    <videodatabase>
        <type>mysql</type>
        <host>ip_server_web</host>
        <port>3306</port>
        <user>kodi</user>      <!-- user msyql avec droit --> 
        <pass>password</pass>   <!-- mot de passe de l'utilisateur-->
        <name>kodi-video>            <!-- nom de la base de données-->
    </videodatabase>
    <musicdatabase>
        <type>mysql</type>
        <host>ip_server_web</host>
        <port>3306</port>
        <user>kodi</user>      <!-- user msyql avec droit --> 
        <pass>password</pass>   <!-- mot de passe de l'utilisateur-->
        <name>kodi-music>            <!-- nom de la base de données-->
    </musicdatabase>
    <videolibrary>
        <importwatchedstate>true</importwatchedstate> <!-- statu vu/pas vu à priori -->
        <importresumepoint>true</importresumepoint>   <!-- je pense que c'est le temps ou on est arrivé dans le film -->
</advancedsettings>

Voilà tout ceci est en place le fichier est placé dans le répertoire /home/mon_user/.kodi/userdata est tout fonctionne nickel.

Mon problème :

Je me suis cassé la tête à organiser les répertoire du Nas, j’ai suivi les convention de nommage du wiki de kodi… j’ai fait des utilisateurs et j’ai ajouter les sources dans les menus et catégories…
C’est d’une grande beauté, et super agréable à utiliser avant l’installation de la base de donnée mais voici ce qui c’est passé :

Ma belle organisation Profil / Source du Nas vole en éclat car, le profil « Enfant » utilise lui aussi la base de donnée mysql, le profil « Parent » pareil, du coup dans mon Kodi en tant que parent si je vais dans le menu « film » je vois même la liste des dessins animés.

les profils « kodi » ne chargent / filtrent pas les données en provenance de la base mysql. en effet un seul fichier advancedsettings.xml existe sur chaque Pi.

kodi peut t’il charger un xml différents selon les profils ?
Quelqu’un utilise t’il cette configuration avec base de données commune ?
Avez vous constaté le même problème ? vous l’avez peut être résolu :smiley:

En attendant je suis déçu, je m’attendais pas a avoir ce soucis :frowning:
Merci de m’avoir lu, merci d’avance pour vos réponses !

Après quelques recherches… c’est pas simple à formuler dans google comme problème :smiley:
Mais il semblerait que je cherche à faire ceci :

  • Multi-utilisateurs (profiles kodi)
  • Multi-kodi (plusieurs rapsberry)
  • Une base de données…

J’ai trouvé ceci, c’est donc un post qui devrait m’aider…
https://forum.kodi.tv/showthread.php?tid=196821

Bon, j’ai finalement résolu mon problème.

Il suffit de créer trois bases de données…

  • kodi-music
  • kodi-parents
  • kodi-enfants

Ensuite dans kodi, il existe le « master-profil » celui que je nomme « parents » avec un code parental.

J’ajoutes ensuite un nouveau profil via « Paramètres > Paramètres de profil > Profils > Ajouter un profil »

Ce dernier sera le profil « Enfants », je règle également les options de Kodi pour démarrer par défaut sur ce profil "Paramètres > Paramètres de profils > Général "
et je selectionne le profil enfants dans « identification auto au démarrage ».

maintenant, il faut créer deux fichiers « advancedsettings.xml »
l’un à « home/mon_user/.kodi/userdata/advancedsettings.xml »

ce dernier sera configuré ainsi :

<videodatabase>
    <type>mysql</type>
    <host>192.168.x.x</host>
    <port>3306</port>
    <user>user_bdd</user>
   <pass>pass_bdd</pass>
  <name>kodi-parents</name>
</videodatabase>

Puis dans le répertoire « Enfants » qui est /home/mon_user/.kodi/userdata/profiles/Enfants/advancedsetings.xml

je le configure ainsi :

<videodatabase>
    <type>mysql</type>
    <host>192.168.x.x</host>
    <port>3306</port>
    <user>user_bdd</user>
   <pass>pass_bdd</pass>
  <name>kodi-enfants</name>
</videodatabase>

Ainsi le master profil utilise la base de données name « kodi-parents » alors que le profils « Enfants » utilise la base de données « kodi-enfants ».
Il ne reste plus qu’à copier tout ces fichiers sur les autres raspberry et le tour est joué.

J’ai ainsi que trois médiathèque a actualisé au lieu de six. Si je regarde un film dans le salon, il sera marqué comme « vu » dans la chambre. Et si je ne termine pas de regarder mon films je pourrais le reprendre à l’endroit exact ou je l’avais laissé.

pratique si je veux virer les enfants de devant ma télé et leur dire d’aller regarder la fin dans la salle de jeux :smiley:

EDIT : A NOTER : Kodi renommera les bases de données, pourquoi ??? peut être un numéro de version. Il faut également avoir les mêmes versions de kodi sur tout vos raspberry ou PC.

Génial !
merci a toi pour cette question/réponse
je me demandait s’il était possible de realiser ce genre de chose, ce qui permettrait aussi a terme si et quand on reinstalle un kodi de ne pas perdre toutes ses coches !
du coup quand ma carte SD a pété la semaine derniere, j’aurai pu ne pas perdre cela !
C’est totalement waf et kaf ca !!!
je vais tester, merci bcp :slight_smile:

Bonjour,

je dis Whaoo !
je me mets ce post en favori. je crois que j’ai trouvé la réponse à mes questions ( mise en place d’une bibliothèque Multi-sources, multi utilisateurs)
par contre, ça oblige à avoir un Rasp. par écran. en plus l’idée de gérer le « point d’arrêt » à la sauce Netflix , du grand art !!

Merci , effet WAF garanti
je vais me jeter sur les différents tutos.:grinning:

Merci, les gars.

Par contre @Davesoul quand tu dis :

Ca me soulève quelques questions, on est pas un peu obligé d’avoir un raspberry par écran ?

Je suis chez moi avec ceci :

  • Salon
  1. une smart tv avec un raspberry pi 2 & kodi
  2. un écran de vidéo-projecteur + un vidéo projecteur (rien dessus pour l’instant).
  • salle de jeu
  1. une télé (vieille) + pi 2
    que je vais remplacer par un pi3 avec recall box, après tout c’est une salle de jeux…
  • chambre 1
    1 une télé + pi 2 (kodi)

Vous faîtes comment vous ?

Si ta télé supporte le DLNA il doit y avoir moyen d’accéder aux contenus d’un kodi à distance.

Sinon merci pour le retour, c’est très intéressant

1 « J'aime »

Ah oui, mais j’ai qu’une seule smartTV :-d
Je l’utilise que lorsque le kodi du salon est en maintenance :wink:

Pour le retour c’est normal, quand on viens chercher de l’aide il faut aussi partager ses découvertes !

Salut,
le sujet date un peu mais je suis en train de faire ce genre d’installation chez moi, le problème est que ça ne fonctionne pas. La différence est que j’utilise un RASP PI3B+ pour le serveur NAS, un RASP PI3 B pour la TV dans le salon et un RASP PI3 B+ dans la chambre

J’ai suivi le tuto pour faire un NAS avec un Raspberry et samba, ça ça fonctionne
Ensuite j’ai installé My SQL mais je pense que c’est la le problème. J’ai placé la base de donnée dans le répertoire utilisateur mais je n’arrive pas à accéder au partage.

Pour les sources sur Kodi, vous prenez le partage SMB ou NFS ? Est-ce que cela à de l’importance ?

Quelqu’un a-t-il déjà fait cette installation chez lui et qui pourrait m’apporter son aide ?

Je suis novice avec tout ça

Merci d’avance

Salut !

Bonne et heureuse année 2019 !

Il faut t’assurer que la base de donnée est fonctionnelle, si tu as installé un outils d’administration tel que phpMyAdmin, tu peux tenter de te connecter dessus… le problème c’est qu’il n’accepte que les connexions locales (c’est a dire de la ou est installer la base de donnée). Tu ne pourras pas te connecter à PHPMyAdmin via un autre pc…

Tu peux utiliser un outil gratuit « heidiSQL » qui te permettra de te connecter à ta base de donnée depuis un autre PC.

La première chose à vérifier et que la base de donnée est opérationnelle et accessible.

Pour les sources en SMB ou NFS cela dépend du protocole supporté par le NAS. SMB est un protocole permettant le partage entre Linux & Windows. Si ton NAS supporte les deux, ou plus, cela n’a guère d’importance.

A noter : La base de données ne permet que d’échanger entre les différents kodi les informations suivante :
- films scanné dernièrement (Kodi scan à chaque démarrage ou changement de user), ca évite d’avoir à scanner sur tous les Kodis de la maison. Le premier qui scan actualise la base, les autres kodis n’auront pas besoin de refaire un scan pour trouver les nouveaux films.
- Films vus, Nouveauté, et emplacement du point de lecture d’un film en cours de visionnage

Pour ma part c’est un NAS Linux (RedHat) modifié, car mon NAS et un NAS Médion, j’ai actuellement installer un autre NAS avec OpenMediaVault mais je n’ai pas eu beaucoup le temps de m’en occuper.

Bref, test de te connecter à ta base de données, soit localement soit en accès distant (autre pc) en utilisant le navigateur web (si PhpMyAdmin est installé sur ton serveur Web) soit avec heidiSQL.

N’hésites pas à repasser poser tes questions, je tenterais de d’aider au mieux.

Bonne chance.

Salut,

Bonne année à toi aussi

Je te remercie pour ton aide, malheureusement je n’ai pas encore eu le temps de le faire.
Je m’en occupe la semaine prochaine et je te ferai un retour

Merci encore