Jump to content


Photo

EmbyCon : Kodi Addon


  • Please log in to reply
68 replies to this topic

#1 null_pointer OFFLINE  

null_pointer

    Advanced Member

  • Developers
  • 5037 posts
  • Local time: 01:02 PM

Posted 13 March 2018 - 04:27 PM

EmbyCon is a Kodi add-on that enables you to browse and play any media you have on your Emby media server via Kodi.

Supported Emby Libraries:

  • Movies
  • Movie Collections
  • TV Shows
  • Music

You can install the EmbyCon Add-on from the official Kodi addon repository.
 
Fast User Switching
https://emby.media/c...user-switching/

Estuary Skin Cloner
https://emby.media/c...ry-skin-cloner/

 

Submitting an Issue

If you believe you have found a bug you will need to provide steps on how to reproduce the issue.
You will also in most cases need to supply a debug log.

  • Turn on Debug logging in Kodi
  • Restart Kodi
  • Reproduce the issue
  • Shutdown Kodi
  • Submit the Kodi log

Edited by null_pointer, 18 September 2018 - 05:02 AM.

  • James, hoppel118, aria2 and 1 other like this

#2 null_pointer OFFLINE  

null_pointer

    Advanced Member

  • Developers
  • 5037 posts
  • Local time: 01:02 PM

Posted 13 March 2018 - 05:17 PM

Installing, detecting local servers and browsing media

 

Using the Titan skin

 


Edited by null_pointer, 13 March 2018 - 05:20 PM.

  • hoppel118 likes this

#3 null_pointer OFFLINE  

null_pointer

    Advanced Member

  • Developers
  • 5037 posts
  • Local time: 01:02 PM

Posted 28 September 2018 - 07:15 PM

Latest release available in Kodi official repo

 

Full change logs here: https://github.com/f...commits/develop

 

Version 1.5.43

 - Support the latest changes in Emby Server 3.6

 - Add a client side group movies into collection, required by Emby Server now

 - Include correct fields for widget feeds for suggestions

 - Show select user on screen saver deactivate instead of activate, to be compatible with Kodi 18

 - Stop playback of paused media when change user dialog is shown

 - Add home movies and pictures node

 - Add Kodi logo for Emby Server connected clients dashboard page

 - Lots of small bug fixes


  • hoppel118 and sualfred like this

#4 cayars OFFLINE  

cayars

    Advanced Member

  • Alpha Testers
  • 1268 posts
  • Local time: 09:02 PM

Posted 07 October 2018 - 01:14 PM

I was just checking this out to see if I could use Emby to easily playback recordings in progress on my Shield TV as the remuxing in Emby is a big pain when trying to jump to half time or 4th quarter.

 

Anyway I don't see the recording library show up.  Am I missing something?



#5 null_pointer OFFLINE  

null_pointer

    Advanced Member

  • Developers
  • 5037 posts
  • Local time: 01:02 PM

Posted 07 October 2018 - 03:53 PM

Try channels but I think you will have the same issue.



#6 SirJMD OFFLINE  

SirJMD

    Advanced Member

  • Members
  • 36 posts
  • Local time: 03:02 AM

Posted 22 October 2018 - 02:17 PM

I've tested it on my Nvidia Shield TV and my Xiaomi Mi Box, and it works just fine, but is rather slow. I've streaming from my Synology 1813+, where Emby server is installed.

 

Opening my main library (1600 videos) takes something like 15+ seconds. Is there a way to speed this up? Caching maybe?



#7 null_pointer OFFLINE  

null_pointer

    Advanced Member

  • Developers
  • 5037 posts
  • Local time: 01:02 PM

Posted 22 October 2018 - 04:31 PM

What version of Kodi are you using?
The reason I ask is that in Kodi 18 there are a few changes that dramatically speed up displaying items via add-ons.

Yes it can be slow to show a large page of items, this is due mainly to the way Kodi 17 and below works by locking the UI for each and every item you add to the list to display on the screen even if the item is not currently on the screen.

If you are stuck on Kodi 17 for now your only real option is showing less items per page.

You can do this by using the page by page option or viewing by genre or by first letter of the title as pages of items to show.

#8 SirJMD OFFLINE  

SirJMD

    Advanced Member

  • Members
  • 36 posts
  • Local time: 03:02 AM

Posted 23 October 2018 - 02:18 PM

Correct, latest version on the play store is 17.6. Is there a way to cache all the items?



#9 null_pointer OFFLINE  

null_pointer

    Advanced Member

  • Developers
  • 5037 posts
  • Local time: 01:02 PM

Posted 23 October 2018 - 03:25 PM

There is no way to cache the items. As mentioned most of the time is spent constructing the List of Items that is returned to Kodi by the addon to display. The is not cache-able.



#10 sualfred OFFLINE  

sualfred

    The Embuary guy

  • Developers
  • 1312 posts
  • Local time: 03:02 AM
  • LocationGermany

Posted 23 October 2018 - 04:30 PM

@SirJMD

Here are Android v18 Leia nightly builds which can be installed next to your Krypton installation if you want to try Leia without dropping your current installation:
https://www.dropbox....w4kD4Epbva?dl=0

Edited by sualfred, 23 October 2018 - 04:30 PM.


#11 null_pointer OFFLINE  

null_pointer

    Advanced Member

  • Developers
  • 5037 posts
  • Local time: 01:02 PM

Posted 23 October 2018 - 04:53 PM

@SirJMD

It would be interesting to see if you can install this and let me know if the time to view movies is reduced as expected.

#12 SirJMD OFFLINE  

SirJMD

    Advanced Member

  • Members
  • 36 posts
  • Local time: 03:02 AM

Posted 26 October 2018 - 05:12 AM

I'm running 18.0 now. It seems a little bit more responsive, but it is still 10+ seconds to load "movies".



#13 sualfred OFFLINE  

sualfred

    The Embuary guy

  • Developers
  • 1312 posts
  • Local time: 03:02 AM
  • LocationGermany

Posted 26 October 2018 - 05:46 AM

I've tested it yesterday on a Nividia Shield and  it works good. For sure it's slower than the internal Kodi database, but once all artworks were cached by Kodi it's one of the fastest available addons out there.



#14 null_pointer OFFLINE  

null_pointer

    Advanced Member

  • Developers
  • 5037 posts
  • Local time: 01:02 PM

Posted 26 October 2018 - 03:36 PM

Unfortunately It will never be as fast as the native local kodi DB method.

 

However I expected it to half for you 16 > 8 seconds. All my low powered systems are Pi based and I was seeing an 80% improvement 18 months ago when I added this to Kodi and EmbyCon.

 

It would be interesting to see what is actually taking up the time on your system. If you can produce a performance profile file and send it to me that would be helpful.

In the EmbyCon settings under advanced there is an option to turn on profiling, turn that on and view your movie list.

There should be a new file created in your Kodi\userdata\addon_data\plugin.video.embycon\

This path is located here in Windows:

C:\Users\<UserName>\AppData\Roaming\Kodi\userdata\addon_data\plugin.video.embycon\

The profile files are just text files named profile(yyyyMMdd-HHmmss).txt


Edited by null_pointer, 26 October 2018 - 05:39 PM.


#15 null_pointer OFFLINE  

null_pointer

    Advanced Member

  • Developers
  • 5037 posts
  • Local time: 01:02 PM

Posted 11 November 2018 - 04:22 AM

EmbyCon 1.5.60

 

This latest stable version has been pushed to the official Kodi Repo. It has changes required for the latest version of the Emby Server 3.6 and Kodi 18

 

EmbyCon Beta 1.6

 

With the latest stable release going live some new experimental features can be pushed to the beta repo.

The 1.6 Beta contains a new caching system that can cache server requests and help speed up browsing larger libraries. This is not a new idea, I had a caching system in a while ago but it just used the URL results, this new system uses a binary cPickle storage system and it is serializing the much more compact ItemInfo class instead of the full JSON object returned form the server so there is much less data and it is much quicker. It is also using a new way of detecting changes and updates so it should not only be faster it should be smarter.

 

The way it works:

 

- When you make a request to the Emby server if EmbyCon has not seen that URL before it will grab the data from the server, parse it, build your ListItems and display them (As normal)

- EmbyCon will then serialize the new ListItems using cPickle and save the data to disk in binary format for later use using the MD5 of the "UserId | URL" as the file name

- The next time that user requests the same URL from the server EmbyCon checks if there is a binary cached version on disk, if there is, instead of requesting from the server it will use the saved data

- The binary cPickle data is fast to load

- The loaded data is displayed to the user

 

At this point the user can see some results

 

- EmbyCon then in the background checks the server to see if the saved data is actually different

- If the data is different then the new data is saved to the cache and an event is sent to refresh the current list with the new data

 

This is as simple as it gets in regards to caching, more advanced features could be added including things like max age and dont cache items of type X or dont cache unless there are X items in the results. Also perhaps Item level caching instead of full lists.

 

As with all caching systems results will vary with different users and library types and sizes. Testing is needed.


  • im85288 and hoppel118 like this

#16 agentxan ONLINE  

agentxan

    Member

  • Developers
  • 24 posts
  • Local time: 08:02 PM

Posted 11 November 2018 - 03:38 PM

When using the embycon beta 1.6 I am receiving the following error. The first time the list loads fine but this error show up if I go back to the same list a second time most of the time. If I get the error and then delete the .pickle file for that menu and keep trying sometimes it gets a file that it can load from. If I navigate to Music - Album Artist this happens every time and never gets a working cache. When it does work the load time for my movies went from about 10 seconds to about 2 to 3 seconds which is a great improvement.

13:26:30.523 T:1783591792   DEBUG: EmbyCon.resources.lib.datamanager|DEBUG|Loading url data from pickle data
13:26:30.528 T:1783591792   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <type 'exceptions.EOFError'>
                                            Traceback (most recent call last):
                                              File "/storage/.kodi/addons/plugin.video.embycon/default.py", line 10, in <module>
                                                mainEntryPoint()
                                              File "/storage/.kodi/addons/plugin.video.embycon/resources/lib/functions.py", line 161, in mainEntryPoint
                                                getContent(param_url, params)
                                              File "/storage/.kodi/addons/plugin.video.embycon/resources/lib/functions.py", line 398, in getContent
                                                dir_items, detected_type = processDirectory(url, progress, params)
                                              File "/storage/.kodi/addons/plugin.video.embycon/resources/lib/functions.py", line 479, in processDirectory
                                                baseline_name, item_list = dataManager.get_items(url, gui_options, use_cache)
                                              File "/storage/.kodi/addons/plugin.video.embycon/resources/lib/datamanager.py", line 59, in get_items
                                                item_list = cPickle.load(handle)
                                            EOFError
                                            -->End of Python script error report<--

Edited by null_pointer, 11 November 2018 - 07:49 PM.


#17 null_pointer OFFLINE  

null_pointer

    Advanced Member

  • Developers
  • 5037 posts
  • Local time: 01:02 PM

Posted 11 November 2018 - 04:12 PM

Thanks for the report, I can fix the crash, just catch it don't use the cache for that request however I don't know what the root cause is for the pickle error.
It could be a file in use or deing written to sort of thing, will see if I can work it out.

Edited by null_pointer, 11 November 2018 - 04:12 PM.


#18 null_pointer OFFLINE  

null_pointer

    Advanced Member

  • Developers
  • 5037 posts
  • Local time: 01:02 PM

Posted 11 November 2018 - 04:28 PM

The files you had to delete, were they empty (zero bytes)

#19 agentxan ONLINE  

agentxan

    Member

  • Developers
  • 24 posts
  • Local time: 08:02 PM

Posted 11 November 2018 - 04:44 PM

No they contained data. If I go to TVShows then first time the resulting pickle file is 9 KB this time and then If I go back to TV Shows then it gives the error. If I delete the 9kb pickle file and try again 1 to 2 times I eventually end up with a 2.08 MB that allows the TV Shows to load. This does not happen every time. Sometimes it gets the full file the first time. I renamed the file extensions to .log and uploaded them if that helps.


Edited by null_pointer, 11 November 2018 - 07:48 PM.


#20 null_pointer OFFLINE  

null_pointer

    Advanced Member

  • Developers
  • 5037 posts
  • Local time: 01:02 PM

Posted 11 November 2018 - 04:52 PM

it looks like file write is being truncated for some reason.

When it fails is it always the same size file?


Edited by null_pointer, 11 November 2018 - 04:52 PM.





1 user(s) are reading this topic

1 members, 0 guests, 0 anonymous users


    iamtammi1990