Giter Site home page Giter Site logo

plugin.video.emby's Introduction

Emby for Kodi

EmbyKodi_Banner

Wiki Forums Emby for Kodi objects Emby


A whole new way to manage and view your media library.

The Emby for Kodi add-on combines the best of Kodi - ultra smooth navigation, beautiful UIs and playback of any file under the sun, and Emby - the most powerful open source multi-client media metadata indexer and server. You can now retire your MySQL setup in favor of a more flexible setup.

Synchronize your media on your Emby server to the native Kodi database, browsing your media at full speed, while retaining the ability to use other Kodi add-ons to enhance your experience. In addition, you can use any Kodi skin you'd like!


Supported

The add-on supports a hybrid approach. You can decide which Emby libraries to sync to the Kodi database. Other libraries and features are accessible dynamically, as a plugin listing.

  • Library types available to sync:
    • Movies and sets
    • TV shows
    • Music videos
    • Music
  • Other features supported:
    • Simple Live TV presentation
    • Home Videos & photos
    • Playlists
    • Theme media
  • Direct play and transcode
  • A 2-way watched and resume state between your server and Kodi. This is a near instant feature.
  • Remote control your Kodi; send play commands from your Emby web client or Emby mobile apps.
  • Extrafanart (rotating backgrounds) for skins that support it
  • Offer to delete content after playback
  • Backup your emby kodi profile. See the Emby backup option
  • and more...

Install Emby for Kodi

Get started with the wiki guide

Known limitations

  • Chapter images are missing unless native playback mode is used.
  • Certain add-ons that depend on seeing where your content is located will not work unless native playback mode is selected.

Help translate

Check Transifex to help translate this project. Thank you!

plugin.video.emby's People

Contributors

a69tor avatar adam111316 avatar agentxan avatar andreas-woelfl avatar angelblue05 avatar atcronin avatar delphiactual avatar egrishin avatar emlove avatar erijoda avatar etharr avatar faush01 avatar freddy36 avatar ggogel avatar im85288 avatar kravone avatar lukepulverenti avatar mammo0 avatar marcelveldt avatar nickbert7 avatar obitwentywan avatar pavuucek avatar quickmic avatar roliverosc avatar sierrajc avatar simpman avatar spootdev avatar sualfred avatar transifex-integration[bot] avatar xnappo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

plugin.video.emby's Issues

Remote setup responds with Unauthorized (invalid username/password)

When trying to run the setup from outside my network i have the following issue:
After entering my remote address/port, selecting my user & entering the correct password i get the notification:

error

My login credentials are correct but it always fails. when i try to run the same setup using the external address from inside my network it works fine & afterwards i am able to launch kodi externally & it connects & works. This was done on my iPad, when accessing the website externally i can log in fine.

Howto req: migrate from mysql setup to Emby.Kodi + list of benefits/downsides

I'm using a MySQL server to sync the video db across my devices.
I am interested in moving to Emby.Kodi so that I can stream PVR when I'm not home.

  • What is the best way to migrate my db?
  • What are the downsides?
  • Can I still use Kodi's PVR features or do I have to use a third party app to watch PVR streams from Emby?

Playing a iso file (mpeg dvd) error

Hi, I'm getting this error trying to play some of my old movies that are in a iso format. Kodi can play them natively but it seems that calling the file is creating an exception with the plugin.

19:44:37 15072.484375 T:1545598016 NOTICE: Using Image Cache Thread Count: 10 -> 1
19:44:37 15072.489258 T:1545598016 NOTICE: Parameter string: ?dbid=59&mode=play&id=f4036bcb58b4d6cb6a78442745c0f404&filename=Frozen+%282013%29.iso
19:44:37 15072.826172 T:1545598016 NOTICE: Using Image Cache Thread Count: 10 -> 1
19:44:37 15072.832031 T:1545598016 NOTICE: EMBY PlaybackUtils -> Play called.
19:44:37 15072.857422 T:1545598016 NOTICE: EMBY PlayUtils -> Can't direct play, play from HTTP enabled.
19:44:37 15072.867188 T:1545598016 NOTICE: EMBY PlayUtils -> File is transcoding.
19:44:37 15072.890625 T:1545598016 NOTICE: EMBY PlaybackUtils -> Setting up properties in playlist.
19:44:37 15072.993164 T:1545598016 ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<-- - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS! Error Type: <type 'exceptions.IndexError'> Error Contents: list index out of range Traceback (most recent call last): File "/storage/.kodi/addons/plugin.video.emby.movies/default.py", line 40, in <module> entrypoint.doPlayback(itemid, dbid) File "/storage/.kodi/addons/plugin.video.emby/resources/lib/entrypoint.py", line 36, in doPlayback pbutils.PlaybackUtils(item).play(itemid, dbid) File "/storage/.kodi/addons/plugin.video.emby/resources/lib/playbackutils.py", line 195, in play playurl = playutils.audioSubsPref(playurl, listitem) File "/storage/.kodi/addons/plugin.video.emby/resources/lib/playutils.py", line 423, in audioSubsPref selectAudioIndex = audioStreamsList[audioStreams[0]] IndexError: list index out of range -->End of Python script error report<--
19:44:37 15073.205078 T:1967841280 ERROR: Playlist Player: skipping unplayable item: 0, path [plugin://plugin.video.emby.movies/?dbid=59&mode=play&id=f4036bcb58b4d6cb6a78$

I'm using the beta version of the plugin
Thanks

Improve 5.1 Audio Quality

AudioBitrate is not provided so 5.1 streams are transcoded to a 128k aac which sounds horrible.

A quick fix is to change the playurl in playutils.py

playurl = "%s&VideoCodec=h264&AudioCodec=ac3&AudioBitrate=384000&MaxAudioChannels=6&deviceId=%s&VideoBitrate=%s" % (playurl, deviceId, self.getVideoBitRate()*1000)

Option to set audio codec+bitrate+channels preference in settings would be good.

Audio and Subtitle Dialog Selector Strings

Would it be possible to add
' - Default ' and
' - Forced '
to the list of Audio and Subtitle Streams to help identify them
And eventually parse through the 'title' tag from the streams that typically holds the stream name.

Playbackutils.py

        elif 'Subtitle' in stream['Type']:
            try:
                track = stream['Language']
                if stream[u'IsDefault']:
                    track += " - Default"
                if stream[u'IsForced']:
                    track += " - Forced"
                subtitleStreamsList[track] = index
                subtitleStreams.append(track)

Cannot play some transcoded streams

I have a number of 1080P HEVC .MKV files, with the Kodi Emby plugin configured to transcode. Some refuse to play.

Here is the relevant bit of the log:

08:22:41.860 T:18446744072445157928  NOTICE: EMBY.artwork -> DEBUG:: image cache thread count: 25
08:22:41.865 T:18446744072445157928  NOTICE: EMBY.playbackutils -> Play called.
08:22:41.871 T:18446744072445157928  NOTICE: EMBY.playutils -> Can't direct play, play from HTTP enabled.
08:22:41.886 T:18446744072445157928  NOTICE: EMBY.playutils -> Resolution is: 3064P, transcode for resolution: 480P+
08:22:41.886 T:18446744072445157928  NOTICE: EMBY.playutils -> File is transcoding.
08:22:41.910 T:18446744072445157928   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <type 'exceptions.IndexError'>
                                            Error Contents: list index out of range
                                            Traceback (most recent call last):
                                              File "/mnt/internal_sd/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.emby.tvshows/default.py", line 50, in <module>
                                                entrypoint.doPlayback(itemid, dbid)
                                              File "/mnt/internal_sd/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.emby/resources/lib/entrypoint.py", line 46, in doPlayback
                                                pbutils.PlaybackUtils(item).play(itemId, dbId)
                                              File "/mnt/internal_sd/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.emby/resources/lib/playbackutils.py", line 57, in play
                                                playurl = playutils.getPlayUrl()
                                              File "/mnt/internal_sd/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.emby/resources/lib/playutils.py", line 113, in getPlayUrl
                                                playurl = self.transcoding()
                                              File "/mnt/internal_sd/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.emby/resources/lib/playutils.py", line 347, in transcoding
                                                if self.resolutionConflict():
                                              File "/mnt/internal_sd/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.emby/resources/lib/playutils.py", line 685, in resolutionConflict
                                                videoRes = self.getVideoResolution()
                                              File "/mnt/internal_sd/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.emby/resources/lib/playutils.py", line 701, in getVideoResolution
                                                return {'width' : self.item['MediaStreams'][0]['Width'],
                                            IndexError: list index out of range
                                            -->End of Python script error report<--
08:22:41.912 T:18446744072287576416   DEBUG: ------ Window Init (DialogNotification.xml) ------
08:22:42.163 T:18446744072445157928 WARNING: CPythonInvoker(328, /mnt/internal_sd/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.emby.tvshows/default.py): the python script "/mnt/internal_sd/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.emby.tvshows/default.py" has left several classes in memory that we couldn't clean up. The classes include: N9XBMCAddon9xbmcaddon5AddonE
08:22:42.163 T:18446744072445157928    INFO: Python script stopped
08:22:42.163 T:18446744072445157928   DEBUG: Thread LanguageInvoker 18446744072445157928 terminating
08:22:42.169 T:18446744072332583976   DEBUG: Thread scriptobs 18446744072332583976 terminating

First up, it looks like Emby is detecting it as 3064P, rather than 1080P. It then bombs out trying to get the stream dimensions.

[FR]option to disable GoogleAnalytics

Hi,
I really think it should be good to have an option to disable google analytics. I don't really like my watching habits to go through google...

Error when trying to sync on Windows10, Kodi 15

Hi,

I get the following error after installing and configuring Emby for Kodi plugin and starting manual sync:

22:16:20 T:13028  NOTICE: -->Python Interpreter Initialized<--
22:16:20 T:13028  NOTICE: plugin.video.emby started
22:16:20 T:13028  NOTICE: Parameter string: ?mode=manualsync
22:16:20 T:13028  NOTICE: [Error 5] Access is denied: 'C:\\Users\\Mi\xc5\xa1el'
22:16:20 T:13028  NOTICE: Sync DB -> syncDatabase Exiting
22:16:20 T:13028   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <type 'exceptions.UnicodeEncodeError'>
                                            Error Contents: 'ascii' codec can't encode character u'\u0161' in position 24: ordinal not in range(128)
                                            Traceback (most recent call last):
                                              File "C:\Users\Mi�el\AppData\Roaming\Kodi\addons\plugin.video.emby\default.py", line 125, in <module>
                                                Main()
                                              File "C:\Users\Mi�el\AppData\Roaming\Kodi\addons\plugin.video.emby\default.py", line 66, in __init__
                                                LibrarySync().FullLibrarySync(True)
                                              File "C:\Users\Mi�el\AppData\Roaming\Kodi\addons\plugin.video.emby\resources\lib\LibrarySync.py", line 147, in FullLibrarySync
                                                self.MoviesFullSync(connection,cursor,pDialog)
                                              File "C:\Users\Mi�el\AppData\Roaming\Kodi\addons\plugin.video.emby\resources\lib\LibrarySync.py", line 228, in MoviesFullSync
                                                views = ReadEmbyDB().getCollections("movies")
                                              File "C:\Users\Mi�el\AppData\Roaming\Kodi\addons\plugin.video.emby\resources\lib\ReadEmbyDB.py", line 285, in getCollections
                                                jsondata = self.doUtils.downloadUrl(url)
                                              File "C:\Users\Mi�el\AppData\Roaming\Kodi\addons\plugin.video.emby\resources\lib\DownloadUtils.py", line 224, in downloadUrl
                                                header = self.getHeader()
                                              File "C:\Users\Mi�el\AppData\Roaming\Kodi\addons\plugin.video.emby\resources\lib\DownloadUtils.py", line 168, in getHeader
                                                deviceId = clientInfo.getMachineId()
                                              File "C:\Users\Mi�el\AppData\Roaming\Kodi\addons\plugin.video.emby\resources\lib\ClientInformation.py", line 86, in getMachineId
                                                lock.release()
                                              File "C:\Users\Mi�el\AppData\Roaming\Kodi\addons\plugin.video.emby\resources\lib\Lock.py", line 36, in release
                                                xbmc.log("File_Lock_On " + self.filename + " released")
                                            UnicodeEncodeError: 'ascii' codec can't encode character u'\u0161' in position 24: ordinal not in range(128)
                                            -->End of Python script error report<--
22:16:20 T:13028 WARNING: CPythonInvoker(35, C:\Users\Mišel\AppData\Roaming\Kodi\addons\plugin.video.emby\default.py): the python script "C:\Users\Mišel\AppData\Roaming\Kodi\addons\plugin.video.emby\default.py" has left several classes in memory that we couldn't clean up. The classes include: class PythonBindings::XBMCAddon_xbmc_Monitor_Director,class XBMCAddon::xbmcaddon::Addon,class XBMCAddon::xbmcgui::Window
22:16:20 T:5632   ERROR: XFILE::CDirectory::GetDirectory - Error getting plugin://plugin.video.emby/?mode=manualsync
22:16:20 T:5632   ERROR: CGUIMediaWindow::GetDirectory(plugin://plugin.video.emby/?mode=manualsync) failed
22:16:20 T:12548  NOTICE: Thread LanguageInvoker start, auto delete: false
22:16:20 T:12548  NOTICE: -->Python Interpreter Initialized<--
22:16:21 T:12548  NOTICE: plugin.video.emby started
22:16:21 T:12548  NOTICE: Parameter string: ?content_type=executable
22:16:21 T:12548  NOTICE: plugin.video.emby stopped
22:16:21 T:11104  NOTICE: Thread BackgroundLoader start, auto delete: false
22:16:25 T:5632  NOTICE: Storing total System Uptime
22:16:25 T:5632  NOTICE: Saving settings
22:16:25 T:5632  NOTICE: stop all
22:16:25 T:5632  NOTICE: stop player
22:16:25 T:5632  NOTICE: ES: Stopping event server
22:16:25 T:5632  NOTICE: stopping upnp
22:16:25 T:5632  NOTICE: Webserver: Stopping...
22:16:25 T:5632  NOTICE: WebServer: Stopped the webserver
22:16:25 T:5632  NOTICE: Webserver: Stopped...
22:16:25 T:4380  NOTICE: ES: UDP Event server stopped
22:16:26 T:5632  NOTICE: stop sap announcement listener
22:16:26 T:5632  NOTICE: stop zeroconf browser
22:16:26 T:5632  NOTICE: clean cached files!
22:16:26 T:5632  NOTICE: unload skin
22:16:26 T:2080 WARNING: CPythonInvoker(1, C:\Users\Mišel\AppData\Roaming\Kodi\addons\service.skin.widgets\default.py): the python script "C:\Users\Mišel\AppData\Roaming\Kodi\addons\service.skin.widgets\default.py" has left several classes in memory that we couldn't clean up. The classes include: class XBMCAddon::xbmcgui::Window,class PythonBindings::XBMCAddon_xbmc_Monitor_Director,class PythonBindings::XBMCAddon_xbmc_Player_Director
22:16:27 T:9776 WARNING: CPythonInvoker(4, C:\Users\Mišel\AppData\Roaming\Kodi\addons\service.library.data.provider\service.py): the python script "C:\Users\Mišel\AppData\Roaming\Kodi\addons\service.library.data.provider\service.py" has left several classes in memory that we couldn't clean up. The classes include: class PythonBindings::XBMCAddon_xbmc_Player_Director,class XBMCAddon::xbmcgui::Window,class PythonBindings::XBMCAddon_xbmc_Monitor_Director
22:16:27 T:5632  NOTICE: stopped
22:16:27 T:5632  NOTICE: destroy
22:16:27 T:5632  NOTICE: closing down remote control service
22:16:27 T:5632  NOTICE: unload sections
22:16:27 T:5632  NOTICE: special://profile/ is mapped to: special://masterprofile/
22:16:27 T:5632  NOTICE: destroy
22:16:27 T:5632 WARNING: Attempted to remove window 10013 from the window manager when it didn't exist
22:16:27 T:5632 WARNING: Attempted to remove window 10014 from the window manager when it didn't exist
22:16:27 T:5632 WARNING: Attempted to remove window 10015 from the window manager when it didn't exist
22:16:27 T:5632 WARNING: Attempted to remove window 10016 from the window manager when it didn't exist
22:16:27 T:5632 WARNING: Attempted to remove window 10017 from the window manager when it didn't exist
22:16:27 T:5632 WARNING: Attempted to remove window 10018 from the window manager when it didn't exist
22:16:27 T:5632 WARNING: Attempted to remove window 10019 from the window manager when it didn't exist
22:16:27 T:5632 WARNING: Attempted to remove window 10021 from the window manager when it didn't exist
22:16:27 T:5632 WARNING: Attempted to remove window 10107 from the window manager when it didn't exist
22:16:27 T:5632 WARNING: Attempted to remove window 10115 from the window manager when it didn't exist
22:16:27 T:5632 WARNING: Attempted to remove window 10104 from the window manager when it didn't exist
22:16:27 T:5632  NOTICE: closing down remote control service
22:16:27 T:5632  NOTICE: unload sections
22:16:27 T:5632  NOTICE: application stopped...
22:16:27 T:5632   ERROR: dllFreeLibrary - Invalid hModule specified

Posters and other artwork often incomplete in Kodi

I notice from time to time several posters grabbed from the Emby server are incomplete. The only way to fix this is to recache all artwork in the Emby add-on options, but this results in different posters and artwork having the same problem.

Posters are often partially there, with the rest being light grey. It appears that the transfer was interrupted.

I have the Emby option to force artwork cache on, and I tried limiting the number of requests, but the issue still remains. If I could individually recache certain artwork that would be great, but going into the artwork options in Kodi, I am only shown the same broken artwork files.

Emby Server Version 3.0.5973.0
Emby for Kodi Version 2.2.12
Kodi Version 16.1 Git:c327c53

EDIT: I'm trying to recache now with limited image_cache_threads. I'll report back if this solved the problem.

EDIT2: Everything looks good. Think the raspberry pi text for the option threw me off.

Undefined varaible in function

In added_song(self, items, pdialog) in itemtypes.py has "title".......not defined. Is it suppossed to be song['Name']

Can't connect to repository

There seems to be a problem with the connection to the server for installing Emby for Kodi from the repository. It only comes with the message "Could not connect to the repository. The problem occurs both with the stable and beta repository

Allow choice of SMB or NFS when interpreting Share Path

Currently, if you have a Share Path similar to "\\NAS\Movies" Emby for Kodi translates this into "smb://NAS/Movies" when using Direct Path. While this would generally work, if you are using NFS this will fail. Of course, one can alter the Share Path to be "nfs://NAS/Movies" but then Windows no longer discovers the share.

What I am proposing is that an additional field is added so that when the Share Path is being parsed, you can choose the type of share be it SMB (default) or NFS. Thanks!

Video doesn't start when passed on kodi parameter

When I want start video with kodi parameter, this doesn't work.

Exemple :

./kodi.bin "plugin://plugin.video.emby.movies/?dbid=806&mode=play&id=91783c177ab1a4e30458bf998e95f386&filename=Tammy.avi"

An error occurs when kodi start.
To correct this issue I have add this on plugin.video.emby.movie/default.py :

def waitEmbyLoaded():
    userId = utils.window('emby_currUser')
    server = utils.window('emby_server%s' % userId)
    token = utils.window('emby_accessToken%s' % userId)
    while not userId or not server or not token:
        time.sleep(0.2)
        userId = utils.window('emby_currUser')
        server = utils.window('emby_server%s' % userId)
        token = utils.window('emby_accessToken%s' % userId)
        xbmc.log("Emby plugin.video.emby : Wait for emby loaded %s, %s, %s"%(userId, server, token))

And

    if "play" in mode:
        waitEmbyLoaded()
        # plugin.video.emby entrypoint
        entrypoint.doPlayback(itemid, dbid)

But after that I have always an issue.
The video start (1s) but stop immediatly.
I have this error on log file :

18:37:32 T:140056742000704   DEBUG:  WaitOnScriptResult - plugin exited prematurely - terminating
18:37:32 T:140056742000704   ERROR: Playlist Player: skipping unplayable item: 0, path [plugin://plugin.video.emby.movies/?dbid=806&mode=play&id=91783c177ab1a4e30458bf998e95f386&filename=Tammy.avi]
18:37:32 T:140056742000704   DEBUG: Playlist Player: no more playable items... aborting playback

Sync is not passing the year of the movie to Kodi

I am using the latest plugin version from the develop branch, and Kodi Krypton Beta 2. Did a new installation of the plugin with an empty Kodi db. None of the movies have the year populated, even though it is correctly populated in Emby server. TV Shows are not affected.

Stacked movies: only the part 1 played

I am using latest plugin from 1.0.3 repo with openelec 6.0.3. I have a movie which consists of 2 parts, named according to emby naming conventions. In Kodi it is shown as a single movie, as expected. But when I play this movie, only the 1st part is played and then Kodi complains that it cannot find next file to play.
More details
Library on Embe server is located at
/media/078cb749-d284-4bc0-a34e-000073f1e3d0/movies
This path has a path substitution to \\192.168.1.250\фильмы

Movie itself is located in the library in the folder
/media/078cb749-d284-4bc0-a34e-000073f1e3d0/movies/чародеи

Movie parts are
/media/078cb749-d284-4bc0-a34e-000073f1e3d0/movies/чародеи/movie-pt1.avi
/media/078cb749-d284-4bc0-a34e-000073f1e3d0/movies/чародеи/movie-pt2.avi

As you can see from the attached log, it corrrectly starts playing the 1st part from the smb share

09:18:47 T:140113653131136 NOTICE: DVDPlayer: Opening: smb://192.168.1.250/фильмы/чародеи/movie-pt1.avi

but when it comes to the 2nd part, the plugin does not use path substitution, trying to open the file from emby server local share
09:18:57 T:140113653131136 NOTICE: DVDPlayer: Opening: /media/078cb749-d284-4bc0-a34e-000073f1e3d0/movies/чародеи/movie-pt2.avi

of course this fails cause Kodi and Emby are different machines
09:18:57 T:140112170538752 ERROR: CDVDPlayer::OpenInputStream - error opening [/media/078cb749-d284-4bc0-a34e-000073f1e3d0/movies/чародеи/movie-pt2.avi]

log.txt

Playback issue

Hello

There is an issue when I play a file via node filter.
Same files played via recently added works fine.

Here are the logs:

WORKS (via recently added music videos):

18:50:52.393 T:1822757616  NOTICE: EMBY.default_musicvideos -> Parameter string: ?dbid=22249&mode=play&id=93d9c23caecd0a91b36a8b7a9cb87034&filename=Eric+Clapton+-+Live+From+Madison+Square+Garden+%28feat.+Steve+Winwood%29+%282009%29.mkv
18:50:52.409 T:1822757616  NOTICE: EMBY.downloadutils -> DEBUG:: ===== ENTER downloadUrl =====
18:50:52.432 T:1822757616  NOTICE: EMBY.downloadutils -> DEBUG:: {'headers': {'Accept-Charset': 'UTF-8,*', 'Accept-encoding': 'gzip', 'X-MediaBrowser-Token': u'{emby-token}', 'Content-type': 'application/json', 'Authorization': 'MediaBrowser UserId="0717b7a249a14ea8856a3228c5e2e115", Client="Kodi", Device="Kodi-Bedroom", DeviceId="BEE898FF123E4591A4E402F482274B38", Version="3.0.14a"', 'User-Agent': 'Emby-Kodi'}, 'json': None, 'params': None, 'timeout': 30, 'url': u'{emby-server}/emby/Users/0717b7a249a14ea8856a3228c5e2e115/Items/93d9c23caecd0a91b36a8b7a9cb87034?format=json', 'verify': False}
18:50:52.500 T:1822757616  NOTICE: EMBY.downloadutils -> DEBUG:: ====== 200 Success ======
18:50:52.516 T:1822757616  NOTICE: EMBY.downloadutils -> DEBUG:: Response: {u'Album': u'--NO INFO--', u'Genres': [], u'MediaStreams': [{u'IsInterlaced': False, u'Index': 0, u'AverageFrameRate': 23.9760246, u'TimeBase': u'1/1000', u'Width': 624, u'Codec': u'h264', u'IsForced': False, u'AspectRatio': u'16:9', u'Type': u'Video', u'IsTextSubtitleStream': False, u'Profile': u'Main', u'DisplayTitle': u'H264', u'NalLengthSize': u'4', u'CodecTimeBase': u'1001/48000', u'RealFrameRate': 23.9760246, u'Level': 30, u'RefFrames': 1, u'BitDepth': 8, u'BitRate': 1491059, u'IsDefault': True, u'IsAnamorphic': False, u'SupportsExternalStream': False, u'Height': 352, u'IsAVC': True, u'PixelFormat': u'yuv420p', u'IsExternal': False}, {u'IsAnamorphic': False, u'IsInterlaced': False, u'DisplayTitle': u'Dolby Digital stereo Default', u'SupportsExternalStream': False, u'ChannelLayout': u'stereo', u'Index': 1, u'Type': u'Audio', u'IsForced': False, u'Level': 0, u'Channels': 2, u'Codec': u'ac3', u'CodecTimeBase': u'1/48000', u'TimeBase': u'1/1000', u'SampleRate': 48000, u'BitRate': 384000, u'IsTextSubtitleStream': False, u'IsDefault': True, u'IsExternal': False}], u'Container': u'mkv,webm', u'CanDelete': True, u'LocationType': u'FileSystem', u'ArtistItems': [{u'Name': u'Eric Clapton', u'Id': u'23405db0a5e907a9beeabc3863e103fb'}], u'CanDownload': True, u'ExternalUrls': [], u'Etag': u'c72fbb5619aca296d7afa2930113fdd7', u'ScreenshotImageTags': [], u'RemoteTrailers': [], u'ServerId': u'9988f479fd7545889b448228cf732b26', u'Type': u'MusicVideo', u'SortName': u'live from madison square garden (feat  steve winwood)', u'PlayAccess': u'Full', u'Tags': [], u'IsFolder': False, u'LockedFields': [], u'EnableMediaSourceDisplay': True, u'ProviderIds': {}, u'ProductionYear': 2009, u'DisplayPreferencesId': u'2c2ed68161a3d8f243ff98f4ae127a7e', u'Path': u'/mnt/storage1/music/concerts/E/Eric Clapton/Live From Madison Square Garden (feat. Steve Winwood) (2009)/Eric Clapton - Live From Madison Square Garden (feat. Steve Winwood) (2009).mkv', u'BackdropImageTags': [], u'Name': u'Live From Madison Square Garden (feat. Steve Winwood)', u'MediaType': u'Video', u'LockData': False, u'Taglines': [], u'ParentId': u'87385e5d22fa5d14b15a45eb975d0c31', u'PrimaryImageAspectRatio': 1.77514792899408, u'GenreItems': [], u'MediaSources': [{u'SupportsDirectStream': True, u'Container': u'mkv', u'RequiresClosing': False, u'IgnoreDts': False, u'IgnoreIndex': False, u'DefaultAudioStreamIndex': 1, u'SupportsDirectPlay': True, u'MediaStreams': [{u'IsInterlaced': False, u'Index': 0, u'AverageFrameRate': 23.9760246, u'TimeBase': u'1/1000', u'Width': 624, u'Codec': u'h264', u'IsForced': False, u'AspectRatio': u'16:9', u'Type': u'Video', u'IsTextSubtitleStream': False, u'Profile': u'Main', u'DisplayTitle': u'H264', u'NalLengthSize': u'4', u'CodecTimeBase': u'1001/48000', u'RealFrameRate': 23.9760246, u'Level': 30, u'RefFrames': 1, u'BitDepth': 8, u'BitRate': 1491059, u'IsDefault': True, u'IsAnamorphic': False, u'SupportsExternalStream': False, u'Height': 352, u'IsAVC': True, u'PixelFormat': u'yuv420p', u'IsExternal': False}, {u'IsAnamorphic': False, u'IsInterlaced': False, u'DisplayTitle': u'Dolby Digital stereo Default', u'SupportsExternalStream': False, u'ChannelLayout': u'stereo', u'Index': 1, u'Type': u'Audio', u'IsForced': False, u'Level': 0, u'Channels': 2, u'Codec': u'ac3', u'CodecTimeBase': u'1/48000', u'TimeBase': u'1/1000', u'SampleRate': 48000, u'BitRate': 384000, u'IsTextSubtitleStream': False, u'IsDefault': True, u'IsExternal': False}], u'Type': u'Default', u'ReadAtNativeFramerate': False, u'RequiresLooping': False, u'Path': u'/mnt/storage1/music/concerts/E/Eric Clapton/Live From Madison Square Garden (feat. Steve Winwood) (2009)/Eric Clapton - Live From Madison Square Garden (feat. Steve Winwood) (2009).mkv', u'RequiresOpening': False, u'Bitrate': 1491059, u'IsRemote': False, u'Name': u'Eric Clapton - Live From Madison Square Garden (feat. Steve Winwood) (2009).mkv', u'RequiredHttpHeaders': {}, u'SupportsTranscoding': True, u'Formats': [], u'Protocol': u'File', u'IsInfiniteStream': False, u'GenPtsInput': False, u'VideoType': u'VideoFile', u'ETag': u'88b170ac9162755c3c2c4ae0e628adab', u'RunTimeTicks': 44411088896L, u'SupportsProbing': True, u'Id': u'93d9c23caecd0a91b36a8b7a9cb87034'}], u'UserData': {u'IsFavorite': False, u'Played': True, u'LastPlayedDate': u'2018-03-10T17:48:45.0244480Z', u'PlaybackPositionTicks': 0, u'Key': u'93d9c23c-aecd-0a91-b36a-8b7a9cb87034', u'PlayCount': 7}, u'Studios': [], u'People': [], u'Chapters': [{u'ImageTag': u'56461b504cf09d28edc4717f800ac56f', u'Name': u'Chapter 1', u'StartPositionTicks': 0}, {u'ImageTag': u'3c8f8d05e6b27a1800c6c314ce9f6539', u'Name': u'Chapter 2', u'StartPositionTicks': 3000000000L}, {u'ImageTag': u'36a968ce69efdf6734ed33677aed34a8', u'Name': u'Chapter 3', u'StartPositionTicks': 6000000000L}, {u'ImageTag': u'd5c4935575ef902ee81d37b27dcec861', u'Name': u'Chapter 4', u'StartPositionTicks': 9000000000L}, {u'ImageTag': u'd63550dd6db729209cb56e5e0aeab405', u'Name': u'Chapter 5', u'StartPositionTicks': 12000000000L}, {u'ImageTag': u'd830038baeeabd41359fa9906112f042', u'Name': u'Chapter 6', u'StartPositionTicks': 15000000000L}, {u'ImageTag': u'1eb9e02a5268a34b46b320b843fdbb85', u'Name': u'Chapter 7', u'StartPositionTicks': 18000000000L}, {u'ImageTag': u'f5147f3fb6e342c5fceb29a7f5021074', u'Name': u'Chapter 8', u'StartPositionTicks': 21000000000L}, {u'ImageTag': u'98cc6331b4a901d18d1b749ef884ca9b', u'Name': u'Chapter 9', u'StartPositionTicks': 24000000000L}, {u'ImageTag': u'f4485ca6847bbc1bd895950119f20604', u'Name': u'Chapter 10', u'StartPositionTicks': 27000000000L}, {u'ImageTag': u'807f97dee81fcb174195c6e913415de5', u'Name': u'Chapter 11', u'StartPositionTicks': 30000000000L}, {u'ImageTag': u'a706147edf6b2d707cdecb94b4ad7b03', u'Name': u'Chapter 12', u'StartPositionTicks': 33000000000L}, {u'ImageTag': u'c8e62015036f55cab68ace4433d01632', u'Name': u'Chapter 13', u'StartPositionTicks': 36000000000L}, {u'ImageTag': u'1107870ab30c269e1fe58474511cb040', u'Name': u'Chapter 14', u'StartPositionTicks': 39000000000L}, {u'ImageTag': u'73d1d4fdcf4ccd3c63ebfd90b496a9ff', u'Name': u'Chapter 15', u'StartPositionTicks': 42000000000L}], u'DateCreated': u'2018-03-03T22:39:58.0000000Z', u'VideoType': u'VideoFile', u'ImageTags': {u'Primary': u'e1c7bd049c4a53efa119612964cf2747'}, u'RunTimeTicks': 44411088896L, u'Artists': [u'Eric Clapton'], u'SupportsSync': True, u'Id': u'93d9c23caecd0a91b36a8b7a9cb87034'}
18:50:52.547 T:1822757616  NOTICE: EMBY.artwork -> DEBUG:: image cache thread count: 25
18:50:52.599 T:1822757616  NOTICE: Previous line repeats 1 times.
18:50:52.599 T:1822757616  NOTICE: EMBY.playbackutils -> Play called: Live From Madison Square Garden (feat. Steve Winwood)
18:50:52.625 T:1822757616  NOTICE: EMBY.downloadutils -> DEBUG:: ===== ENTER downloadUrl =====
18:50:52.648 T:1822757616  NOTICE: EMBY.downloadutils -> DEBUG:: {'headers': {'Accept-Charset': 'UTF-8,*', 'Accept-encoding': 'gzip', 'X-MediaBrowser-Token': u'{emby-token}', 'Content-type': 'application/json', 'Authorization': 'MediaBrowser UserId="0717b7a249a14ea8856a3228c5e2e115", Client="Kodi", Device="Kodi-Bedroom", DeviceId="BEE898FF123E4591A4E402F482274B38", Version="3.0.14a"', 'User-Agent': 'Emby-Kodi'}, 'json': {'DeviceProfile': {'Name': 'Kodi', 'MaxStreamingBitrate': 2147483000, 'Identification': {'Headers': [{'Match': 2, 'Name': 'User-Agent', 'Value': 'Kodi'}], 'ModelName': 'Kodi'}, 'ContainerProfiles': [], 'TranscodingProfiles': [{'Type': 0, 'Container': 'mp3', 'AudioCodec': 'mp3'}, {'Type': 1, 'VideoCodec': 'h264', 'Container': 'ts', 'AudioCodec': 'aac'}, {'Type': 2, 'Container': 'jpeg'}], 'SubtitleProfiles': [{'Method': 2, 'Format': 'srt'}, {'Method': 2, 'Format': 'sub'}, {'Method': 1, 'Format': 'srt'}, {'DidlMode': '', 'Method': 1, 'Format': 'ass'}, {'DidlMode': '', 'Method': 1, 'Format': 'ssa'}, {'DidlMode': '', 'Method': 1, 'Format': 'smi'}, {'DidlMode': '', 'Method': 1, 'Format': 'dvdsub'}, {'DidlMode': '', 'Method': 1, 'Format': 'pgs'}, {'DidlMode': '', 'Method': 1, 'Format': 'pgssub'}, {'DidlMode': '', 'Method': 1, 'Format': 'sub'}], 'MusicStreamingTranscodingBitrate': 1280000, 'CodecProfiles': [], 'ResponseProfiles': [], 'DirectPlayProfiles': [{'Type': 0, 'Container': ''}, {'Type': 1, 'Container': ''}, {'Type': 2, 'Container': ''}], 'TimelineOffsetSeconds': 5}, 'StartTimeTicks': 0, 'LiveStreamId': None, 'SubtitleStreamIndex': None, 'UserId': '0717b7a249a14ea8856a3228c5e2e115', 'MediaSourceId': None, 'AudioStreamIndex': None}, 'params': None, 'timeout': 30, 'url': u'{emby-server}/emby/Items/93d9c23caecd0a91b36a8b7a9cb87034/PlaybackInfo', 'verify': False}
18:50:52.679 T:1822757616  NOTICE: EMBY.downloadutils -> DEBUG:: ====== 200 Success ======
18:50:52.698 T:1822757616  NOTICE: EMBY.downloadutils -> DEBUG:: Response: {u'PlaySessionId': u'831c435a0912472c9d8efc1cace541f6', u'MediaSources': [{u'SupportsDirectStream': True, u'Container': u'mkv', u'RequiresClosing': False, u'IgnoreDts': False, u'IgnoreIndex': False, u'DefaultAudioStreamIndex': 1, u'SupportsDirectPlay': True, u'MediaStreams': [{u'IsInterlaced': False, u'Index': 0, u'AverageFrameRate': 23.9760246, u'TimeBase': u'1/1000', u'Width': 624, u'Codec': u'h264', u'IsForced': False, u'AspectRatio': u'16:9', u'Type': u'Video', u'IsTextSubtitleStream': False, u'Profile': u'Main', u'DisplayTitle': u'H264', u'NalLengthSize': u'4', u'CodecTimeBase': u'1001/48000', u'RealFrameRate': 23.9760246, u'Level': 30, u'RefFrames': 1, u'BitDepth': 8, u'BitRate': 1491059, u'IsDefault': True, u'IsAnamorphic': False, u'SupportsExternalStream': False, u'Height': 352, u'IsAVC': True, u'PixelFormat': u'yuv420p', u'IsExternal': False}, {u'IsAnamorphic': False, u'IsInterlaced': False, u'DisplayTitle': u'Dolby Digital stereo Default', u'SupportsExternalStream': False, u'ChannelLayout': u'stereo', u'Index': 1, u'Type': u'Audio', u'IsForced': False, u'Level': 0, u'Channels': 2, u'Codec': u'ac3', u'CodecTimeBase': u'1/48000', u'TimeBase': u'1/1000', u'SampleRate': 48000, u'BitRate': 384000, u'IsTextSubtitleStream': False, u'IsDefault': True, u'IsExternal': False}], u'Type': u'Default', u'ReadAtNativeFramerate': False, u'RequiresLooping': False, u'Path': u'/mnt/storage1/music/concerts/E/Eric Clapton/Live From Madison Square Garden (feat. Steve Winwood) (2009)/Eric Clapton - Live From Madison Square Garden (feat. Steve Winwood) (2009).mkv', u'RequiresOpening': False, u'Bitrate': 1491059, u'IsRemote': False, u'Name': u'Eric Clapton - Live From Madison Square Garden (feat. Steve Winwood) (2009).mkv', u'RequiredHttpHeaders': {}, u'SupportsTranscoding': True, u'Formats': [], u'Protocol': u'File', u'IsInfiniteStream': False, u'GenPtsInput': False, u'VideoType': u'VideoFile', u'ETag': u'88b170ac9162755c3c2c4ae0e628adab', u'RunTimeTicks': 44411088896L, u'SupportsProbing': True, u'Id': u'93d9c23caecd0a91b36a8b7a9cb87034'}]}
18:50:52.731 T:1822757616  NOTICE: EMBY.playutils -> DEBUG:: get source: {u'SupportsDirectStream': True, u'Container': u'mkv', u'RequiresClosing': False, u'IgnoreDts': False, u'IgnoreIndex': False, u'DefaultAudioStreamIndex': 1, u'SupportsDirectPlay': True, u'MediaStreams': [{u'IsInterlaced': False, u'Index': 0, u'AverageFrameRate': 23.9760246, u'TimeBase': u'1/1000', u'Width': 624, u'Codec': u'h264', u'IsForced': False, u'AspectRatio': u'16:9', u'Type': u'Video', u'IsTextSubtitleStream': False, u'Profile': u'Main', u'DisplayTitle': u'H264', u'NalLengthSize': u'4', u'CodecTimeBase': u'1001/48000', u'RealFrameRate': 23.9760246, u'Level': 30, u'RefFrames': 1, u'BitDepth': 8, u'BitRate': 1491059, u'IsDefault': True, u'IsAnamorphic': False, u'SupportsExternalStream': False, u'Height': 352, u'IsAVC': True, u'PixelFormat': u'yuv420p', u'IsExternal': False}, {u'IsAnamorphic': False, u'IsInterlaced': False, u'DisplayTitle': u'Dolby Digital stereo Default', u'SupportsExternalStream': False, u'ChannelLayout': u'stereo', u'Index': 1, u'Type': u'Audio', u'IsForced': False, u'Level': 0, u'Channels': 2, u'Codec': u'ac3', u'CodecTimeBase': u'1/48000', u'TimeBase': u'1/1000', u'SampleRate': 48000, u'BitRate': 384000, u'IsTextSubtitleStream': False, u'IsDefault': True, u'IsExternal': False}], u'Type': u'Default', u'ReadAtNativeFramerate': False, u'RequiresLooping': False, u'Path': u'{emby-server}/emby/Videos/93d9c23caecd0a91b36a8b7a9cb87034/stream?static=true&MediaSourceId=93d9c23caecd0a91b36a8b7a9cb87034&PlaySessionId=fc7690879ea64eef8daa91a0b94d635c&api_key={emby-token}', u'RequiresOpening': False, u'Bitrate': 1491059, u'IsRemote': False, u'Name': u'Eric Clapton - Live From Madison Square Garden (feat. Steve Winwood) (2009).mkv', u'RequiredHttpHeaders': {}, u'SupportsTranscoding': True, u'Formats': [], u'Protocol': u'File', u'IsInfiniteStream': False, u'GenPtsInput': False, u'VideoType': u'VideoFile', u'ETag': u'88b170ac9162755c3c2c4ae0e628adab', u'RunTimeTicks': 44411088896L, u'SupportsProbing': True, u'Id': u'93d9c23caecd0a91b36a8b7a9cb87034'}
18:50:52.746 T:1822757616  NOTICE: EMBY.playutils -> playback info: {u'SupportsDirectStream': True, u'Container': u'mkv', u'RequiresClosing': False, u'IgnoreDts': False, u'IgnoreIndex': False, u'DefaultAudioStreamIndex': 1, u'SupportsDirectPlay': True, u'MediaStreams': [{u'IsInterlaced': False, u'Index': 0, u'AverageFrameRate': 23.9760246, u'TimeBase': u'1/1000', u'Width': 624, u'Codec': u'h264', u'IsForced': False, u'AspectRatio': u'16:9', u'Type': u'Video', u'IsTextSubtitleStream': False, u'Profile': u'Main', u'DisplayTitle': u'H264', u'NalLengthSize': u'4', u'CodecTimeBase': u'1001/48000', u'RealFrameRate': 23.9760246, u'Level': 30, u'RefFrames': 1, u'BitDepth': 8, u'BitRate': 1491059, u'IsDefault': True, u'IsAnamorphic': False, u'SupportsExternalStream': False, u'Height': 352, u'IsAVC': True, u'PixelFormat': u'yuv420p', u'IsExternal': False}, {u'IsAnamorphic': False, u'IsInterlaced': False, u'DisplayTitle': u'Dolby Digital stereo Default', u'SupportsExternalStream': False, u'ChannelLayout': u'stereo', u'Index': 1, u'Type': u'Audio', u'IsForced': False, u'Level': 0, u'Channels': 2, u'Codec': u'ac3', u'CodecTimeBase': u'1/48000', u'TimeBase': u'1/1000', u'SampleRate': 48000, u'BitRate': 384000, u'IsTextSubtitleStream': False, u'IsDefault': True, u'IsExternal': False}], u'Type': u'Default', u'ReadAtNativeFramerate': False, u'RequiresLooping': False, u'Path': u'{emby-server}/emby/Videos/93d9c23caecd0a91b36a8b7a9cb87034/stream?static=true&MediaSourceId=93d9c23caecd0a91b36a8b7a9cb87034&PlaySessionId=fc7690879ea64eef8daa91a0b94d635c&api_key={emby-token}', u'RequiresOpening': False, u'Bitrate': 1491059, u'IsRemote': False, u'Name': u'Eric Clapton - Live From Madison Square Garden (feat. Steve Winwood) (2009).mkv', u'RequiredHttpHeaders': {}, u'SupportsTranscoding': True, u'Formats': [], u'Protocol': u'File', u'IsInfiniteStream': False, u'GenPtsInput': False, u'VideoType': u'VideoFile', u'ETag': u'88b170ac9162755c3c2c4ae0e628adab', u'RunTimeTicks': 44411088896L, u'SupportsProbing': True, u'Id': u'93d9c23caecd0a91b36a8b7a9cb87034'}
18:50:52.761 T:1822757616  NOTICE: EMBY.playutils -> play method: DirectStream play url: {emby-server}/emby/Videos/93d9c23caecd0a91b36a8b7a9cb87034/stream?static=true&MediaSourceId=93d9c23caecd0a91b36a8b7a9cb87034&PlaySessionId=fc7690879ea64eef8daa91a0b94d635c&api_key={emby-token}
18:50:52.818 T:1822757616  NOTICE: EMBY.playbackutils -> Detected widget.
18:50:52.834 T:1822757616  NOTICE: EMBY.playbackutils -> Playback activated via the context menu or widgets.
18:50:52.924 T:1180955376  NOTICE: EMBY.websocket_client -> Message: {"MessageType":"RefreshProgress","Data":{"ItemId":"49be0d67dfa88d7213d34a5a681d2098","Progress":"37.7127503663898"}}
18:50:52.943 T:1180955376  NOTICE: EMBY.websocket_client -> Message: {"MessageType":"RefreshProgress","Data":{"ItemId":"7e64e319657a9516ec78490da03edccb","Progress":"37.7127503663898"}}
18:50:52.959 T:1922232160  NOTICE: VideoPlayer::OpenFile: http://192.168.0.203:8096/emby/Videos/93d9c23caecd0a91b36a8b7a9cb87034/stream?static=true&MediaSourceId=93d9c23caecd0a91b36a8b7a9cb87034&PlaySessionId=fc7690879ea64eef8daa91a0b94d635c&api_key=096c98baf2ac4544a065a5ce2513a6bb
18:50:52.964 T:1478488816  NOTICE: Creating InputStream
18:50:53.003 T:1478488816  NOTICE: Creating Demuxer
18:50:53.073 T:1478488816  NOTICE: Opening stream: 0 source: 256
18:50:53.073 T:1478488816  NOTICE: Creating video codec with codec id: 28
18:50:53.088 T:1478488816  NOTICE: Creating video thread
18:50:53.088 T:1062204144  NOTICE: running thread: video_thread
18:50:53.089 T:1478488816  NOTICE: Opening stream: 1 source: 256
18:50:53.089 T:1478488816  NOTICE: Finding audio codec for: 86019
18:50:53.090 T:1478488816  NOTICE: Creating audio thread
18:50:53.099 T:939516656  NOTICE: running thread: CVideoPlayerAudio::Process()
18:50:53.106 T:939516656  NOTICE: Creating audio stream (codec id: 86019, channels: 2, sample rate: 48000, no pass-through)
18:50:53.290 T:1822757616 WARNING: CPythonInvoker(41, /home/osmc/.kodi/addons/plugin.video.emby.musicvideos/default.py): the python script "/home/osmc/.kodi/addons/plugin.video.emby.musicvideos/default.py" has left several classes in memory that we couldn't clean up. The classes include: N9XBMCAddon9xbmcaddon5AddonE
18:50:53.414 T:1729098480  NOTICE: EMBY.kodimonitor -> Method: Player.OnPlay Data: {"item":{"id":22249,"type":"musicvideo"},"player":{"playerid":1,"speed":1}}
18:50:53.431 T:1729098480  NOTICE: EMBY.kodimonitor -> kodi_id: 22249 item_type: musicvideo
18:50:53.459 T:1729098480  NOTICE: EMBY.kodimonitor -> Method: Unknown.OnChanged Data: null
18:50:53.617 T:1729098480  NOTICE: EMBY.player -> ONPLAYBACK_STARTED: {emby-server}/emby/Videos/93d9c23caecd0a91b36a8b7a9cb87034/stream?static=true&MediaSourceId=93d9c23caecd0a91b36a8b7a9cb87034&PlaySessionId=fc7690879ea64eef8daa91a0b94d635c&api_key={emby-token} itemid: 93d9c23caecd0a91b36a8b7a9cb87034
18:50:53.635 T:1729098480  NOTICE: EMBY.player -> DEBUG:: Sending POST play started: {'ItemId': u'93d9c23caecd0a91b36a8b7a9cb87034', 'PlaySessionId': u'fc7690879ea64eef8daa91a0b94d635c', 'QueueableMediaTypes': 'Video,Audio', 'SubtitleStreamIndex': '', 'MediaSourceId': u'93d9c23caecd0a91b36a8b7a9cb87034', 'IsMuted': False, 'PositionTicks': 1300000, 'CanSeek': True, 'VolumeLevel': 100, 'PlayMethod': u'DirectStream', 'AudioStreamIndex': 1}.
18:50:53.651 T:1729098480  NOTICE: EMBY.downloadutils -> DEBUG:: ===== ENTER downloadUrl =====
18:50:53.672 T:1729098480  NOTICE: EMBY.downloadutils -> DEBUG:: {'url': '{emby-server}/emby/Sessions/Playing', 'json': {'ItemId': u'93d9c23caecd0a91b36a8b7a9cb87034', 'PlaySessionId': u'fc7690879ea64eef8daa91a0b94d635c', 'QueueableMediaTypes': 'Video,Audio', 'SubtitleStreamIndex': '', 'MediaSourceId': u'93d9c23caecd0a91b36a8b7a9cb87034', 'IsMuted': False, 'PositionTicks': 1300000, 'CanSeek': True, 'VolumeLevel': 100, 'PlayMethod': u'DirectStream', 'AudioStreamIndex': 1}, 'params': None, 'timeout': 30}
18:50:53.711 T:1729098480  NOTICE: EMBY.downloadutils -> DEBUG:: ====== 204 Success ======
18:50:53.728 T:1729098480  NOTICE: EMBY.player -> ADDING_FILE: {'{emby-server}/emby/Videos/93d9c23caecd0a91b36a8b7a9cb87034/stream?static=true&MediaSourceId=93d9c23caecd0a91b36a8b7a9cb87034&PlaySessionId=fc7690879ea64eef8daa91a0b94d635c&api_key={emby-token}': {'currentfile': '{emby-server}/emby/Videos/93d9c23caecd0a91b36a8b7a9cb87034/stream?static=true&MediaSourceId=93d9c23caecd0a91b36a8b7a9cb87034&PlaySessionId=fc7690879ea64eef8daa91a0b94d635c&api_key={emby-token}', 'SubtitleStreamIndex': '', 'playsession_id': u'fc7690879ea64eef8daa91a0b94d635c', 'AudioStreamIndex': 1, 'mediasource_id': u'93d9c23caecd0a91b36a8b7a9cb87034', 'item_id': u'93d9c23caecd0a91b36a8b7a9cb87034', 'Type': u'MusicVideo', 'playmethod': u'DirectStream', 'refresh_id': u'93d9c23caecd0a91b36a8b7a9cb87034', 'currentPosition': 0, 'runtime': 44411088896L}}
18:50:53.779 T:1729098480  NOTICE: EMBY.player -> DEBUG:: reportPlayback Called
18:50:53.797 T:1729098480  NOTICE: EMBY.player -> DEBUG:: Report: {'ItemId': u'93d9c23caecd0a91b36a8b7a9cb87034', 'PlaySessionId': u'fc7690879ea64eef8daa91a0b94d635c', 'QueueableMediaTypes': 'Video', 'SubtitleStreamIndex': '', 'MediaSourceId': u'93d9c23caecd0a91b36a8b7a9cb87034', 'IsMuted': False, 'PositionTicks': 3330000, 'IsPaused': False, 'CanSeek': True, 'VolumeLevel': 100, 'PlayMethod': u'DirectStream', 'AudioStreamIndex': 1}
18:50:53.819 T:1729098480  NOTICE: EMBY.downloadutils -> DEBUG:: ===== ENTER downloadUrl =====
18:50:53.839 T:1729098480  NOTICE: EMBY.downloadutils -> DEBUG:: {'url': '{emby-server}/emby/Sessions/Playing/Progress', 'json': {'ItemId': u'93d9c23caecd0a91b36a8b7a9cb87034', 'PlaySessionId': u'fc7690879ea64eef8daa91a0b94d635c', 'QueueableMediaTypes': 'Video', 'SubtitleStreamIndex': '', 'MediaSourceId': u'93d9c23caecd0a91b36a8b7a9cb87034', 'IsMuted': False, 'PositionTicks': 3330000, 'IsPaused': False, 'CanSeek': True, 'VolumeLevel': 100, 'PlayMethod': u'DirectStream', 'AudioStreamIndex': 1}, 'params': None, 'timeout': 30}
18:50:53.864 T:1729098480  NOTICE: EMBY.downloadutils -> DEBUG:: ====== 204 Success ======
18:50:53.928 T:1180955376  NOTICE: EMBY.websocket_client -> Message: {"MessageType":"RefreshProgress","Data":{"ItemId":"49be0d67dfa88d7213d34a5a681d2098","Progress":"37.9488031265266"}}
18:50:53.944 T:1180955376  NOTICE: EMBY.websocket_client -> Message: {"MessageType":"RefreshProgress","Data":{"ItemId":"7e64e319657a9516ec78490da03edccb","Progress":"37.9488031265266"}}
18:50:54.123 T:1922232160  NOTICE: Samba is idle. Closing the remaining connections
18:50:54.205 T:1180955376  NOTICE: EMBY.websocket_client -> Message: {"MessageType":"UserDataChanged","Data":{"UserId":"0717b7a249a14ea8856a3228c5e2e115","UserDataList":[{"PlaybackPositionTicks":0,"PlayCount":8,"IsFavorite":false,"LastPlayedDate":"2018-03-10T17:50:53.6870690Z","Played":true,"Key":"93d9c23c-aecd-0a91-b36a-8b7a9cb87034","ItemId":"93d9c23caecd0a91b36a8b7a9cb87034"},{"UnplayedItemCount":1,"PlaybackPositionTicks":0,"PlayCount":0,"IsFavorite":false,"Played":false,"Key":"87385e5d-22fa-5d14-b15a-45eb975d0c31","ItemId":"87385e5d22fa5d14b15a45eb975d0c31"}]}}

FAIL (via node filter):

18:54:04.057 T:1922232160  NOTICE: VideoPlayer::OpenFile: videodb://musicvideos/artists/43694/22249/22249?albumid=22249&artistid=43694&xsp=%7b%22group%22%3a%7b%22mixed%22%3afalse%2c%22type%22%3a%22actors%22%7d%2c%22rules%22%3a%7b%22and%22%3a%5b%7b%22field%22%3a%22artist%22%2c%22operator%22%3a%22startswith%22%2c%22value%22%3a%5b%22E%22%5d%7d%5d%7d%2c%22type%22%3a%22musicvideos%22%7d
18:54:04.062 T:922739440  NOTICE: Creating InputStream
18:54:04.065 T:1729098480  NOTICE: EMBY.kodimonitor -> Method: Playlist.OnClear Data: {"playlistid":1}
18:54:04.089 T:922739440 WARNING: CreateLoader - unsupported protocol(plugin) in plugin://plugin.video.emby.musicvideos/?dbid=22249&mode=play&id=93d9c23caecd0a91b36a8b7a9cb87034&filename=Eric+Clapton+-+Live+From+Madison+Square+Garden+%28feat.+Steve+Winwood%29+%282009%29.mkv
18:54:04.089 T:922739440   ERROR: CVideoPlayer::OpenInputStream - error opening [videodb://musicvideos/artists/43694/22249/22249?albumid=22249&artistid=43694&xsp=%7b%22group%22%3a%7b%22mixed%22%3afalse%2c%22type%22%3a%22actors%22%7d%2c%22rules%22%3a%7b%22and%22%3a%5b%7b%22field%22%3a%22artist%22%2c%22operator%22%3a%22startswith%22%2c%22value%22%3a%5b%22E%22%5d%7d%5d%7d%2c%22type%22%3a%22musicvideos%22%7d]
18:54:04.090 T:922739440  NOTICE: CVideoPlayer::OnExit()
18:54:04.417 T:1729098480  NOTICE: EMBY.kodimonitor -> Method: Player.OnPlay Data: {"item":{"id":22249,"type":"musicvideo"},"player":{"playerid":1,"speed":1}}
18:54:04.462 T:1729098480  NOTICE: EMBY.kodimonitor -> kodi_id: 22249 item_type: musicvideo
18:54:04.487 T:1729098480  NOTICE: EMBY.kodimonitor -> Method: Unknown.OnChanged Data: null
18:54:05.091 T:1180955376  NOTICE: EMBY.websocket_client -> Message: {"MessageType":"RefreshProgress","Data":{"ItemId":"7c9948ee753cf51ce1b7f00e633d3dba","Progress":"38.8700414937759"}}
18:54:05.486 T:1180955376  NOTICE: EMBY.websocket_client -> Message: {"MessageType":"RefreshProgress","Data":{"ItemId":"7e64e319657a9516ec78490da03edccb","Progress":"38.8700414937759"}}
18:54:05.545 T:1729098480  NOTICE: EMBY.kodimonitor -> Method: VideoLibrary.OnUpdate Data: {"item":{"id":22249,"type":"musicvideo"}}
18:54:05.662 T:1729098480  NOTICE: EMBY.database -> opened: /home/osmc/.kodi/userdata/Database/emby.db - 1313393360
18:54:05.758 T:1180955376  NOTICE: EMBY.websocket_client -> Message: {"MessageType":"RefreshProgress","Data":{"ItemId":"7c9948ee753cf51ce1b7f00e633d3dba","Progress":"39.0804979253112"}}
18:54:05.904 T:1729098480  NOTICE: EMBY.database -> Verifying emby DB
18:54:05.990 T:1902113520  NOTICE: CAESinkPi:AddPackets Underrun (delay:0.00 frames:1102)
18:54:06.053 T:1180955376  NOTICE: EMBY.websocket_client -> Message: {"MessageType":"RefreshProgress","Data":{"ItemId":"7e64e319657a9516ec78490da03edccb","Progress":"39.0804979253112"}}
18:54:06.110 T:1729098480  NOTICE: EMBY.database -> closing: /home/osmc/.kodi/userdata/Database/emby.db - 1313393360
18:54:06.130 T:1729098480  NOTICE: EMBY.downloadutils -> DEBUG:: ===== ENTER downloadUrl =====
18:54:06.269 T:1729098480  NOTICE: EMBY.downloadutils -> DEBUG:: {'url': u'{emby-server}/emby/Users/0717b7a249a14ea8856a3228c5e2e115/PlayedItems/93d9c23caecd0a91b36a8b7a9cb87034?format=json', 'json': None, 'params': None, 'timeout': 30}
18:54:06.647 T:1180955376  NOTICE: EMBY.websocket_client -> Message: {"MessageType":"RefreshProgress","Data":{"ItemId":"7c9948ee753cf51ce1b7f00e633d3dba","Progress":"39.5648132780083"}}
18:54:06.855 T:1180955376  NOTICE: EMBY.websocket_client -> Message: {"MessageType":"RefreshProgress","Data":{"ItemId":"7e64e319657a9516ec78490da03edccb","Progress":"39.5648132780083"}}

Ephemeral Port Exhaustion

When I initially set up the plugin (on OS X) and run the sync, it throws an error that it can not communicate with the Emby server after some time. If I hop on the Emby server (server 2012 R2) I can see symptoms of ephemeral port exhaustion. Is there a reason the plugin for Kodi would very quickly churn through 16k+ ports during a sync? Please let me know how to gather data to help diagnose this issue. I can capture traces, dumps, etc.

OperationalError: no such table: tag

I'm getting the following error trying to do a manual sync:

16:40:11.983 T:2698992448  NOTICE: EMBY.views -> creating view Movies: f137a2dd21bbc1b99aa5c0f6bf02a805
16:40:11.996 T:2698992448  NOTICE: EMBY.database -> ERROR:: Type: <class 'sqlite3.OperationalError'> Value: no such table: tag
16:40:11.997 T:2698992448  NOTICE: EMBY.database -> closing: /home/mythtv/.kodi/userdata/Database/MyVideos107.db - 2846530920
16:40:11.999 T:2698992448  NOTICE: EMBY.database -> ERROR:: Type: <class 'sqlite3.OperationalError'> Value: no such table: tag
16:40:12.000 T:2698992448  NOTICE: EMBY.database -> closing: /home/mythtv/.kodi/userdata/Database/emby.db - 2739211216
16:40:12.166 T:2749348672   DEBUG: Caching image 'http://mirrors.kodi.tv/addons/krypton/plugin.video.cnet.podcasts/icon.png' to 'b/b8accd3a.jpg':
16:40:12.166 T:2749348672   DEBUG: cached image 'special://masterprofile/Thumbnails/b/b8accd3a.jpg' size 256x256
16:40:12.492 T:2749348672   DEBUG: Using proxy proxy, type 0
16:40:12.527 T:2429795136  NOTICE: EMBY.ga_client -> ERROR:: hostname 'www.google-analytics.com' doesn't match either of '*.urlfilterdb.com', 'urlfilterdb.com'
16:40:12.530 T:2429795136  NOTICE: EMBY.librarysync -> ERROR:: no such table: tag
                                            Traceback (most recent call last):
                                              File "/home/mythtv/.kodi/addons/plugin.video.emby/resources/lib/librarysync.py", line 621, in run
                                                self.run_internal()
                                              File "/home/mythtv/.kodi/addons/plugin.video.emby/resources/lib/librarysync.py", line 716, in run_internal
                                                librarySync = self.startSync()
                                              File "/home/mythtv/.kodi/addons/plugin.video.emby/resources/lib/librarysync.py", line 112, in startSync
                                                completed = self.fullSync()
                                              File "/home/mythtv/.kodi/addons/plugin.video.emby/resources/lib/librarysync.py", line 283, in fullSync
                                                views.Views(cursor_emby, cursor_video).maintain()
                                              File "/home/mythtv/.kodi/addons/plugin.video.emby/resources/lib/views.py", line 107, in maintain
                                                if self.compare_view(media_type, view_id, view_name, view_type):
                                              File "/home/mythtv/.kodi/addons/plugin.video.emby/resources/lib/views.py", line 172, in compare_view
                                                self.add_view(media_type, view_id, view_name, view_type)
                                              File "/home/mythtv/.kodi/addons/plugin.video.emby/resources/lib/views.py", line 146, in add_view
                                                tag_id = self.get_tag(view_name)
                                              File "/home/mythtv/.kodi/addons/plugin.video.emby/resources/lib/views.py", line 220, in get_tag
                                                self.kodi_cursor.execute(query, (tag,))
                                            OperationalError: no such table: tag

Notice in particular the:

16:40:11.997 T:2698992448  NOTICE: EMBY.database -> closing: /home/mythtv/.kodi/userdata/Database/MyVideos107.db - 2846530920

But I am not using sqlite here in my installation but rather MySQL and so it's not surprising that that table doesn't exist in that database:

# ls -l /home/mythtv/.kodi/userdata/Database/MyVideos107.db
-rw-r--r-- 1 mythtv mythtv 0 Sep 11 16:21 /home/mythtv/.kodi/userdata/Database/MyVideos107.db

No tables exist. None should exist. Kodi is using MySQL.

Unable to disable

When trying to disable the plugin 2.3.55, installed on an up-to-date osmc on pi 3, Kodi becomes unresponsive.

no access to server with latest 2.2.29 beta on Raspberry Pi 3

After the Emby plugin updated automatically (I made a new Kodi profile to test something and the plugin auto updated before I could disable auto-update), the connection to my Emby server was refused.
After reverting to 2.2.25, and rebooting, connection was established again automatically without problems.
The relevant part (at least I think so) of the log can be found here on pastebin:
http://pastebin.com/UH9VbAkt

Some more info:
My Emby Server is behind a restrictive Firewall because the box is also my VPN gateway.
The local address is 192.168.0.103, which I usually use since LAN access is not restricted by the Firewall.
The IP I got from my ISP is 10.4.13.140 (dynamic IP, changes at every connect). The firewall is only open to three ports on that IP, excluding 8096
Plus the exit IP from the VPN which depends on the current VPN server.
After the update to 2.2.29 I entered the IP 192.168.0.103 (and network credentials) manually and tried to connect again without success.

Kodi runs on a Raspberry Pi3 with the latest Libreelec.

Emby does not show in the repository on 14.2

I have been trying to get emby working on my odroid. The only stable version available is 14.2 but when I install the stable repository emby is not shown as a video addon at all. Not listed as incompatable, just missing. Is there a reason or am I doing something wrong.

How to update addon?

I'm trying to debug a problem with my music library (#16) and I wanted to make sure I have the last version of the addon. I checked on Kodi and it seems I have 1.1.39.

Then I see on the forums the last version is 1.1.52, but then I come back to this repository and I see the latest release is 1.1.48.

Which one is OK? I thought Kodi had auto update for addons? How do I update to the latest version?

Kodi for Emby Addon playback issue

Was running 2.3.59 (or .57) and noticed I auto-updated to 2.3.60 and now playback is affected. I've tried enabling debug logging on the addon side and server-side but nothing obvious comes up except the error itself. I'm more than happy to provide more captures if I know the appropriate procedure. Here's what I captured so far that I felt was relevant to warrant this posting:

18:15:49.735 T:545002053856 NOTICE: EMBY.default_tvshows -> Parameter string: ?dbid=3560&mode=play&id=eafccbcac337b819a1c163e1ce946215&filename=S05E21+-+Stargate+SG-1+-+Meridian.avi
18:15:52.640 T:545002053856 NOTICE: EMBY.playbackutils -> Play called.
18:15:52.677 T:545002053856 NOTICE: EMBY.playutils -> Can't direct play, play from HTTP enabled.
18:15:52.685 T:545002053856 ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
- NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
Error Type: <type 'exceptions.KeyError'>
Error Contents: ('Profile',)
Traceback (most recent call last):
File "/storage/.kodi/addons/plugin.video.emby.tvshows/default.py", line 50, in
entrypoint.doPlayback(itemid, dbid)
File "/storage/.kodi/addons/plugin.video.emby/resources/lib/entrypoint.py", line 46, in doPlayback
pbutils.PlaybackUtils(item).play(itemId, dbId)
File "/storage/.kodi/addons/plugin.video.emby/resources/lib/playbackutils.py", line 57, in play
playurl = playutils.getPlayUrl()
File "/storage/.kodi/addons/plugin.video.emby/resources/lib/playutils.py", line 102, in getPlayUrl
elif self.isDirectStream():
File "/storage/.kodi/addons/plugin.video.emby/resources/lib/playutils.py", line 249, in isDirectStream
videoprofile = self.item['MediaStreams'][vid]['Profile']
KeyError: ('Profile',)
-->End of Python script error report<--
18:15:53.020 T:545002053856 WARNING: CPythonInvoker(83, /storage/.kodi/addons/plugin.video.emby.tvshows/default.py): the python script "/storage/.kodi/addons/plugin.video.emby.tvshows/default.py" has left several classes in memory that we couldn't clean up. The classes include: N9XBMCAddon9xbmcaddon5AddonE
18:15:53.065 T:548174741504 ERROR: Playlist Player: skipping unplayable item: 20, path [plugin://plugin.video.emby.tvshows/19d17c1bb7ee5db035162639989c8f72/?dbid=3560&mode=play&id=eafccbcac337b819a1c163e1ce946215&filename=S05E21+-+Stargate+SG-1+-+Meridian.avi]
18:15:54.740 T:546861740256 NOTICE: EMBY.kodimonitor -> Method: Playlist.OnClear Data: {"playlistid":1}

Now even files I've previously watched (complete or otherwise) will no longer play. It seems somewhat random and not really sure where to begin. I've reinstalled the addon/Kodi and even tried older versions without any luck. I copied the videos in question to my local machine and added them as local content, they play fine this way. I can play the content from the Emby web-viewer/player without issue. Checked permissions. This seems to be isolated to the addon and I've run out of ideas how to troubleshoot.

I've even removed the library in question and re-added it back, same result. Not all content is affected, in fact, it's only this one area of tv shows (Stargate SG-1) and some episodes play, others generate exactly the same error above.

Looking for any help I can get and do whatever I can to help provide the right kind of debugging information you may need.

Sync the playlist / nodes refresh failed

I have installed the Kodi Embed Plugin (2.1.0) on Kodi (Feb 2015) but when I try to sync the playlist / nodes to my server (192.168.1.80:8096) I get a "refresh failed error". What could be the issue ?
I can access to the Emby UpnP server from my kodi / raspberry machine and watch movies ....

Kodi Version : Feb 2015
Raspbian Gnu/Linux 7 (wheezy) Linux Kernel 3.12.31

REMARK : I have installed the latest version of KODI (= OSMC - Version 2016-04-01) and I get also the same problem

Here is the info reported within the kodi.log file

19:17:24 2187.001709 T:2829054960  NOTICE: EMBY Service -> ======== START EMBY ========
19:17:24 2187.012207 T:2829054960  NOTICE: EMBY Service -> Platform: Linux/RPi
19:17:24 2187.013184 T:2829054960  NOTICE: EMBY Service -> KODI Version: 16.1-RC3
19:17:24 2187.041016 T:2829054960  NOTICE: EMBY Service -> EMBY Version: 2.2.10
19:17:24 2187.092041 T:2829054960  NOTICE: EMBY Service -> Using plugin paths: True
19:17:24 2187.093018 T:2829054960  NOTICE: EMBY Service -> Log Level: 1
19:17:24 2187.109131 T:2829054960  NOTICE: EMBY VideoNodes -> Clearing nodes properties.
19:17:24 2187.539307 T:2829054960  NOTICE: EMBY ClientInfo -> DeviceId loaded: 49996B559B3942B981244A416BBC914D
19:17:27 2190.468506 T:2829054960  NOTICE: EMBY Service -> Server is online and ready.
19:17:27 2190.491455 T:2694837232  NOTICE: EMBY UserClient -> ----===## Starting UserClient ##===----
19:17:28 2190.686768 T:2694837232  NOTICE: EMBY UserClient -> Missing server information.
19:17:28 2191.492188 T:2829054960  NOTICE: EMBY Service -> Not authenticated yet.
20:20:40 5982.640625 T:2638210032  NOTICE: EMBY DownloadUtils -> Unknown error connecting to: /emby/Users//Views?format=json
20:20:40 5982.642578 T:2638210032  NOTICE: EMBY DownloadUtils -> Invalid URL '/emby/Users//Views?format=json': No schema supplied. Perhaps you meant http:///emby/Users//Views?format=json?
20:20:40 5982.645020 T:2638210032  NOTICE: EMBY -> Refresh playlists/nodes failed: string indices must be integers, not str
20:21:36 6038.632324 T:2638210032  NOTICE: EMBY -> Reset login attempts.
22:50:13 14955.798828 T:2829054960  NOTICE: EMBY Player -> Could not find itemId, cancelling playback report...
22:50:19 14962.112305 T:2829054960  NOTICE: EMBY Player -> Clear playlist properties.

Request : http://192.168.1.80:8096/mediabrowser/Users/Public?format=json

[{"Name":"dabou","ServerId":"83834b2e7d734ae6868c46c43ec237bb","Id":"a0d74638adb348a98ac4d92038863ca7","HasPassword":false,"HasConfiguredPassword":false,"HasConfiguredEasyPassword":false,"LastLoginDate":"2016-05-01T18:47:53.1090190Z","LastActivityDate":"2016-05-01T20:51:29.1686390Z","Configuration":{"PlayDefaultAudioTrack":true,"DisplayMissingEpisodes":false,"DisplayUnairedEpisodes":false,"GroupMoviesIntoBoxSets":false,"GroupedFolders":[],"SubtitleMode":"Default","DisplayCollectionsView":false,"DisplayFoldersView":false,"EnableLocalPassword":false,"OrderedViews":["1adb21f211b28ad385581304449a107e","52f1cc5cfe5ba8c9452cebe7bca9e026"],"IncludeTrailersInSuggestions":true,"LatestItemsExcludes":[],"PlainFolderViews":[],"HidePlayedInLatest":true,"DisplayChannelsInline":true,"RememberAudioSelections":true,"RememberSubtitleSelections":true,"EnableNextEpisodeAutoPlay":true},"Policy":{"IsAdministrator":true,"IsHidden":false,"IsDisabled":false,"BlockedTags":[],"EnableUserPreferenceAccess":true,"AccessSchedules":[],"BlockUnratedItems":[],"EnableRemoteControlOfOtherUsers":true,"EnableSharedDeviceControl":true,"EnableLiveTvManagement":true,"EnableLiveTvAccess":true,"EnableMediaPlayback":true,"EnableAudioPlaybackTranscoding":true,"EnableVideoPlaybackTranscoding":true,"EnableContentDeletion":true,"EnableContentDownloading":true,"EnableSync":true,"EnableSyncTranscoding":true,"EnabledDevices":[],"EnableAllDevices":true,"EnabledChannels":[],"EnableAllChannels":true,"EnabledFolders":[],"EnableAllFolders":true,"InvalidLoginAttemptCount":0,"EnablePublicSharing":true}}]

I can't also sync manually

08:36:42 3744.797607 T:2709226480  NOTICE: Using Image Cache Thread Count: 0 -> 1
08:36:42 3744.806885 T:2709226480  NOTICE: plugin.video.emby started
08:36:42 3744.807617 T:2709226480  NOTICE: Parameter string: ?mode=manualsync
08:36:42 3744.862549 T:2709226480  NOTICE: EMBY -> Toggling screensaver:  {"id":0,"jsonrpc":"2.0","result":true}
08:36:51 3753.649170 T:2709226480  NOTICE: Using Image Cache Thread Count: 0 -> 1
08:36:51 3753.974854 T:2709226480  NOTICE: EMBY DownloadUtils -> Unknown error connecting to: /emby/Users//Views?format=json
08:36:51 3753.975586 T:2709226480  NOTICE: EMBY DownloadUtils -> Invalid URL '/emby/Users//Views?format=json': No schema supplied. Perhaps you meant http:///emby/Users//Views?format=json?
08:36:51 3754.026123 T:2709226480   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <type 'exceptions.TypeError'>
                                            Error Contents: string indices must be integers, not str
                                            Traceback (most recent call last):
                                              File "/home/osmc/.kodi/addons/plugin.video.emby/default.py", line 151, in <module>
                                                Main()
                                              File "/home/osmc/.kodi/addons/plugin.video.emby/default.py", line 118, in __init__
                                                librarysync.ManualSync().sync(dialog=True)
                                              File "/home/osmc/.kodi/addons/plugin.video.emby/resources/lib/librarysync.py", line 1078, in sync
                                                return self.fullSync(manualrun=True, forceddialog=dialog)
                                              File "/home/osmc/.kodi/addons/plugin.video.emby/resources/lib/librarysync.py", line 270, in fullSync
                                                self.maintainViews(embycursor, kodicursor)
                                              File "/home/osmc/.kodi/addons/plugin.video.emby/resources/lib/librarysync.py", line 383, in maintainViews
                                                grouped_views = result['Items']
                                            TypeError: string indices must be integers, not str
                                            -->End of Python script error report<--
08:36:52 3754.677246 T:2709226480 WARNING: CPythonInvoker(4, /home/osmc/.kodi/addons/plugin.video.emby/default.py): the python script "/home/osmc/.kodi/addons/plugin.video.emby/default.py" has lef
t several classes in memory that we couldn't clean up. The classes include: N9XBMCAddon9xbmcaddon5AddonE,N9XBMCAddon4xbmc7MonitorE,N9XBMCAddon9xbmcaddon5AddonE,N9XBMCAddon9xbmcaddon5AddonE,N9XBMCA
ddon9xbmcaddon5AddonE
08:36:52 3754.691162 T:3024024496   ERROR: GetDirectory - Error getting plugin://plugin.video.emby/?mode=manualsync
08:36:52 3754.701904 T:3024024496   ERROR: CGUIMediaWindow::GetDirectory(plugin://plugin.video.emby/?mode=manualsync) failed
08:37:32 3795.149414 T:2735731696  NOTICE: ES: Client  from 192.168.1.5 timed out

Can't connect to repository

Hi,

just purchased a new tablet, and I cant install emby for kodi...

I can install repository, but not the addon :(

Any suggestions?

Log included.
kodi.txt

Strange sort order in movie list

My movie library contains movies with numeric/latin/cyrillic names and also several movie collections named in cyrillic. When the library displayed in Kodi (sort by name) it shows
numerical movie names (like 2012) then
movie names from latin characters (like Jesus Christ Superstar) then
collections with cyrillic names then
movies with cyrillic names

for me, this is a bit strange, cause I expect to see collections sorted in ascii order and then movies sorted in ascii order. In my case the sorted list should look like
collections with cyrillic names then
numerical movie names (like 2012) then
movie names from latin characters (like Jesus Christ Superstar) then
movies with cyrillic names

Database get compressed - takes a long time

Hi, I am using Kodi LE8.2.x (latest Kodi17 + latest Emby) and getting suspicious timeouts after watching movies/shows at several devices (problem exist at least 1/4 year).

After a movie/show is finished (every 2-4 movies/episodes) there is a notification "database get compressed" - that locks the entire gui for several seconds. I am not sure what it does nor from where it comes from.

log with the entry for that operation
NOTICE: VideoInfoScanner: Finished scan. Scanning for video info took 00:41
https://pastebin.com/SciV8kTb

There are no obvious speed limits anywhere (LAN/eMMC/NAS) so I have no real idea where to search for it. Any help to debug this is appreciated.

HTTP Basic Authentication partially working

I currently have a reverse proxy set up & am using a basic auth username/password with all my services.
accessing emby via the webpage works fine, but using the kodi addon only partially works.
When running the emby kodi setup i enter https://username:[email protected],
after entering the address/port the user page pops up & shows my users, so obviously it connected. but after i tap a user the user window closes & it does not ask for my user password.
is there any way for me to get basic authentication working with the kodi addon? i would really like to not have to open the emby page to the internet.

Problem with accentuated kodi profile

Hi, thanks for this plugin...

I've been getting problems with the emby for kodi plugin when using it on a kodi box with multiple profiles and when those name has accents (ex.: Sébastien, Mélissa). The profile folder use those accent and the emby plugin crash and is unusable.

The only solution that I get is to name those without accent (Sebastien, Melissa). After the profile creation, you can rename the display name with accent. The folder still be without accents so everything work perfectly.

But it could be nice to be able to use it with accentuated names.

Here is the output of the KODI.log

21:59:55.403 T:2609525664  NOTICE: EMBY.service -> Delaying emby startup by: 0 sec...
21:59:55.423 T:2609525664  NOTICE: EMBY.service_entry -> ======== START EMBY ========
21:59:55.424 T:2609525664  NOTICE: EMBY.service_entry -> Python Version: 2.7.13 (default, Oct  7 2017, 01:49:17) 
                                            [GCC 6.2.0]
21:59:55.432 T:2609525664  NOTICE: EMBY.service_entry -> Platform: Linux
21:59:55.433 T:2609525664  NOTICE: EMBY.service_entry -> KODI Version: 17.5 Git:5bd45ab
21:59:55.434 T:2609525664  NOTICE: EMBY.service_entry -> EMBY Version: 2.3.56
21:59:55.444 T:2609525664  NOTICE: EMBY.service_entry -> Using plugin paths: True
21:59:55.447 T:2609525664  NOTICE: EMBY.service_entry -> Log Level: 1
21:59:55.450 T:2609525664  NOTICE: EMBY.views -> Clearing nodes properties.
21:59:55.454 T:2609525664  NOTICE: EMBY.service_entry -> Loading existing views...
21:59:55.471 T:2609525664  NOTICE: EMBY.connectionmanager -> Begin ConnectionManager constructor
21:59:55.472 T:2609525664  NOTICE: EMBY.connectionmanager -> Begin connect
21:59:55.473 T:2609525664  NOTICE: EMBY.connectionmanager -> Begin getAvailableServers
21:59:55.474 T:2609525664  NOTICE: EMBY.credentials -> 'ascii' codec can't encode character u'\xe9' in position 34: ordinal not in range(128)
21:59:55.475 T:2609525664  NOTICE: EMBY.credentials -> credentials initialized with: {}
21:59:55.476 T:2609525664  NOTICE: EMBY.connectionmanager -> Begin getConnectServers
21:59:55.811 T:2880431008   ERROR: CecLogMessage - Write: write failed !
21:59:56.485 T:2609525664   ERROR: Previous line repeats 1 times.
21:59:56.486 T:2609525664  NOTICE: EMBY.connectionmanager -> Found Servers: [{u'Name': u'emby', u'Id': u'd9076907bfc7420aa7c5dc90ca11f7d3', u'Address': u'http://192.168.1.20:8096'}]
21:59:56.512 T:2609525664   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <type 'exceptions.UnicodeEncodeError'>
                                            Error Contents: 'ascii' codec can't encode character u'\xe9' in position 34: ordinal not in range(128)
                                            Traceback (most recent call last):
                                              File "/storage/.kodi/addons/plugin.video.emby/service.py", line 37, in <module>
                                                service = Service()
                                              File "/storage/.kodi/addons/plugin.video.emby/resources/lib/service_entry.py", line 84, in __init__
                                                librarysync.LibrarySync().offline_mode_views()
                                              File "/storage/.kodi/addons/plugin.video.emby/resources/lib/librarysync.py", line 59, in __init__
                                                self.user = userclient.UserClient()
                                              File "/storage/.kodi/addons/plugin.video.emby/resources/lib/userclient.py", line 42, in __init__
                                                self.connectmanager = connectmanager.ConnectManager()
                                              File "/storage/.kodi/addons/plugin.video.emby/resources/lib/connectmanager.py", line 60, in __init__
                                                self.state = self._connect.connect()
                                              File "/storage/.kodi/addons/plugin.video.emby/resources/lib/connect/connectionmanager.py", line 765, in connect
                                                servers = self.getAvailableServers()
                                              File "/storage/.kodi/addons/plugin.video.emby/resources/lib/connect/connectionmanager.py", line 426, in getAvailableServers
                                                self.credentialProvider.getCredentials(credentials)
                                              File "/storage/.kodi/addons/plugin.video.emby/resources/lib/connect/credentials.py", line 75, in getCredentials
                                                self._set(data)
                                              File "/storage/.kodi/addons/plugin.video.emby/resources/lib/connect/credentials.py", line 59, in _set
                                                with open(os.path.join(self.path, 'data.txt'), 'w') as outfile:
                                            UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 34: ordinal not in range(128)
                                            -->End of Python script error report<--
21:59:56.779 T:2609525664 WARNING: CPythonInvoker(9, /storage/.kodi/addons/plugin.video.emby/service.py): the python script "/storage/.kodi/addons/plugin.video.emby/service.py" has left several classes in memory that we couldn't clean up. The classes include: N9XBMCAddon9xbmcaddon5AddonE,N9XBMCAddon4xbmc7MonitorE,N9XBMCAddon9xbmcaddon5AddonE
21:59:57.117 T:2880431008   ERROR: CecLogMessage - Write: write failed !

Using:
Libreelec 8.2 (Wetek Play)

No support for Kodi XML excludes

Emby does not honor excludes found in the advancedsettings.xml of Kodi and creates issues when a series populates its list full of 'Extras'. #91

HTTP 416 error behind a Squid 3 proxy

Hi,

I have just setup the addon on a brand new OpenELEC install. I just wanted to report that the repository website returns an HTTP 416 error when Kodi tries to fetch the repo's main XML file behind a Squid HTTP proxy. Everything works fine as soon as the site is whitelisted to bypass the proxy. Note that this happens with a very simple caching proxy, which doesn't use block lists nor complicated ACL. It seems to be related to your Apache configuration.

Thanks!

Description for Sync/Playback options unclear

In Sync options the description for playback mode "Add-on" says:

This playback mode is controlled by the add-on. You can direct play/direct stream/transcode and use the Emby cinema feature.

While the description for playback mode "Native" mentions:

This will use actual file paths to your media files. These paths come from your Emby server. Make sure the Kodi client has access to the same paths used by Emby, or use Path Substitution in the Library options on the server.

This leaves the impression that when selecting "Add-on" you do not have to mount any paths on the client and things will just work (which was not the case for my test).

But then in Playback options there is the setting "Play from HTTP instead of SMB" with description:

Enable this option to direct stream/transcode.

Basically that sounds the same like the "Add-on" playback mode. Or at least "Add-on" mode does not make sense without HTTP streaming for me.

Couldn't extract filename from movies

Hi. I'm the author of a subtitle service for Kodi (Legendas.TV), and I'm having a little trouble in getting the filename if using HTTP to stream any content.

If I search a subtitle of a tv show episode, InfoLabel "Player.Filenameandpath" will show something like plugin://plugin.video.emby.tvshows/<hash>/?dbid=2598&mode=play&id=<hash>&filename=The.Affair.S03E10.PROPER.720p.HDTV.x264-AVS.mkv. If I try to stream a movie, a completely different path is restrieved: https://<IP>/Videos/<hash>/master.m3u8?MediaSourceId=<hash>&VideoCodec=h264&AudioCodec=ac3&MaxAudioChannels=6&deviceId=<hash>&VideoBitrate=3200000&AudioStreamIndex=1&AudioBitrate=384000.

Is it feasible to add the filename as the last parameter in the second example, allowing me to extract the filename?

artworks being queried really(too) often

Hi,

I have emby server running on a pretty slow Synology.
It works great except that image transfer over http is sometimes quite long, but most of all it seems to be requested a LOT.
So i decided to take a look at the code to understand.
For example i can see here that even for items already in database, all artworks are requested to the server through play/set_playlist/set_properties/set_artwork/artwork.get_all_artwork. Am i wrong?
If not that seems really heavy.

Could we have an option at least to only update artworks when necessary (which should be item add, or in some cases update)?

Thanks

Cannot install addon from beta repo

I have installed Kodi on Windows 10 x64. I installed the emby repo as well. Unfortunately the Emby addon is shown as incompatible.
Log says:

02:00:21 T:5416   ERROR: CCurlFile::Open failed with code 404 for http://mirrors.kodi.tv/addons/gotham/addons.xml|Encoding=gzip
02:00:21 T:5416   ERROR: XFILE::CFileCache::Open - failed to open source <http://mirrors.kodi.tv/addons/gotham/addons.xml|Encoding=gzip>
02:00:21 T:5416   ERROR: Failed to read directory listing http://mirrors.kodi.tv/addons/gotham/addons.xml for repository repository.xbmc.org.

Win10 x64
Emby 3.0.5871.0
Emby for Kodi 2.2.0
Kodi 15.2

Not all Emby music albums are available on Kodi

Fist of all, thanks a lot for Emby and for Emby for Kodi, they're awesome! 🍻

I'm having a problem with music albums. In Emby I have 413 albums, I can see them from Emby.Web under Home > Music > Albums. But when I open the Music item in Kodi, only 176 appear and most of them have a different name than which they have on Emby.

I now see on the Emby.Kodi README that music is "unsupported", is that correct? Should I delete the Emby music addon and load the library as local?

Thanks!

Enhancement: mode=setusers&userlist=user1,user2

Introduction

Thank you for the plugin! My wife and I use it, Kodi, and Emby daily. I especially appreciate the ability to add and remove users from the session so that the Emby watched status and progress meters get updated for each user in the session. I have a kodi user that I configured to be the always-in-session plugin user, then I add or remove steve and/or rachel depending on who is watching.

To take advantage of that feature, I've programmed a button on my remote to call:

RunPlugin(plugin://plugin.video.emby?mode=adduser)

Drawbacks

The ability to do that with mode=adduser is convenient, but has a couple drawbacks:

  1. No matter how it is triggered, mode=adduser requires a user to navigate a series of dialogs (first you bring up the dialog, then you select whether you're adding or removing a user, then you select the user that you are adding or removing from a list of displayed users). That's fine when a user initiates the action himself, but consider the case of home automation software. Some systems now include the ability to determine which household members are at home, or even in a particular room. Such a system could tie in to Emby for Kodi to automatically update the users who are in the current session, but not when user interaction is required (such as to navigate a dialog).

  2. If an Emby user has been configured to hide this user from login screens, as I prefer to do with all of my users for privacy reasons, that user is not listed in the dialog that the Emby for Kodi plugin creates when adding a user to the session.

Enhancement request

I believe that a solution to both of those issues could be to add a new dialog-less plugin mode for adding or removing users from the current session by explicitly setting a list of session users as a parameter of the URI in the RunPlugin command. I was thinking of something like this:

RunPlugin(plugin://plugin.video.emby?mode=setusers&userlist=steve,rachel)

A Kodi user could program that to a button on their remote, or an external automation process could call it directly, and it would not require a dialog or any additional input. If a user is already in the session but isn't specified in the new userlist, that user would be removed from the session (except for the always-in-session user the plugin requires). Likewise, if a user specified in userlist is not yet in the current session, he would be added.

Conclusion

I think this could be quite helpful for those of us who like the idea of keeping watched data up to date for each Emby user who also uses Kodi, and who want to automate the process for updating the list of users in the session. Additionally, the ability to add session users who are hidden from login screens would be a big plus. I hope it is considered for implementation! Thanks!

P.S. I am a programmer and, although I am not strong with Python, I am tenacious about figuring stuff out. If the project owners think this enhancement request is a good idea, but the issue is at risk of being closed anyway simply because no active project developer has the time or inclination to implement it, then I'd welcome having a shot at it before it is closed.

Invalid setting of artist in itemtypes.py

In itemtypes.py at line 847 the following code:

Process cast

    people = item['People']
    artists = item['ArtistItems']
    for artist in artists:
        artist['Type'] = "Artist"
    people.extend(artists)

Either 851 should be artists[ or for loop can be removed as artist is never used in function.

"local variable 'rating' referenced before assignment" causes library sync thread to crash when syncing music

15:01:55 T:140287322093312 ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
- NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
Error Type: <type 'exceptions.UnboundLocalError'>
Error Contents: local variable 'rating' referenced before assignment
Traceback (most recent call last):
File "/home/main/.kodi/addons/plugin.video.emby/default.py", line 135, in
Main()
File "/home/main/.kodi/addons/plugin.video.emby/default.py", line 102, in init
lib.fullSync(manualrun=True)
File "/home/main/.kodi/addons/plugin.video.emby/resources/lib/librarysync.py", line 265, in fullSync
completed = self.music(embycursor, musiccursor, pDialog, compare=manualrun)
File "/home/main/.kodi/addons/plugin.video.emby/resources/lib/librarysync.py", line 976, in music
process[type]1
File "/home/main/.kodi/addons/plugin.video.emby/resources/lib/itemtypes.py", line 1954, in add_updateSong
rating, comment, hasEmbeddedCover = musicutils.getAdditionalSongTags(itemid, rating, API, kodicursor, emby_db, self.enableimportsongrating, self.enableexportsongrating, self.enableupdatesongrating)
UnboundLocalError: local variable 'rating' referenced before assignment
-->End of Python script error report<--

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.