When it comes to configurations, Plex is easier to configure than Kodi. However if you are a Linux user, configuring Kodi is not difficult. Actually it is easier than what I thought.
My use case is sharing media files across a LAN. An Espressobin works as the centralized headless media source, a Fedora desktop and an Android Tab as the Kodi clients.
I chose NFS to share the files and MySQL to share the Libraries.
1. Install and configure NFS server on the NAS
I'm using Armbian on my Espressobin, hence the package management tool is apt-get.
apt-get install nfs-kernel-server
Then I have configured /etc/exports file which is the configuration file for NFS server to share the directory where my media files are.
Methods of configuring this file is explained in Kodi Wiki in detailed manner.
http://kodi.wiki/view/NFS#NFS_sharing_from_Linux
I used option one where all UIDs connected to the NFS server are mapped to UID 65534 (i.e. user nobody)
Content of my /etc/exports file,
root@espressobin:~# cat /etc/exports | grep -v '#'
/mnt/kodi_test 192.168.8.0/24(rw,all_squash,insecure)
Then I executed exportfs -ra command to refresh the NFS shares.
At this point, the NFS share has been successfully configured.
2. Install and configure MySQL server on the NAS
The steps required for this are well documented in the Kodi Wiki,
http://kodi.wiki/view/MySQL/Setting_up_MySQL
In brief the steps are,
- Install MySQL server,
- Change Bind Address,
- Restart MySQL Server,
- Execute SQLs to create and configure required database user in MySQL server,
CREATE USER 'kodi' IDENTIFIED BY 'kodi';
GRANT ALL ON *.* TO 'kodi';
flush privileges;
Now I have finished configuring the server side. I have installed and configured NFS and MySQL on my NAS. Now it's time to configure client side. So I installed Kodi on my Fedora desktop.
3. Use MySQL in Kodi
Even though I have created MySQL server and the required MYSQL users on the NAS, Kodi runs on my Desktop must be configured to use the MySQL server.
For that I need to create a XML file called advancedsettings.xml and put it to a directory in each Kodi clients. The directory location is OS specific and the correct location is documented here,
http://kodi.wiki/view/Userdata#Location_of_the_userdata_folder
So I have created my advancedsettings.xml in ~/.kodi/userdata/ in my Fedora desktop machine.
[user@localhost userdata]$ pwd
/home/user/.kodi/userdata
[user@localhost userdata]$ cat advancedsettings.xml
<advancedsettings>
<videodatabase>
<type>mysql</type>
<host>192.168.8.102</host>
<port>3306</port>
<user>kodi</user>
<pass>kodi</pass>
</videodatabase>
<musicdatabase>
<type>mysql</type>
<host>192.168.8.102</host>
<port>3306</port>
<user>kodi</user>
<pass>kodi</pass>
</musicdatabase>
<videolibrary>
<importwatchedstate>true</importwatchedstate>
<importresumepoint>true</importresumepoint>
</videolibrary>
</advancedsettings>
4. Use NFS share in Kodi
I started Kodi on the Fedora desktop and added the NFS share as the media source.
Instruction on adding a shared source is documented here,
http://kodi.wiki/view/Adding_video_sources#Adding_Remote_sources
In brief the steps are,
- Click on the settings icon
- Click on Media Settings
- Click on Library
- Select Videos from "Manage Sources"
- Click on Add Videos
- Then Click on Browse from "Add Video Source" window
- Choose Network File System (NFS) option from the drop down
That's it. the Espressobin NAS has been configured,
- to share content via NFS to Kodi running on devices connected to my LAN
- to maintain a centralized Kodi library in MySQL server running on the same NAS.
Was that difficult? I don't think so.
No comments:
Post a Comment