PleXBMC client for XBMC



It's my lack of understanding about non-ascii characters - I've obviously overcooked it somewhere. I'll check and alter - I have a newer releasse coming soon and i'll make sure it's added to that.

Hi there,



i’m having problem with transcoded videos and seeking. I can only seek 30 seks backward one time, the next time i try, the video is seeked forwards! (not sure if 30 exectly 30sec). Is this a limitation of Plexbmc or the PMS it self?



If further information is needed, i’d be glad to provide that.



Regards,



Weelkin

Hi guys,



after 90-100 Minutes of streaming without any stutter plexbmc will buffer any 10-20 seconds. Stopping and restarting the movie will continue without further stuttering.



Transcoding will perform the server. The Pi will only “view” the movie.





Hope, anybody have an idea?





Greets,

Tom

Hi Guys,



I updated my PMS to 0.9.7.12 and now Plexbmc (3.07 @ Frodo) is not working anymore.



On connecting everything is fine:


<br />
19:08:23 T:139767513310976  NOTICE: PleXBMC -> Settings hostname and port: 192.168.93.244:32400<br />
19:08:23 T:139767513310976  NOTICE: PleXBMC -> serverList is [{'uuid': None, 'serverName': 'unknown', 'token': None, 'role': 'master', 'address': '192.168.93.244:32400', 'discovery': 'local'}]<br />
19:08:23 T:139767513310976  NOTICE: == ENTER: displaySections() ==<br />
19:08:23 T:139767513310976  NOTICE: PleXBMC -> displaySections: Using list of 1 servers: [{'uuid': None, 'serverName': 'unknown', 'token': None, 'role': 'master', 'address': '10.78.93.244:32400', 'discovery': 'local'}]<br />
19:08:23 T:139767513310976  NOTICE: == ENTER: getAllSections ==<br />
19:08:23 T:139767513310976  NOTICE: PleXBMC -> getAllSections: Using servers list: [{'uuid': None, 'serverName': 'unknown', 'token': None, 'role': 'master', 'address': '10.78.93.244:32400', 'discovery': 'local'}]<br />
19:08:23 T:139767513310976  NOTICE: == ENTER: getURL ==<br />
19:08:23 T:139767513310976  NOTICE: PleXBMC -> getURL: url = http://192.168.244:32400/system/library/sections<br />
19:08:23 T:139767513310976  NOTICE: PleXBMC -> getURL: header = {}<br />
19:08:23 T:139767513310976  NOTICE: PleXBMC -> getURL: ====== XML returned =======<br />
19:08:23 T:139767513310976  NOTICE: <?xml version='1.0' encoding='utf-8'?><br />
                                            <MediaContainer noHistory="0" replaceParent="0" size="3" identifier="com.plexapp.system"><br />
                                              <Directory key="aHR0cDovLzEyNy4wLjAuMTozMjQwMC9saWJyYXJ5L3NlY3Rpb25zLzEz" art="/:/resources/movie-fanart.jpg" unique="1" name="3D Movies" title="3D Movies" type="movie" serverVersion="0.9.7.12.408-74b62af" uuid="60d2434c77dd33b5e91df95683eb9ab77efa296f" host="127.0.0.1" serverName="plex" path="/library/sections/13" machineIdentifier="54e6d6feb8a7cacc7e486ff2343cdf05cc9f9011" local="1" port="32400" thumb="/:/resources/movie.png"/><br />
                                              <Directory key="aHR0cDovLzEyNy4wLjAuMTozMjQwMC9saWJyYXJ5L3NlY3Rpb25zLzE0" art="/:/resources/movie-fanart.jpg" unique="1" name="Movies" title="Movies" type="movie" serverVersion="0.9.7.12.408-74b62af" uuid="3c27ca06029d7d9f8c104a979ba53a3fda3a333f" host="127.0.0.1" serverName="plex" path="/library/sections/14" machineIdentifier="54e6d6feb8a7cacc7e486ff2343cdf05cc9f9011" local="1" port="32400" thumb="/:/resources/movie.png"/><br />
                                              <Directory key="aHR0cDovLzEyNy4wLjAuMTozMjQwMC9saWJyYXJ5L3NlY3Rpb25zLzE1" art="/:/resources/show-fanart.jpg" unique="1" name="TV Shows" title="TV Shows" type="show" serverVersion="0.9.7.12.408-74b62af" uuid="eb9bc15b98abfe6c313cc447ac51dce08561eacb" host="127.0.0.1" serverName="plex" path="/library/sections/15" machineIdentifier="54e6d6feb8a7cacc7e486ff2343cdf05cc9f9011" local="1" port="32400" thumb="/:/resources/show.png"/><br />
                                            </MediaContainer><br />
19:08:23 T:139767513310976  NOTICE: PleXBMC -> getURL: ====== XML finished ======<br />
19:08:23 T:139767513310976  NOTICE: == ENTER: addGUIItem ==<br />
19:08:23 T:139767513310976  NOTICE: PleXBMC -> addGUIItem: Adding Dir for [3D Movies]<br />
<br />
.<br />
.<br />
.<br />




But by clicking on a video section, it tries to connect to 127.0.0.1 - which can't work, cause PMS is running on the server.


<br />
19:08:24 T:139768081733376  NOTICE: == ENTER: getURL ==<br />
19:08:24 T:139768081733376  NOTICE: PleXBMC -> getURL: url = http://127.0.0.1:32400/library/sections/14<br />
19:08:24 T:139768081733376  NOTICE: PleXBMC -> getURL: header = {}<br />
19:08:24 T:139768081733376  NOTICE: Unable to connect to 127.0.0.1:32400<br />
                                            Reason: [Errno 111] Connection refused<br />





Is there something I have to configure? I tried to set server IP in the Master sever section. But nothing changed.

Thanks in advance.


[Edit]
Ah, in the xml seeing when connecting to plexip:32400/servers

<Server name="plex" host="127.0.0.1" address="127.0.0.1"


Where to change this?!

I have an update just being tested which will fix this - looks like plex has changed how it records IPs and this means that plexbmc is now picking up bad information.



I’m trying to get the majority of the testing finished tonight, but I might release it has a beta version first, given the number of changes.

I’ll be happy to be a beta tester :rolleyes:

Hi Hippo,



with the actual Linux Frodo-Build for the Pivos Xios DS i have incorrect dependencies with the modified Quartz PlexBMC Skin. With actual Frodo on my Mini all went fine. Do you have an idea?



Go on with your great work!



BR

Peter

Hi,



first of all thanks alot for the great work. I’m using PleXBMC for some time now and it’s already working really good. Unfortunately I had auto-update switched on on my PMS an so I’m having the same issue as darumble. So I’m wainting for the update.



I’m using plxbmc on the RaspberryPi hooked up to the TV via HDMI. Audio-Output is via HDMI as well. My TV is not able to decode DTS so I deactivated the DTS capability in XBMC-Audio settings. I activated DTS-Downmix on the Plexserver and chose AC3 Audio output in PleXBMC-settings. Still when playing back a video (I have one movie that still plays back for some reason) DTS is sent to the raspberry and playback stutters because the raspberry now decodes DTS. The only way to get AC3 is to enable “always transcode” in PleXBMC. Then AC3 is sent to the Raspberry. Now playback on the PI is stutter free but depending on the video-bitrate of the movie CPU-consumption on the PlexServer (macMini) is high because it transcodes video as well.



As I understand it a plex client tells the server it’s capabilities. Could it be that PleXBMC does not tell the server that it’s not able to playback DTS (according to the XBMC-Audio-Settings) and the automatic DTS-downmix does not kick in? Or should PMS transcode to AC3 because of the AC3-setting on PleXBMC, or does that only select a track on the file if available?



My workaround atm is to set the Transcoding settings a high as possible, 'cause if the settings exceeds the video-stream PMS does not transcode video. PMS allows Settings up to 20Mbps/1080p but PleXBMC allows only 8MBps/1080p. Maybe you could include the higher bitrates in PleXBMC.



I’d be happy if I could get audio-only transcoding either way.



Thanks

Stephan

If you haven’t selected DTS in XBMC, then it should down mix that to something that you can play. Also, you can select per media audio streams, and they should identify themselves as well.



Sorry for the delay, but a New testing version should be out tomorrow night, I’m just cleaning up audio/subtitle stream selection (not in conjunction with this, but to do with multiple external sub files).



That's exactly what I set up and the behaviour I expected. But if I do not activate "always transcode" DTS will be streamed nevertheless, no down mix happens on PMS side and the PI does the audio transcoding. I checked that multiple times. Also I usually don't have multiple audio tracks in my files as I only keep one and if that one is DTS I depend on the downmix-feature.

I'm using PM 0.9.7.11 but experienced the same behaviour with the previous version as well. I'd be happy to test if you tell me what.

This is an XBMC issue then - if transcoding is turned off, then plexbmc passes through the video file reference (http or smb) to XBMC to play. XBMC then plays it as if it was a local file - it is not altered in anyway.



Plex only alters this stream if transcoding is turned on.



I’ll have a look to see if I can reproduce on my RPi (which is also served by Plex on a am mini).

(Double post)



I believe he does not want full transcoding as RPi can handle the video part, but would like it for audio only. And since transcoding is off that leaves audio down-mixing on Rpi.

Not sure I understand then - can XBMC not convert a DTS track into something that a TV can handle natively?



I can’t say I’ve come across this before - my only encounter with audio not playing correctly I’d when I have the ‘capable receiver’ settings on or that audio is set to digital not HDMI.



I will investigate though!



From what I understood - XBMC is handling it but with a horse power penalty on RPi. What he wants is to do only audio transcoding on PMS while streaming video as is.


Exactly! Thanks for claryfying. If the PI transcodes the DTS to AC3 videoplayback stutters, the ARM is too slow for that.

You get the behavour I want with "always transcode" when the video bitrate is low enough for the complete stream to stay below the 8mbs that can be set in PleXBMC-settings. PMS itself provides settings up to 20 Mbps for local network streaming.

Here again the different settings:

PMS:
Settings->Plex/Web->Player: Local Quality set to 20Mbps
Settings->Pley Media Server->Transcoder (Advanced Settings turned on): activate DTS-downmix

XBMC
Settings->System->Audio: Device can output AC3 true, device can output DTS false

PleXBMC
Settings->Trancoder: Local Bitrate: 8Mbps (I'd really like to up this to 20)


If you then turn on "always transcode" in the PleXBMC-settings you get AC3 streamed from the PMS as the PMS does the transcoding. If your videobitrate is low enough the PMS only transcodes Audio.
If you turn it off you get DTS and XBMC transcodes it to AC3. <- I expect to get AC3 or some other stereo format here because of the DTS-Downmix-Settings wth PMS doing audio transcoding only.

Ah ha. Ok I see what you mean - I didn’t realise that the Pi was unable to do this. Tried it myself and you are correct. I also found a post over on the Pi forums about implementing hardware decoding, but this depends on licensing from DTS.



I’ll see what can be done - I haven’t really looked into these type of features as xbmc has always been able to cope with all video - so I’ll need to do some digging on this remux ability.



Hippojay,
Any word on when Sort Title will be implemented? I love PleXBMC, and this is probably the only thing keeping me from moving to it full time for my library.

Thanks!



Hi as a test I changed the default.py on my PI in the transcode method:

<br />
    transcode_settings={ '3g' : 0 ,<br />
                         'offset' : 0 ,<br />
                         'quality' : 12 ,  # <- was g_quality<br />
<br />




Now my setup does what I expect on the one high video bitrate file that plays atm (see other bug with new PMS-version). The audio get's transcoded on the PMS and the video stays untouched giving a really low cpu load on the PMS of about 5% for transcoding audio only sending ac3 stereo. Video also plays back fine with 50% cpu on the Pi. The file I use to test is a 1080p mkv-file with a single 5.1 DTS and a video bitrate of about 13Mbps.

I didn't find any docs on the quality-settings for PMS-requests (didn't look too thoroughly) but 12 seems to be the highest value that works. All higher settings crash the player when it's trying to create a demuxer. I guess the PMS doesn't send any stream at all in these cases.

EDIT: "Always transcode" has to be enabled for this to work of course.


Thanks for doing the extra checks - I've also been looking at this, looking through the code of other players and hunting down some documentation. I believe that the issue may have been the missing video capabilities, that I took off when tracking down the transcoder issues. By ensuring that I set a high enough capability (basically 1080) and that dts isn't set in the audio capabilities (which is shouldn't if you set the transcoder to stereo) - then I'm able to see the transcoder copy the video stream and transcode the audio stream. you can verify this by the quick start up time on playback.

I've also put in the higher transcoder settings (10/12/20mbps) so these are selectable too.



Looks like it was added back in - but I can;t get it to work at the moment - i'll have a better look later on