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>
....