This is a follow-up to my previous post, How to Merge Kodi Streaming Add-ons into the Video Library. If you haven’t read that post, please check that out first. After many years of being an XBMC / Kodi user, it was a complete game changer.
Now, after I set up my main home theater PC (HTPC) with TV shows and movies merged into the library, I noticed an issue where other HTPCs in my home couldn’t access that media. Episodes would appear, but the links were broken.
Kodi MySQL Database Library Sharing
Before I go any further, I should probably explain why and how my movies and TV shows appear on other computers. The reason is because I setup a MySQL shared library.
You see, on my “main” HTPC, I installed MySQL server, and configured every instance of Kodi in my house to look to that MySQL database for the library. You do that by adding an “advancedsettings.xml” file to your userdata folder (For Windows, located in C:\Users\YourUsername\AppData\Roaming\Kodi\userdata\). The contents of that xml files should look something like this (swapping the highlighted parts with your own settings).
<advancedsettings> <videodatabase> <type>mysql</type> <host>mysql_IP</host> <port>3306</port> <user>mysql_username</user> <pass>mysql_password</pass> </videodatabase> </advancedsettings>
With this setup, every Kodi HTPC in your house shares the exact same library. You can watch half of a movie in one room, and pick up from that same spot in another room. Watched statuses get synced across all computers.
Don’t Add a Source with a Local Path When Using a MySQL Database Shared Library
Getting back to the issue I was talking about earlier, based on my previous post, the TV shows and movies in my library that were from Genesis would only work on the main computer because I had added the sources using a local path like…
C:\Users\YourUsername\AppData\Roaming\Kodi\userdata\addon_data\plugin.video.genesis\TV Shows
Use Windows network (SMB) Paths for Shared Sources
The solution to sync Genesis libraries across all of my HTPCs was to add a new source that basically pointed to the same folder but using the network path using Windows network (SMB).
Of course, you will need to make sure you share that folder to make it available over the network. In my case, I just shared my entire Users folder, so you can see in the below screenshot, I had to drill all the way down to that same folder.
After adding the new source using the network path, I then attempted to mark shows, seasons, and episodes as watched so the network source roughly matched the local source in terms of watched status. During this state, all episodes show twice. Once from the local source and another from the network source.
When that was done, I removed the local source leaving only the network source. I then tested on one of my other HTPCs and the media loaded up exactly the same as the main HTPC.
Enjoy! If you have any questions or concerns, be sure to Ask a Question and I would love to help you out. Thanks!
Thanks for the great information! You’ve helped solve a big headache for me. I have a question for you. Do you know of any way to make genesis automatically search through a given show’s list of streams until it finds a working link? Thanks again.
I also have thought about that. I wish that was a feature of Genesis… That it would automatically ping each link to see which ones respond the fastest. When I saw the “auto-play” feature appear, I thought that was it, but no.
This might work:
Access the Genesis add-on settings by navigating to Add-ons > Video Add-ons > Context Menu > Add-On Settings.
General: Make sure the “Sources Timeout” is set to 10 (the lowest setting) so that you don’t end up waiting a really long time if you happen to select a link that doesn’t work.
Playback: Check “Auto-play”. This will actually allow Genesis to automatically play the best quality working link when you enter a movie or TV show and you won’t have to select a file host at all! This saves you time and allows you to watch movies or TV shows without searching through dead links.
UkiwiS, that’s a great suggestion to lower the timeout to save time. You’re right, if it doesn’t load in 10 seconds, it’s not worth trying.
Regarding Auto-Play, I’ve tried that before, but then I’ve been stuck where Genesis thinks it finds a good link, but it doesn’t really work very well. Sometimes it might load the first frame and then just sit there buffering at 0%, or sometimes there are videos that will only play for about 2 minutes and then they buffer at 0% indefinitely. The problem with Auto-Play is that if you come across a case like this, you have no control and it will keep trying the same bad link that it thinks is good.
Have you had a different experience with Auto-Play? Am I missing something?
So, the next question is, how do you “add to Library” on any of the remote HTPC’s and have this show up on the others. It appears you have to set all your favorites and “add to library” on the
main HTPC that has SQL installed.
Justin, fantastic comment! I was actually pondering this very thing recently and was considering writing a post about it. Thanks to you, I’ve gone ahead and written a tutorial on how to do this. https://kinkeadtech.com/2015/09/add-shows-to-kodi-genesis-from-any-htpc-in-the-house/
Here’s a question: does this work across different Kodi hardware? Ex: Amazon fire tv, Raspberri Pi, HTPC running mySqL? Thanks :)
Yes.
This works on the host pc but fails on a computer accessing via the network thru the MySQL database. I know it’s not MySQL because local files on the host pc work just fine on the remote pc. Only Genesis episodes are having the problem. On the remote pc I can see the episodes Genesis added in the library but any episode I choose results in “this file is no longer available. Would you like to remove it from the library?” Any ideas where I went wrong?
This post should solve the problem… https://kinkeadtech.com/2015/09/add-shows-to-kodi-genesis-from-any-htpc-in-the-house/
What’s going on is that the library is storing a local path to the stream files for Genesis. If you change the library path settings in Genesis to use SMB, then they will get stored that way and therefore the paths will be available for remote computers.
A Late question for this, would be, is there any slowness or speed difference on this.
My server will be a Pi2 and playing on two different PI2’s with open elec
When doing this with Genesis, no, there will not be any slowness because the only thing it is accessing over the network is the library data which points to the stream file which is just a pointer to a certain show or movie within the Genesis add-on. Once that stream file is launched, Genesis takes over and streams directly from the video source server to your Pi2.