XBMC Datenbank advanced.xml File

  • Hallo,
    ich habe folgende Fragen.
    Meine SQL Datenbank + XBMC + Thumbordner + Daten befinden alle gemeinsam auf meinem NAS.
    XBMC scrappt die Daten per library watchdog und soll die Daten dann in die DB ablegen, damit ich sie zentral mit den Clients abrufen kann.
    Nun möchte ich von den verschiedenen Clients die Daten abrufen. Unter anderem mit verschiedenen XBMC-Profilen.

    Meine Frage nun: wie muss die advanced.xml auf meinem NAS aussehen?
    <[definition='2','1']advancedsettings[/definition]>
    <videodatabase>
    <type>mysql</type>
    <host>127.0.0.1</host> "Richtig, da die MySql , xbmc und die Daten lokal liegen?"
    <port>3306</port>
    <user>xbmc</user>
    <pass>xbmc</pass>
    <name>MediaCenter_video</name>"sind hier verschiedene Namen für die DB nötig? Da ich ja auch verschiedene Profile nutzen möchte. Müssen die Profile in XBMC dann auch so heißen wie die DB? Also in diesem Fall MeidaCenter?) </videodatabase>
    <musicdatabase>
    <type>mysql</type>
    <host>127.0.0.1</host>
    <port>3306</port>
    <user>xbmc</user>
    <pass>xbmc</pass>
    <name>MediaCenter_music</name>
    </musicdatabase>
    <pathsubstitution>
    <substitute>
    <from>special://masterprofile/Thumbnails/</from>
    <to>127.0.0.1/Daten/Apps/XBMC/Datenbank/Thumbs</to>
    </substitute>
    </pathsubstitution>
    </[definition='2','1']advancedsettings[/definition]>

    Zweite Frage: Wie muss die advanced.xml auf den Clients aussehen und wo muss sie abgelegt werden?

    <[definition='2','1']advancedsettings[/definition]>
    <videodatabase>
    <type>mysql</type>
    <host>IP_NAS</host>
    <port>3306</port>
    <user>xbmc</user>
    <pass>xbmc</pass>
    <name>Kinder_video</name> "Muss hier das Profil in xbmc auch Kinder heißen?"
    </videodatabase>
    <musicdatabase>
    <type>mysql</type>
    <host>IP_NAS</host>
    <port>3306</port>
    <user>xbmc</user>
    <pass>xbmc</pass>
    <name>Kinder_music</name>
    </musicdatabase>
    <pathsubstitution>
    <substitute>
    <from>special://masterprofile/Thumbnails/</from>
    <to>smb://IP_NAS/Daten/Apps/XBMC/Datenbank/Thumbs</to> "was kann ich hier eintragen, wenn ich den Thumb-Ordner nicht für "Jeder" freigeben möchte? Das ist, wie ich finde, ein offenes Scheunentor.Reicht es, auf dem Client das SMB Laufwerk zu verbinden und den Benutzer+Passwort zu speichern?"
    </substitute>
    </pathsubstitution>
    </[definition='2','1']advancedsettings[/definition]>

    Danke....

  • Slipass: verschoben in den Datenbankbereich.
    Zu deinen Fragen kann ich leider nichts sagen da ich noch nie mit Profilen gearbeitet habe. Denke aber nicht das es über den Datenbanknamen zu steuern geht. Ist aber nur ein Bauchgefühl :thumbup:

    Zitat

    <to>smb://IP_NAS/Daten/Apps/XBMC/Datenbank/Thumbs</to> "was kann ich hier eintragen, wenn ich den Thumb-Ordner nicht für "Jeder" freigeben möchte? Das ist, wie ich finde, ein offenes Scheunentor.Reicht es, auf dem Client das SMB Laufwerk zu verbinden und den Benutzer+Passwort zu speichern?"

    ???
    Wieso ist das ein offenes Scheunentor ??? Du kannst doch beim einrichten der SMB Freigabe genau angeben welcher User darauf wie Zugriff hat. Damit ist von vorneherein genau festgelegt wer auf der Freigabe was machen darf.

    Amazon Fire TV 4k | KODI 17.X
    HTPC: ASUS F2A85-M LE | A6-5400K | 4GB DDR3-1866 | 128GB SSD | Windows 10 64 bit | KODI 17.X
    AVR: Onkyo TX-NR509 5.1 + Teufel Consono 35
    TV: Samsung UE55ES6300 55"
    FB: Harmony 785

    Wo finde ich das xbmc.log File?

    Wer einen Rechtschreibfehler findet darf ihn behalten !

  • sind hier verschiedene Namen für die DB nötig? Da ich ja auch verschiedene Profile nutzen möchte. Müssen die Profile in XBMC dann auch so heißen wie die DB? Also in diesem Fall MeidaCenter?)


    Das hängt doch vom Profil ab...gleiche Quellen und DB? und nein, die müssen nicht so heissen, wie die user...

    Zweite Frage: Wie muss die advanced.xml auf den Clients aussehen und wo muss sie abgelegt werden?

    Auch dass hängt davon ab, wie du die profile angelegt hast...

  • Hallo liebe XBMCnerds,

    ich habe ein ähnliches Problem und wollte mich daher hier anschliessen.
    Folgendes Setting habe ich :
    Im Wohnzimmer steht mein NAS/HTPC auf dem bisher XBMC einzig lokal gewerkelt hat,
    als Betriebssystem läuft Windows 7 64 Bit mit XBMC V11

    Da ich aber nun mit meiner Datenbank endlich zufrieden bin hab ich mir gedacht warum diese nicht auch auf anderen Clients nutzen ?
    Bisher habe ich 3 PCs die auch darauf zugreifen sollen, später kommt noch ein Raspberry dazu.

    Ich habe zunächst die die vorhandene interne Datenbank exportiert und dann XBMC de-und neu installiert
    Anhand dieser Anleitung habe ich dann MySQL auf dem NAS installiert

    http://www.olivergast.de/2011/12/30/xbmc-guide-teil-1/


    und anschliessend die Datenbank wieder importiert.

    Auf dem Server läuft das auch ganz gut.
    So sieht meiner sources.xml aus :


    und so die [definition='2','1']advancedsettings[/definition].xml


    Das XBMC auf dem Server läuft auch wie gewohnt und anstatt der bisher verwendeten SQL-Datei im lokalen Ordner nimmt er jetzt
    wohl eine eigene im Server. (Wie kann ich das überprüfen ??)
    Als Ordner für die Thumbnails nehme ich einfacherweise den lokalen Userordner auf dem NAS und gebe diesen frei.
    Die Ordner in denen die Sources liegen sind mit den identischen Laufwerksbezeichnungen alt Netzlaufwerke mit dem Client verbunden


    Und so sieht die [definition='2','1']advancedsettings[/definition].xml für den Client aus

    Nun kommen wir zu meinem Problem :
    Starte ich auf dem Client XBMC sehe ich noch den Startbildschirm und dann hängt es sich auf.
    Entferne ich die database-tags kann ich das Clientprogramm problemlos starten.

    Habt ihr vielleicht eine Ahnung woran das liegen könnte ?

  • Starte ich auf dem Client XBMC sehe ich noch den Startbildschirm und dann hängt es sich auf.
    Entferne ich die database-tags kann ich das Clientprogramm problemlos starten.


    Das kann auch nicht gehen solange du auf dem "server" lokale Pfade in die Datenbank einträgst.
    Du musst deine Datenbank noch einmal separat exportieren, siehe dazu hier [HowTo] XBMC Datenbank exportieren/importieren, bereinigen und löschen
    Danach musst du die MySQL DB löschen, dann die Quellen in XBMC löschen und auch auf dem Server NetzwerkPfade als Quellen verwenden. In deinem Fall sollten das wohl SMB Freigaben sein, welche du auf dem Windows "Server" angelegt hast.
    Diese XBMC Quellen musst du mit den gleichen NetzwerkPfaden auf allen XBMC Clients und dem XBMC "Server" genau gleich einstellen.

    PS: Derzeit verwendet die XBMC Version speziell für den PI noch eine andere DB Version als der Rest. Zumindest ist das mein letzter Wissensstand bitte korrigieren wenn nicht mehr aktuell.

    Amazon Fire TV 4k | KODI 17.X
    HTPC: ASUS F2A85-M LE | A6-5400K | 4GB DDR3-1866 | 128GB SSD | Windows 10 64 bit | KODI 17.X
    AVR: Onkyo TX-NR509 5.1 + Teufel Consono 35
    TV: Samsung UE55ES6300 55"
    FB: Harmony 785

    Wo finde ich das xbmc.log File?

    Wer einen Rechtschreibfehler findet darf ihn behalten !

  • Vielen Dank für den Hinweis.
    Ich bin davon ausgegangen das dies kein Problem darstellt, da die lokalen Pfade auf dem Server ja genau die gleichen Laufwerksbuchstaben haben wie die verbundenen Netzlaufwerke auf dem Client.
    Kann ich auf dem Server denn irgendwie die lokalen Pfade als "Netzwerkpfade" definieren und dann die sources auch auf den Client verwenden z.B. so :
    "server-version"

    Code
    <sources>
        <video>
            <default pathversion="1"></default>
            <source>
                <name>Filme 3TB</name>
                <path pathversion="1">smb://127.0.0.1/freigabename/</path>
            </source>

    "client-version"

    Code
    <sources>
        <video>
            <default pathversion="1"></default>
            <source>
                <name>Filme 3TB</name>
                <path pathversion="1">smb://nas/freigabename/</path>
            </source>
  • Wieso machst du sie denn unterschiedlich ? Du kannst doch einfach immer "smb://nas/freigabename/" verwenden.

    Das Problem ist, dass sich XBMC die Pfade zu den Videos in der Datenbank abspeichert. Wenn du da jetzt smb://127.0.0.1/freigabename/ verwenden würdest ginge es ja wieder nur am Server. Denn unter der Adresse smb://127.0.0.1/freigabename/ findet nur der Server die Filme. Auf den anderen HTPCs liegt unter der Adresse nichts, daher kann dort natürlich auch kein Video abgespielt werden.

    Zitat

    ich bin davon ausgegangen das dies kein Problem darstellt, da die lokalen Pfade auf dem Server ja genau die gleichen Laufwerksbuchstaben haben wie die verbundenen Netzlaufwerke auf dem Client.

    Warum über MySQL keine lokalen Pfade gehen weiß ich nicht, ist eben so ... Vielleicht kann dir das jemand anders erklären. Ich weiß nur das es mit Laufwerksbuchstaben nicht geht wenn MySQL verwendet wird. Selbst wenn es überall die gleichen Buchstaben sind.

    Amazon Fire TV 4k | KODI 17.X
    HTPC: ASUS F2A85-M LE | A6-5400K | 4GB DDR3-1866 | 128GB SSD | Windows 10 64 bit | KODI 17.X
    AVR: Onkyo TX-NR509 5.1 + Teufel Consono 35
    TV: Samsung UE55ES6300 55"
    FB: Harmony 785

    Wo finde ich das xbmc.log File?

    Wer einen Rechtschreibfehler findet darf ihn behalten !

  • Zitat

    Wieso machst du sie denn unterschiedlich ? Du kannst doch einfach immer "smb://nas/freigabename/" verwenden.

    Das Problem ist, dass sich XBMC die Pfade zu den Videos in der Datenbank abspeichert. Wenn du da jetzt smb://127.0.0.1/freigabename/ verwenden würdest ginge es ja wieder nur am Server. Denn unter der Adresse smb://127.0.0.1/freigabename/ findet nur der Server die Filme. Auf den anderen HTPCs liegt unter der Adresse nichts, daher kann dort natürlich auch kein Video abgespielt werden.

    Da hast du natürlich vollkommen recht, ich war irgendwie noch nicht so ganz wach :D

    Werde ich gleich mal ausprobieren, dauert allerdings ein bisl

    Wenn ich auf den Clients einen Eintrag in der DB ändern möchte, müssen diese dann doch auch Schreibrechte haben, bisher habe ich die Netzlaufwerke nur für den Administrator mit Schreibrechten freigegeben.
    Würde folgende Sourceangabe funktionieren :

    Code
    smb://admin:adminpasswort@nas/freigabename/

    MfG

  • Wenn ich auf den Clients einen Eintrag in der DB ändern möchte, müssen diese dann doch auch Schreibrechte haben, bisher habe ich die Netzlaufwerke nur für den Administrator mit Schreibrechten freigegeben.
    Würde folgende Sourceangabe funktionieren :

    Code
    smb://admin:adminpasswort@nas/freigabename/

    MfG


    Wenn du nur den DB Eintrag ändern willst dann braucht der DB User welcher vom Client verwendet wird entsprechende rechte in der MySQL DB und nicht auf der SMB Freigabe. Wenn du mit dem neuen/geänderten DB Eintrag auch neue Thumbnails anlegen willst brauchen die Clients Schreibrechte auf dem ThumbnailsOrdner smb://nas/xbmc/thumbnails.
    siehe dazu auch [HowTo] Pathsubstitution: Thumbnails in einen anderen Ordner auslagern . Das sollte überigens auch in alle [definition='2','0']as.xml[/definition] Dateien, also Server und Client, da auch hier alle Ablageorte gleich sein müssen. Ansonsten hast du auf den Clients keine Thumbnails.

    Wenn die Clients auch Dateien bearbeiten/löschen/erstellen sollen brauchen sie entsprechende Rechte auf der SMB Freigabe. Wenn du einen export von einem Client machen willst braucht dieser Schreibrechte auf alle VideioOrdner. Da er ja sonst keine Dateien anlegen kann und damit auch keinen Export durchführen kann. Eine entsprechende Fehlermeldung fehlt hier allerdings in XBMC ...

    Code
    smb://admin:adminpasswort@nas/freigabename/

    JA, sollte funktionieren

    Amazon Fire TV 4k | KODI 17.X
    HTPC: ASUS F2A85-M LE | A6-5400K | 4GB DDR3-1866 | 128GB SSD | Windows 10 64 bit | KODI 17.X
    AVR: Onkyo TX-NR509 5.1 + Teufel Consono 35
    TV: Samsung UE55ES6300 55"
    FB: Harmony 785

    Wo finde ich das xbmc.log File?

    Wer einen Rechtschreibfehler findet darf ihn behalten !

    Einmal editiert, zuletzt von keibertz (30. September 2012 um 10:25)

  • Vielen Dank für deine Hilfe Keibertz.
    Ich hab die Datenbank komplett neu eingelesen nit den neuen Pfaden und nun funzt es.

    Darüber hinaus hat doch tatsächlich noch diese :cursing: X( 8| :cursing: Windows Firewall den eingehenden MYSQL-Port blockiert.

    Leider ist XBMC jetzt grottenlangsam beim aufruf der Fileliste oder der Filmdatenbank (>20 Sekunden)
    und das trotz "query_cache_size 10000000;"

    Gut meine Filmdatenbank ist ziemlich gross (>1800 Einträge) aber die Datenbank war unter XBMC nur 22 Megabyte gross, das sollte doch nicht so ausbremsen oder ?

    Gibt es vielleicht noch Optimierungsmöglichkeiten ?

  • Leider ist XBMC jetzt grottenlangsam beim aufruf der Fileliste oder der Filmdatenbank (>20 Sekunden)
    und das trotz "query_cache_size 10000000;"

    Gut meine Filmdatenbank ist ziemlich gross (>1800 Einträge) aber die Datenbank war unter XBMC nur 22 Megabyte gross, das sollte doch nicht so ausbremsen oder ?


    Wie ist die Verkabelung ? WALN, LAN, Kabel ? Zu langsames WLAN kann gut der Grund dafür sein, aber auch ein 10 Mbit Netzwerk kann ein Engpass sein. Allerdings sollten bei Lan-Kabel derzeit meist mindestens 100 MBit verfügbar sein und 100 MBit reichen sicher aus.

    Schau mal nach wie ausgelastet der "server" ist während die FilmDB aufgerufen wird. Hatten schon paar mal bei anderen Leuten dass der "server" zu schwach für die gefüllte MySQL DB war und während dem Abruf zu 100% die CPU oder der RAM ausgelastet war.

    Amazon Fire TV 4k | KODI 17.X
    HTPC: ASUS F2A85-M LE | A6-5400K | 4GB DDR3-1866 | 128GB SSD | Windows 10 64 bit | KODI 17.X
    AVR: Onkyo TX-NR509 5.1 + Teufel Consono 35
    TV: Samsung UE55ES6300 55"
    FB: Harmony 785

    Wo finde ich das xbmc.log File?

    Wer einen Rechtschreibfehler findet darf ihn behalten !

  • Der Server ist ein Intel Atom D525 1,8 Ghz mit 4 Gigabyte Ram und einer 1 Gbit LAN Schnittstelle.
    Als Betriebssystem kommt Windows 7 64 Bit zum Einsatz.
    Während des Zugriffs des Clients habe ich keine Erhöhung der Netzwerkaktivität oder der CPU Last erkennen können, letzere blieb unter 40%.
    Der RAM ist zu 55% frei, knapp 220 MB belegt MySQL

    Der Client hat nur eine 100 Mbit LAN-NIC.
    Verbunden sind beide über Cat 6 Kabel ind einer Gigabit Switch.

    Ich vermute eher das es ein Datenbank(Struktur)Problem ist, denn auch der XBMC auf dem Serverrechner ist merklich langsamer geworden, wenn auch nicht so schlimm

    Logs habe ich hier hochgeladen, bin direkt vom Hauptmenü ins Filmverzeichnis und dann wieder zurück ins Hauptmenü

    http://xbmclogs.com/show.php?id=9669

    http://xbmclogs.com/show.php?id=9668

    http://xbmclogs.com/show.php?id=9671

    Nochmal vielen Dank Leute, ich bin euch für eure Hilfe echt dankbar.
    MfG und eine gute Nacht wünsch ich euch

  • Also ich bin leider mit meinem Latein am Ende.
    Ich habe die Zwischenzeit genutzt um die DB komplett neu zu erstellen aber das brachte immer noch keinen Geschwindigkeitsvorteil.
    Um Netzwerkprobleme ausschliessen zu können habe ich nochmal auf dem Serverrechner getestet und der Wechsel ins Filmverzeichnis dauert immer noch ewig lang,ebenso wie das "Verlassen" von XBMC, aus dem Log werde ich leider nicht wirklich schlau.

    http://xbmclogs.com/show.php?id=9781

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!