In questo articolo spieghiamo come configurare Kodi con il supporto di un database Mysql per la centralizzazione dele informazioni.

INTRODUZIONE

XBMC (ora KODI) si presentò circa 10 anni fa al mondo, concepito per girare su Xbox, ora funziona su gran parte dei sistemi operativi esistenti ed è opensource. E' fornito di un gran numero di plugin e addons. Per il download del software vi rimando al sito ufficiale dell'applicazione http://kodi.tv/ un'altro sito interessante ed in italiano è http://www.xbmc-italia.it/
Quanto segue riguarda la configurazione dei client (linux-windows) e di un pc/nas con a bordo un db mysql.

INSTALLAZIONE MYSQL SERVER

Procediamo con l'installazione, ovviamente il server dovrà essere una macchina che stà sempre o quasi accesa nella nostra rete di casa. Io l'ho installato su una macchina linux, ma qualsiasi sistema operativo può andare bene, qua trovate tutte le versioni "downloadabili" http://dev.mysql.com/downloads/mysql/. Con linux installiamolo dal repository:

UBUNTU

sudo apt-get install mysql-server


REDHAT/FEDORA

yum install mysql-server mysql


OPENWRT

opkg install libpthread libncurses libreadline mysql-server


Andiamo a modificare con vi il file che di configurazione che di norma di trova sotto la /etc/my.cnf:

vi /etc/my.cnf


inseriamo il path dove avremo il db e la directory temporanea, mettiamo anche l'ip del server

[client]
port = 3306
socket = /var/run/mysqld.sock
[mysqld]
user = root
socket = /var/run/mysqld.sock
port = 3306
basedir = /usr
############ Don't put this on the NAND #############
# Figure out where you are going to put the databases
# And run mysql_install_db --force
datadir = /hdd/sharesamba/mysql/
######### This should also not go on the NAND #######
tmpdir = /hdd/sharesamba/Temp/
skip-external-locking
bind-address = 192.168.0.1
......


** creare le directory in caso non ci siano

Installiamo il db e facciamo partire il demone:

mysql_install_db --force
/etc/init.d/mysqld start
/etc/init.d/mysqld enable


settiamo la password di root:

mysqladmin -u root password 'nuova-password'
mysql -u root -p --------- se non dovesse entrare provare con: mysql
Enter password:


entriamo con la password di amministratore appena impostata

CREATE USER 'kodi' IDENTIFIED BY 'kodi';
GRANT ALL ON *.* TO 'kodi';


per verificare l'accesso basta accedere con lo user kodi (opz. -u kodi)
per uscire digitare \q

CONFIGURAZIONE CLIENT

Dopo aver installato il client sulla nostra piattaforma preferita bisogna andare a creare il file che punterà al db, in particolare da sito XBMC (KODI) si consiglia di mettere l'ip e non l'hostname per questioni di performance. Dipendentemente dal sistema operativo bisogna prima di tutto creare il file advancedsettings.xml.

<advancedsettings> 
  <videodatabase> 
    <type>mysql</type> 
    <host>***.***.***.***</host> 
    <port>3306</port> 
    <user>kodi</user> 
    <pass>kodi</pass> 
  </videodatabase> 
 <musicdatabase> 
    <type>mysql</type> 
    <host>***.***.***.***</host> 
    <port>3306</port> 
    <user>kodi</user> 
    <pass>kodi</pass> 
  </musicdatabase> 
  <videolibrary> 
    <importwatchedstate>true</importwatchedstate> 
  </videolibrary> 
</advancedsettings>



I path di dove dovrà essere copiato il file sono: KODI (nuovo)

Android Android/data/org.xbmc.kodi/files/.kodi/userdata/ (see note)
iOS /private/var/mobile/Library/Preferences/Kodi/userdata/
Linux ~/.kodi/userdata/
Mac /Users/<your_user_name>/Library/Application Support/Kodi/userdata/ (see note)
OpenELEC /storage/.kodi/userdata/
Windows Start - type %APPDATA%\kodi\userdata - press <Enter>

 

VERIFICHE FINALI

Ora avviamo kodi configuriamo i vari source e gli scrapers necessari per le copertine e le info dei nostri film/album/serie.
Facciamo uno scan veloce ed andiamo a vedere sul server se sono state create le tabelle.

mysql
...
show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| MyMusic32          |
| MyVideos75         |
| mysql              |
| test               |
+--------------------+
6 rowin set (0.28 sec)

Se ci troviamo i DB MyMuscXX e MyVideosXX il tutto funziona. Se volessimo cancallare e rifare lo scan basta fare riferimento ai comandi Mysql (esempio: drop database MyVideos75;).

Ora da qualsiasi pc della rete copiando l'opportuno advancedsettings.xml la libreria si aggiornerà da server centrale.

N.B. dare lo stesso nome del source per ogni kodi client, per i sorgenti DVD io ho fatto lo scan da ubuntu indicando la label del DVD (DVD0001, ovviamente bisognava labellizzare il DVD al momento della masterizzazione). Per poterli poi leggere su sistemi Windows (il path ovviamente del dvd è diverso da linux) bisogna modificare per ogni source DVD il file advancedsettings.xml in questo modo (rimappando l'unità):

....
<substitute> 
  <from>/media/DVD0001/</from> 
  <to>G:\</to> 
</substitute>
....