PleXBMC client for XBMC

I have tested the plexbmc helper, it crashes because the import of plexgdm is bad, it is case sensitive and the lib is named plexGDM.py, so rename the lib to plexgdm.py or do an import plexGDM...

Thanks for your work.

So I just installed a fresh RaspBMC distro on my Raspberry.

Also installed all the PlexBMC add-ons which are mentioned in the topicstart (for Frodo).

This all appears to be working quite fine for contacting the PMS, except for when I want to navigate to a library.

Whenever I'm trying to navigate to my Movies, Series, Albums or Video Channels library the screen appears to be waiting for something, because I don't get to see much.

After pressing the [Escape]-button I'm back in the home screen of PlexBMC and see a popup message "unable to contact server: MEDIA" (MEDIA is the friendlyname of my PMS).

This means the client can access the server, because I've configured it via IP-address and it's able to resolve the friendly name. Also, it's capable of receiving the different libraries I've got configured on the PMS.

I've also tried to configure client to access the server by name, but to no avail.

It looks like I'm receiving timeouts for some reason, but I don't know why. My Mac Mini and iPad are perfectly capable of viewing movies/series and playing the music files in the library. So, I guess the server is configured correctly (running on Windows 2008R2).

Any ideas what I could try?

I've read something about installing iTunes for the Bonjour service. Would that help?

I think it's a problem clientside, on the Raspberry, but I can't be really sure about that.

Try the beta 3.1.2 (a page or so back) as this fixes these issues. I’m going to make it the latest stable version when I can find some free time later today hopefully.

Try the beta 3.1.2 (a page or so back) as this fixes these issues. I'm going to make it the latest stable version when I can find some free time later today hopefully.

Thanks for the tip, this actually worked.

Still needed to try 2 times to access the library, but it's working now like expected! :)

I recently switched from the Plex Client to XBMC to give it a try. Loving it so far. I use Plexbmc to access all the same videos. I'm using the Aeon Nox skin with great success so far. I can have main menu items like "new tv" that brings up the "recently added" tv shows from my plex server.

I have a question (that may have already been answered but i can find a way to word it right in order to find it in a search),

Is it possible to create Widgets (like recently added tv shows/movies) that pull the data from a Plex server instead of pulling the data from the XBMC tv show/movie data? 

Hi Hippojay,

Any chance of supporting reFocus Big?

JM over at Plex for the build of PlexPVR has modified reFocus Big to support "On Deck" and "Recently Added" and also "Live TV"....it's very nice but rolling ones version of PlexHT (for Live TV support) is a pain in the backside. See JM's link here: http://forums.plexapp.com/index.php/topic/61598-refocus-big-plex-ht-port-release/

If we could somehow use JM's code to work with PleXBMC that would be a fantastic outcome.

I've attached two screenshots, notice the global slide show feature also (changes depending on what is selected when an On Deck or Recently Added item is highlighted, if nothing is selected then images from ones library of movies, music and tv shows cycle):

I probably should have pushed this out a week or so ago, but have been a bit busy.

All code is enabled for auto-update via repository, so if you have installed that, no need to manually install the zips

PleXBMC 3.1.3 

Upgrade the BETA 3.1.2 to a stable release - I've been using it the last month without issue

  • ADD: if using myplex, optionally move all shared sections to a seperate "Shared..." Menu item to rduce clutter

https://repository-plexbmc-addons.googlecode.com/files/plugin.video.plexbmc-3.1.3.zip

PleXBMC Helper 3.1.1 

  • ADD: Set volume via remote
  • FIX: Upgrade issue which may have stopped web server from starting (XBMC not giving me enough time!)
  • FIX: file capitalisation issue in git

https://repository-plexbmc-addons.googlecode.com/files/script.plexbmc.helper-3.1.1.zip

Quartz V3 PleXBMC 0.7.4 
 

  • Merge in changes from source Quartz V3/4 by Pecinko
  • Recentre shelf thumbnails at top,to reduce cut offs

https://repository-plexbmc-addons.googlecode.com/files/skin.quartz3.plexbmc-0.7.5.zip

any chance of supporting reFocus Big?

Say that I did - where do the sections appear?  In the main list, or as sub menus from movies, tv, music?

Thanks for getting back to me.


A pop out sub-menus from the main TV, Movies, Music.


For example in the above screen shots, I posted previously, the sub menu has popped out when I selected the right arrow on the remote in the ‘tv series’ main menu.


Does that make sense?

Does anyone else find that using the Quartz V3 PleXBMC 0.7.5 skin that CPU usage constantly sits between 93-96%?

on which OS bladers?

No issues using OSX (10.8.2) here...

Thanks for the update!

Everything had been running nice and stable for me for the last few weeks, but it was nice to see the clock being added to the homescreen in the Quartz Frodo build.

I used to run refocus big on xbmc myself so I would be quite interested in seeing a port for plexbmc. I would agree that having the sub menus pop out from the main menus (movies, tv, music etc) would be nice and tidy!

Thanks again for all the hard work.

I probably should have pushed this out a week or so ago, but have been a bit busy.

All code is enabled for auto-update via repository, so if you have installed that, no need to manually install the zips

PleXBMC 3.1.3 

Upgrade the BETA 3.1.2 to a stable release - I've been using it the last month without issue

  • ADD: if using myplex, optionally move all shared sections to a seperate "Shared..." Menu item to rduce clutter

https://repository-plexbmc-addons.googlecode.com/files/plugin.video.plexbmc-3.1.3.zip

PleXBMC Helper 3.1.1 

  • ADD: Set volume via remote
  • FIX: Upgrade issue which may have stopped web server from starting (XBMC not giving me enough time!)
  • FIX: file capitalisation issue in git

https://repository-plexbmc-addons.googlecode.com/files/script.plexbmc.helper-3.1.1.zip

Quartz V3 PleXBMC 0.7.4 
 

  • Merge in changes from source Quartz V3/4 by Pecinko
  • Recentre shelf thumbnails at top,to reduce cut offs

https://repository-plexbmc-addons.googlecode.com/files/skin.quartz3.plexbmc-0.7.5.zip

Hi,

'm using on my RasPi Rasbmc and PleXBMC. I transcode all movies at the PMS. After viewing round 80 Minutes the RasPi began to buffer. Than all 30 seconds I think.

Am I the only one with this problem?

reason was: The Raspi getting hot in his case. Open it, there is no more buffering after 60-80 Minutes. I think, I spend it some heatsink

Ok - give this version a go 3.0.6. I've reworked the client registration code, so it responds to client discovery requests. This seems to work better. I've checked it against my OSX media server and I also install a media serve ron my windows 7 laptop, so I've checked it against that too (both running in parallel, which also worked).

I've also tested it against my Pi.

One thing to watch though, is that upgrading services on XBMC doesn't seem to wait until the service has actually stopped before starting it up again. It only gives me 5 seconds and this means that you may get the situation where the web server is unable to start as the port is in use.

Also changed is that I now pick up the XBMC network settings automatically, rather than having to be copied over into the helper settings. I've also set the helper to use the client name set in XBMC - so it shows up as the same device name as other services (such as airplay or over bonjour). These can all be overridden if needs be. It's be interested to see how you got on wit these as well if things go ok.

Sorry its taken me so long to get back to you, I've been away from this for a while. Using the latest versions of the various components (PMS 0.9.7.12, PlexBMC 3.1.3, Helper 3.1.1) I'm still seeing the same issue as before. The helper and server will successfully detect each other for a short period, but then that ceases after a short period of time, and PlexBMC disappears as an option in the iOS app.

As previously suggested, I've run tcpdump on the Pi, and windump on the "server" (i.e. my desktop) (tcpdump -Av port 32414 in both cases). I restarted both PMS and the Pi at the same time, and began the dumps as soon as each came back up. The output from each are in the attached txt files. I've also attached the xbmc.log file from the same time period.

I hope they're somehow useful! They don't mean a great deal to me (I can see the packets getting through initially and then stopping, but that's about it) but perhaps they will to you!

If there's any more testing/dumping I can do to try and nail down the issue, let me know.

It seems the latest version (3.1.3) is not working for me. 

I can no longer connect to my remote plex server:

15:09:19 T:4593291264  NOTICE: Previous line repeats 1 times.
15:09:19 T:4593291264  NOTICE: Thread XBPyThread start, auto delete: false
15:09:19 T:4593291264  NOTICE: -->Python Interpreter Initialized<--
15:09:19 T:4593291264  NOTICE: ===== PLEXBMC START =====
15:09:19 T:4593291264  NOTICE: PleXBMC -> running Python: (2, 6, 5, 'final', 0)
15:09:19 T:4593291264  NOTICE: PleXBMC -> running PleXBMC: 3.1.3
15:09:19 T:4593291264  NOTICE: PleXBMC -> Running with cElementTree on Python 2.5+
15:09:19 T:4593291264  NOTICE: PleXBMC -> Platform: OSX
15:09:19 T:4593291264  NOTICE: PleXBMC -> Flatten is: 1
15:09:19 T:4593291264  NOTICE: PleXBMC -> Settings streaming: 0
15:09:19 T:4593291264  NOTICE: PleXBMC -> Setting filter menus: true
15:09:19 T:4593291264  NOTICE: PleXBMC -> Setting debug to true
15:09:19 T:4593291264  NOTICE: PleXBMC -> Setting stream Control to : PLEX CONTROL (1)
15:09:19 T:4593291264  NOTICE: PleXBMC -> Force DVD playback: false
15:09:19 T:4593291264  NOTICE: PleXBMC -> SMB IP Override: false
15:09:19 T:4593291264  NOTICE: PleXBMC -> Script argument is 6
15:09:19 T:4593291264  NOTICE: == ENTER: get_params ==
15:09:19 T:4593291264  NOTICE: PleXBMC -> get_params: Parameter string: ?content_type=video
15:09:19 T:4593291264  NOTICE: PleXBMC -> Detected parameters: {'content_type': 'video'}
15:09:19 T:4593291264  NOTICE: PleXBMC -> Mode: -1
15:09:19 T:4593291264  NOTICE: PleXBMC -> URL: None
15:09:19 T:4593291264  NOTICE: PleXBMC -> Name:
15:09:19 T:4593291264  NOTICE: PleXBMC -> identifier: None
15:09:19 T:4593291264  NOTICE: PleXBMC -> token: None
15:09:19 T:4593291264  NOTICE: == ENTER: displaySections() ==
15:09:19 T:4593291264  NOTICE: == ENTER: discoverAllServers ==
15:09:19 T:4593291264  NOTICE: PleXBMC -> Settings hostname and port: scrap.wiebel.nl : 32400
15:09:19 T:4593291264  NOTICE: == ENTER: getLocalServers ==
15:09:19 T:4593291264  NOTICE: == ENTER: getURL ==
15:09:19 T:4593291264  NOTICE: PleXBMC -> getURL: url = scrap.wiebel.nl:32400/
15:09:19 T:4593291264  NOTICE: PleXBMC -> getURL: header = {}
15:09:19 T:4593291264  NOTICE: HTTP response error: 401 Unauthorized
15:09:19 T:4593291264  NOTICE: HTTP response error: 401 Unauthorized
15:09:19 T:4593291264  NOTICE: PleXBMC -> Adding myplex as a server location
15:09:19 T:4593291264  NOTICE: == ENTER: getMyPlexServers ==
15:09:19 T:4593291264  NOTICE: == ENTER: getMyPlexURL ==
15:09:19 T:4593291264  NOTICE: PleXBMC -> getMyPlexURL: url = my.plexapp.com/pms/servers
15:09:19 T:4593291264  NOTICE: == ENTER: getMyPlexToken ==
15:09:19 T:4593291264  NOTICE: PleXBMC -> getMyPlexToken: Using token: uXgWXzdEtq3ua3k38xcx[Renew: False]
15:09:21 T:4593291264  NOTICE: PleXBMC -> getMyPlexURL: ====== XML returned =======
15:09:21 T:4593291264  NOTICE: <?xml version="1.0" encoding="UTF-8"?>
                                           
                                             
                                           
15:09:21 T:4593291264  NOTICE: PleXBMC -> getMyPlexURL: ====== XML finished ======
15:09:21 T:4593291264  NOTICE: == ENTER: getMyPlexToken ==
15:09:21 T:4593291264  NOTICE: PleXBMC -> getMyPlexToken: Using token: uXgWXzdEtq3ua3k38xcx[Renew: False]
15:09:21 T:4593291264  NOTICE: PleXBMC -> discoverAllServers: MyPlex discovery completed
15:09:21 T:4593291264  NOTICE: PleXBMC -> serverList is {0: [], 1: {'token': 'uXgWXzdEtq3ua3k38xcx', 'master': 1, 'uuid': '4953d121bc6a5f20444a3376d6e22777593f3a91', 'serverName': 'Scrap', 'discovery': 'myplex', 'port': '32400', 'owned': '1', 'server': '62.133.199.162'}}
15:09:21 T:4593291264  NOTICE: == ENTER: deduplicateServers ==
15:09:21 T:4593291264   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type:
                                            Error Contents: list indices must be integers, not str
                                            Traceback (most recent call last):
                                              File "/Users/vandalon/Library/Application Support/XBMC/addons/plugin.video.plexbmc/default.py", line 4023, in
                                                displaySections()
                                              File "/Users/vandalon/Library/Application Support/XBMC/addons/plugin.video.plexbmc/default.py", line 994, in displaySections
                                                ds_servers=discoverAllServers()
                                              File "/Users/vandalon/Library/Application Support/XBMC/addons/plugin.video.plexbmc/default.py", line 310, in discoverAllServers
                                                return deduplicateServers(das_servers)
                                              File "/Users/vandalon/Library/Application Support/XBMC/addons/plugin.video.plexbmc/default.py", line 407, in deduplicateServers
                                                if onedevice['uuid'] == twodevice['uuid']:
                                            TypeError: list indices must be integers, not str
                                            -->End of Python script error report<--
15:09:21 T:140735218979200   ERROR: GetDirectory - Error getting plugin://plugin.video.plexbmc/?content_type=video
15:09:21 T:140735218979200   ERROR: CGUIMediaWindow::GetDirectory(plugin://plugin.video.plexbmc/?content_type=video) failed
15:09:21 T:4593291264  NOTICE: Thread Background Loader start, auto delete: false


I checked and couldn't reproduce - I started a transcoded movie with subtitles enabled from an external file and was able to skip forward and backwards. There was some delay, but this is because the server has to start transcoding again and build up a buffer. I also tried resuming which worked too.

I didn't try fast forwarding - but with a transcoded stream that's always going to cause problems.

If you want to send me an xbmc.log with PleXBMC debug turned on, then that might help me. I might also need XBMC debugging turned on, as this then adds a lot if video processing information.

PMS 0.9.7.17 seems to have fix that might help with this issue: "FIX: A major regression with subtitles causing transcoder to exit on certain OS X systems."

But as all works well for me at the moment and I rarely use subtitles I'm a bit reluctant to update anything. I'll wait sime days for the dust to settle and then try the new PMS and the new version of PleyXBMC.

An additional question:

As I understand elans blog post clients need to incorporate some changes to use the new transcoder. Is that the case for PleXBMC as well?

whenever i try to access the latest repo, it crashes XBMC

plexbmc 3.1.1 and 3.1.3 seems to have problems with streaming videos with subtitles (python script crashes). 3.0.7 was OK. Remove subtitle and it plays OK.

09:33:32 T:140561186871040   DEBUG: Instantiating addon using automatically obtained id of "plugin.video.plexbmc" dependent on version 2.1.0 of the xbmc.python api
09:33:32 T:140561186871040  NOTICE: ===== PLEXBMC START =====
09:33:32 T:140561186871040  NOTICE: PleXBMC -> running Python: sys.version_info(major=2, minor=7, micro=3, releaselevel='final', serial=0)
09:33:32 T:140561186871040  NOTICE: PleXBMC -> running PleXBMC: 3.1.1
09:33:32 T:140561186871040  NOTICE: PleXBMC -> Running with lxml.etree
09:33:32 T:140561186871040  NOTICE: PleXBMC -> Platform: Linux/RPi
09:33:32 T:140561186871040  NOTICE: PleXBMC -> Debug is turned off.  Running silent
09:33:32 T:140561186871040  NOTICE: PleXBMC -> Detected parameters: {'url': 'http%3A//192.168.13.45%3A32400/library/metadata/10%3Ft%3D4857603644', 'mode': '5'}
09:33:32 T:140561186871040   DEBUG: NEWADDON PythonCallbackHandler construction with PyThreadState 0x7fd6e07f8800
09:33:32 T:140561186871040   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type:
                                            Error Contents: int() argument must be a string or a number, not 'NoneType'
                                            Traceback (most recent call last):
                                              File "/home/geir/.xbmc/addons/plugin.video.plexbmc/default.py", line 3912, in
                                                playLibraryMedia(param_url,force=force)
                                              File "/home/geir/.xbmc/addons/plugin.video.plexbmc/default.py", line 1642, in playLibraryMedia
                                                streams=getAudioSubtitlesMedia(server,id)
                                              File "/home/geir/.xbmc/addons/plugin.video.plexbmc/default.py", line 1614, in getAudioSubtitlesMedia
                                                selectedSubOffset=int( stream.get('index') ) - subOffset
                                            TypeError: int() argument must be a string or a number, not 'NoneType'
                                            -->End of Python script error report<--
09:33:32 T:140561695893376   DEBUG: ------ Window Init (DialogKaiToast.xml) ------
09:33:32 T:140561186871040    INFO: Python script stopped

 

Hi all, just tired 3.0.7 this morning and then 3.1.3 and for some reason its taking 3+ mins to even get to the plex folder listings on my Pi. Any ideas? Was fine last week!

Hi I am a new user and plexmbc has been working wonderful for the most part. Great work.

I encountered three smaller issues with the latest version.

1. I can play video but I can't play music with the plexmbc helper when I try to control a windows pc from the plex ios app. The music play correctly when I select it on the windows pc itself.

2. When I change the view type under tv shows it does not remember the chosen one. It did before the last update and it works correctly with the movies section.

3. I favored items on the shelf for tvshows. The reflection showed on these items is wider then the bitmap. All other shelves are correct.