Just recently Kodi Matrix (v19) came out. I’m running a Nvidia shield with kodi on it and I’ve set it up to use mysql as the database to store its content. Mainly for multi client support, so all the clients are in sync when it comes to the watch state of video’s for example.
So long, MySQL
When Kodi upgraded, this setup went down with it. No surprise, since MySQL was not officially supported for the longest time (I’m not even sure if it ever was).
So it was time to move away from this fragile setup and look for something better to support a multi client solution in Kodi.
I found Jellyfin some time ago already and thought it looked quite interesting. However I never got around to setting it up, since migrating my data from MySQL would be a fairly impossible task (not really impossible but would take too much of custom coding / scripting).
So until things really broke down, I put off migration. But now it did break, I had no other option than leaving the (My) SQL data behind and starting from scratch.
Setting things up again
Most of the experience Jellyfin offers is quite seamless and easy. Just installing and configuring things is a breeze.
The only thing to make sure is that, if you don’t want your Kodi clients to always transcode, you have a NFS/SMB share setup (and accessible) for your Jellyfin channels. This way the Kodi plugin can access the media in “native mode” as jellyfin calls it. This just means it streams the original file without transcoding it first.
Some bugs (no it’s not features) might crop up
When setting things up I did run into some minor bugs, especially when it comes to metadata handling.
For example some images would be added as blank/corrupt ones. I noticed this mainly in the music channels I’ve setup.
And ofcourse file matching is always hit and miss. Jellyfin has an identify feature to correct mistakes. This however seems to not work so great yet for the music library. Searching on artist name works, but doing so seems to screw up the albums linked to the artist. As far as I found at least.
Also searching on anything other than the name, like the AudioDB Id, seems to not show any results.
Although these small little bugs I’m pretty happy with this setup. It’s a lot more convenient than the MySQL setup was, since the server now actively watches for new content instead of having the client scrape the server. That speeds up the process quite a bit.