PlexKodiConnect: Kodi Plex Integration Done Right

plex-for-kodi
plexconnect
other-third-party
other-dev
plugin-dev

#1

stable version
beta version

Installation
FAQ
Forum

GitHub issues GitHub pull requests Codacy Badge

PlexKodiConnect (PKC)

Combine the best frontend media player Kodi with the best multimedia backend server Plex

PKC combines the best of Kodi - ultra smooth navigation, beautiful and highly customizable user interfaces and playback of any file under the sun - and the Plex Media Server.

Have a look at some screenshots to see what’s possible.

Update Your PKC Repo to Receive Updates!

Unfortunately, the PKC Kodi repository had to move because it stopped working (thanks https://bintray.com). If you installed PKC before December 15, 2017, you need to MANUALLY update the repo once.

Content

Download and Installation

Install PKC via the PlexKodiConnect Kodi repository download button just below (do NOT use the standard GitHub download!). See the github wiki installation manual for a detailed guide. Please use the stable version except if you really know what you’re doing. Kodi will update PKC automatically.

Stable version Beta version
stable version beta version

What does PKC do?

PKC synchronizes your media from your Plex server to the native Kodi database. Hence:

  • Use virtually any other Kodi add-on
  • Use any Kodi skin, completely customize Kodi’s look
  • Browse your media at full speed (cached artwork)
  • Automatically get additional artwork (more than Plex offers)
  • Enjoy Plex features using the Kodi interface

Warning

Use at your own risk! This plugin assumes that you manage all your videos with Plex (and none with Kodi). You might lose data already stored in the Kodi video and music databases as this plugin directly changes them. Don’t worry if you want Plex to manage all your media (like you should ;-)).

Some people argue that PKC is ‘hacky’ because of the way it directly accesses the Kodi database. See here for a more thorough discussion.

PKC Features

Additional Artwork

PKC uses additional artwork for free from TheMovieDB. Many thanks for lettings us use the API, guys!
Logo of TheMovieDB

Donations

I’m not in any way affiliated with Plex. Thank you very much for a small donation via ko-fi.com and PayPal, Bitcoin or Ether if you appreciate PKC.
Full disclaimer: I will see your name and address if you use PayPal. Rest assured that I will not share this with anyone.

Donations

ETH-Donations
Ethereum address:
0x0f57D98E08e617292D8bC0B3448dd79BF4Cf8e7F

BTX-Donations
Bitcoin address:
3BhwvUsqAGtAZodGUx4mTP7pTECjf1AejT

Request a New Feature

Feature Requests

Issues and Bugs

Have a look at the Github Issues Page. Before you open your own issue, please read How to report a bug.

Credits


#2

Some random screenshots using the latest Kodi Titan skin. You can customize pretty much anything with any Kodi skins

For more screenshots, see the wiki on Github.


#3

I know your still really early in development but wanted to send you a big THANKS for doing this. Really looking forward to this working as I have never been able to get Emby running successfully and really didnt want to leave Plex behind anyway.

Couldn't help myself and tried the beta out just now on a Windows 10 PC running Jarvis 16.0. Install goes fine but once the sync starts I get an error that the thread has crashed and I should restart Kodi. Restarting results in the same error.


#4

Same here.
Followed the instructions on git but after the welcome message i also get the error "Library sync thread has crashed..."

I'm on Mac OS 10.11.3, running Kodi 16 RC (Jarvis).

EDIT:
Also did a complete fresh install of Kodi 16 RC. Same error.


#5

Same here, here's the relevant lines from Kodi's log;

16:59:26 T:3856 NOTICE: PlexKodiConnect LibrarySync -> run_internal : ---===### Starting LibrarySync ###===---
16:59:26 T:3856 NOTICE: PlexKodiConnect LibrarySync -> run_internal : Db version:
16:59:26 T:3856 NOTICE: PlexKodiConnect LibrarySync -> run_internal : Initial start-up full sync starting
16:59:26 T:3856 NOTICE: EMBY -> fullSync : Toggling screensaver: {"id":0,"jsonrpc":"2.0","result":true}
16:59:29 T:3856 ERROR: Exception in thread Thread-5:
Traceback (most recent call last):
File "C:\Program Files (x86)\Kodi\system\python\Lib hreading.py", line 810, in __bootstrap_inner
self.run()
File "C:\Users\Kodi\AppData\Roaming\Kodi\addons\plugin.video.plexkodiconnect\resources\lib\librarysync.py", line 1116, in run
self.run_internal()
File "C:\Users\Kodi\AppData\Roaming\Kodi\addons\plugin.video.plexkodiconnect\resources\lib\librarysync.py", line 1195, in run_internal
librarySync = self.fullSync(manualrun=True)
File "C:\Users\Kodi\AppData\Roaming\Kodi\addons\plugin.video.plexkodiconnect\resources\lib\utils.py", line 35, in wrapper
result = func(*args, **kwargs)
File "C:\Users\Kodi\AppData\Roaming\Kodi\addons\plugin.video.plexkodiconnect\resources\lib\librarysync.py", line 376, in fullSync
if not self.maintainViews():
File "C:\Users\Kodi\AppData\Roaming\Kodi\addons\plugin.video.plexkodiconnect\resources\lib\librarysync.py", line 544, in maintainViews
"{server}/library/sections")
File "C:\Users\Kodi\AppData\Roaming\Kodi\addons\plugin.video.plexkodiconnect\resources\lib\downloadutils.py", line 204, in downloadUrl
url = url.replace("{UserId}", self.userId)
TypeError: expected a character buffer object

This was on a fresh install of Kodi 16.

To echo those above, many thanks for working on getting this plugin ported over. It worked great with Emby, so having it work with Plex as well will be fantastic!


#6

Wierd, I tested from scratch and didn't catch that. Did u try rebooting? You guys using Plex Home?

I will look into it.


#7

@croneter said:
Wierd, I tested from scratch and didn't catch that. Did u try rebooting? You guys using Plex Home?

I will look into it.

Single user setup here. Restarted and still getting the error. Here is my part of the log:

12:54:16 T:228 NOTICE: PlexKodiConnect LibrarySync -> ---===### Starting LibrarySync ###===---
12:54:16 T:228 NOTICE: PlexKodiConnect LibrarySync -> Db version:
12:54:16 T:228 NOTICE: PlexKodiConnect LibrarySync -> Initial start-up full sync starting
12:54:16 T:228 NOTICE: EMBY -> Toggling screensaver: {"id":0,"jsonrpc":"2.0","result":true}
12:54:19 T:228 ERROR: Exception in thread Thread-5:
Traceback (most recent call last):
File "C:\Program Files (x86)\Kodi\system\python\Lib hreading.py", line 810, in __bootstrap_inner
self.run()
File "C:\Users\hstam\AppData\Roaming\Kodi\addons\PlexKodiConnect-1.0.0\resources\lib\librarysync.py", line 1116, in run
self.run_internal()
File "C:\Users\hstam\AppData\Roaming\Kodi\addons\PlexKodiConnect-1.0.0\resources\lib\librarysync.py", line 1195, in run_internal
librarySync = self.fullSync(manualrun=True)
File "C:\Users\hstam\AppData\Roaming\Kodi\addons\PlexKodiConnect-1.0.0\resources\lib\utils.py", line 35, in wrapper
result = func(*args, **kwargs)
File "C:\Users\hstam\AppData\Roaming\Kodi\addons\PlexKodiConnect-1.0.0\resources\lib\librarysync.py", line 376, in fullSync
if not self.maintainViews():
File "C:\Users\hstam\AppData\Roaming\Kodi\addons\PlexKodiConnect-1.0.0\resources\lib\librarysync.py", line 544, in maintainViews
"{server}/library/sections")
File "C:\Users\hstam\AppData\Roaming\Kodi\addons\PlexKodiConnect-1.0.0\resources\lib\downloadutils.py", line 204, in downloadUrl
url = url.replace("{UserId}", self.userId)
TypeError: expected a character buffer object


#8

Yes, Plex Home is activated.


#9

@bigbadrabbit said:
Yes, Plex Home is activated.

Several users?


#10

Mmh... No. Just one user (me) for now. Could that be the problem?

EDIT:
So i just created a second user for Plex Home. Now i'm prompted to login but cannot get pass this:

"Could not log in user xxxxx. Please try again"
Not able to login with any username now and stuck with a loop of the login pop up.


#11

I will give it a try


#12

thanks for the hard work @croneter...

Mac mini, PMS & Kodi running on the same machine with static IP and multiple home users.

issues I am experiencing...

couldn't install on Jarvis from zip, dependancies not met etc.

tried on Isengard (can't seem to even find an old version of Helix to test)

found an old Isengard version from kodi website and synced one of my home users (not the main admin account)... PlexKodiConnect started 1st sync run got to roughly 100 movies and stopped, have to force quite Kodi to relaunch

2nd, 3rd, 4th, 5th, runs (and on) it syncs anywhere between 10 - 20 movies at a time and then freezes (at least I think its freezing, the sync progress bar doesn't progress) so I force quite to see the added movies show up.

any hints, or any settings I should try changing?

like I said, many thanks for your obvious hard work... respect!

Edit: syncing 1000 movies after 10-15 restarts I'm up to letter 'B' and the processed movies have slowed to 1 movie per restart.


#13

no idea if this is relevant... just a hunch here... I have noticed that the sync stops (crashes) when a movie title with ':' is in the title.

Edit: yup, convinced stops syncing every time a 'colon' is present within a movie title.


#14

Are you saying that the file name itself has a colon in it? I didnt think that was allowed or even possible on a Mac?

@mini.PLEX said:
no idea if this is relevant... just a hunch here... I have noticed that the sync stops (crashes) when a movie title with ':' is in the title.

Edit: yup, convinced stops syncing every time : is present within a movie title.


#15

@hstamas said:
Are you saying that the file name itself has a colon in it? I didnt think that was allowed or even possible on a Mac?

@mini.PLEX said:
no idea if this is relevant... just a hunch here... I have noticed that the sync stops (crashes) when a movie title with ':' is in the title.

Edit: yup, convinced stops syncing every time : is present within a movie title.

correct it is not possible to give a 'file name' a colon on a mac, what I meant to refer to was the PMS titles...

if there is a colon present in a movie title within a Plex Media Server movie title the sync process stops and I have to force quite Kodi relaunch and then it carries on until it meets the next movie title with a colon then it stops syncing again.

The Hobbit movies were a nightmare, I found a lot of dragons! - lol. Had to restart kodi 3x to get past the 3 movies...

The Hobbit: An Unexpected Journey
The Hobbit: The Desolation of Smaug
The Hobbit: The Battle of the Five Armies

*note: the movies with a colon are being added, (once relaunched and continued)


#16

Thanks for your time and nerves for testing :-)

I do have colons : in my movie titles; works fine. Does it help if you turn off "Show syncing Progress" in the Settings?


#17

@croneter said:
Thanks for your time and nerves for testing :-)

I do have colons : in my movie titles; works fine. Does it help if you turn off "Show syncing Progress" in the Settings?

no afraid not... turning off "show syncing progress" does not appear to have stopped the colon issue I am experiencing.

ps. happy to assist.

Edit: on a mac, running latest PlexPass PMS... grabbed the last Isengard release... is there any known issues running Jarvis with PlexKodiConnect? I only ask as I could not install any of the zips due to dependancy issues


#18

just spotted for the first time the sync actually processed/passed a movie with a colon without freezing the sync process. intrigued I looked into the movie from PMS and noticed that the 'sort title' for the said movie did not have a colon in the sort name, but did in the 'title' ...

...so it would seem that maybe its the 'sort titles' rather than the 'title' that is creating havoc for me. (again may be irrelevant)


#19

@mini.PLEX said:
Edit: on a mac, running latest PlexPass PMS... grabbed the last Isengard release... is there any known issues running Jarvis with PlexKodiConnect? I only ask as I could not install any of the zips due to dependancy issues

Yes - it's not working! :(( At least for me...


#20

This is great! I'm currently torn between emby server and Plex server. The main reason being, the PlexBMC addon is quite laggy. My understanding is the difference between emby for kodi and plexbmc is that emby for kodi caches the artork locally (so it utilises the local client's sqlite database).

Is this the same for PlexKodiConnect? If so, wow, this is exactly what I want. I'm going to hold off from trying this out for now until it's developed more, but this very addon could make me switch back to Plex.