Skip to content
This repository was archived by the owner on Jun 1, 2022. It is now read-only.

Plex Media Player video playback performance is sub-par #168

Closed
twpol opened this issue Nov 29, 2015 · 10 comments
Closed

Plex Media Player video playback performance is sub-par #168

twpol opened this issue Nov 29, 2015 · 10 comments

Comments

@twpol
Copy link

twpol commented Nov 29, 2015

Playback of various different video formats in Plex Media Player in the default configuration is worse than Plex Home Theater. Initial starting of playback, seeking and even getting continuous, smooth frames are all struggling at times. There is no CPU or disk load on the computer running Plex Media Player.

A few examples I have to hand:

  • AVI (MPEG-4 part 2 [lavc:mpeg4] + MP3 [lavc:mp3]) was buffering multiple times during 3-4 mbps bitrate segment
  • MP4 (H.264 [lavc:h264] + AAC [lavc:aac]) took ~10 seconds to start playback and keeps visibly pausing for maybe 0.5s every few minutes at ~2 mbps

Hardware decoding is disabled by default (which I've not changed), and I've heard there are alternative rendering layers but I don't know how to change that. Let me know what settings I can try out to make the performance more acceptable.

  • Windows 10 version 1511 (build 10586.11)
  • Plex Media Player for Windows 64bit 1.0.2.70-15a01542
@ghost
Copy link

ghost commented Nov 30, 2015

Sounds like network issues plus possibly wrongly retrieved display refresh rate (maybe).

@twpol
Copy link
Author

twpol commented Nov 30, 2015

Hmm, there shouldn't be any network issues because the Plex Media Server is on the same machine as Plex Media Player (and it obviously wasn't a problem for Plex Home Theater) but I'll check if it's incorrectly going via the network later today.

Is there anything I should check or change for it to work completely locally like Plex Home Theater seemed to?

@ghost
Copy link

ghost commented Nov 30, 2015

Is there anything I should check or change for it to work completely locally like Plex Home Theater seemed to?

It can't. Video always goes over http. But I really would expect that this isn't speed-limited in any way. Unless PMP and PMS do something really stupid, and the video is pulled over a router or something.

Could also be just a different problem altogether. You can try enabling the debug overlay. There's a cache indicator somewhere, which shows how much data is currently buffered. If it runs low when video stops, then I/O speed is the problem.

@twpol
Copy link
Author

twpol commented Nov 30, 2015

It can't. Video always goes over http.

Sorry, I meant locally as far as networking goes - i.e. localhost/127 or a locally-available IP.

I'll check for non-local networking and the cache later today, thanks.

@twpol
Copy link
Author

twpol commented Nov 30, 2015

Unless PMP and PMS do something really stupid, and the video is pulled over a router or something.

Looks like it has managed to do exactly this. :(

2015-11-30 19:24:13 [ INFO  ] JS: URL: https://217-155-207-209.ab6a50f9e2674479a6861ba1ca655053.plex.direct:32400/library/parts/24719/file.mp4?X-Plex-Token=xxxxxxxxxxxxxxxxxxxx 

PlexMediaPlayer.20151130.1.txt

I've attached the whole log. It seems like it can connect to 127.0.0.1 but doesn't seem to know what it is (Testing connection to Unknown at http://127.0.0.1:32400/), whilst it can't connect to the 192.* IPs.

It has just occurred to me though, that there is one thing possibly unusual about this setup: the Plex Media Server is configured with "Secure connections" = "Required". It could be this is the cause of the issue and it seems this is also a problem for the website (plex.tv/web) which is also streaming locally-available content over the internet/router.

Changing "Secure connections" to "Preferred" does indeed fix the problem for Plex Media Player.

So this should be supported, right? Is the Plex Media Player log enough to see where things are falling down?

@twpol
Copy link
Author

twpol commented Nov 30, 2015

Hmm, looks like changing the Plex Media Server setting has only helped with content selected from within Plex Media Player itself. If I select content on my Windows Phone, it still plays over the internet/router - even though the phone is set to allow insecure connections on the local network.

This may be an entirely separate issue, though it's how I played most content in Plex Home Theater and I'm pretty sure that never went over the internet/route network.

@mseeley
Copy link
Contributor

mseeley commented Dec 1, 2015

Our system will fallback to a public secure connection when no private secure connections are available. It's not doing something really stupid but it does seem weird. With secure connections set to required and no available private secure connections we've got to connect to something. :(

It has just occurred to me though, that there is one thing possibly unusual about this setup: the Plex Media Server is configured with "Secure connections" = "Required". It could be this is the cause of the issue and it seems this is also a problem for the website (plex.tv/web) which is also streaming locally-available content over the internet/router.

Sounds possible. See the (Status 0) logs for the failed connections to silver-desktop? The Status 0 for HTTP connections is due to the "Secure Connections" = "Required" setting. The Status 0 for the HTTPS urls could be due to a router configuration which prevents DNS rebinding.

  • It's evident that the app is trying to connection to multiple silver-desktop connections.
    • The loopback 127... address will fail to connect because it's over HTTP and the server configuration prevents it. We add a loopback connection early (causes the Unknown) to speed up startup in most cases.
    • The secure 192... addresses are failing to connect. Is it possible your home router has disabled DNS rebinding?
    • The public 217... address connects and off we go.

Questions:

  • Any chance your router is blocking DNS rebinding and breaking SSL communication over local network?
  • Any reason you set Secure Connections to Required?

@twpol
Copy link
Author

twpol commented Dec 1, 2015

Any reason you set Secure Connections to Required?

I wanted to ensure that all internet connections were secure, but it wasn't clear that "Preferred" did this (IIRC it sounded like it would try to do this but still fall back to non-secure over the internet) so I went with "Required".

I am pretty sure it wasn't a problem for Plex Home Theater, but maybe that is only the case when it is running on the same computer, as it nearly always is for me. I have had some occasional less satisfactory performances on a different computer but don't know which way it was routing the data.

DNS rebinding

I'm not sure why you would need DNS rebinding, since each domain name always points to the same IP address, but the fact they point to private address may be an issue. I'll see if I can figure out what's up with the 192... addresses when I'm back at my computer.

@twpol
Copy link
Author

twpol commented Dec 1, 2015

Any chance your router is blocking DNS rebinding and breaking SSL communication over local network?

It looks like the router firmware is blocking the responses ("Spurious answers" it calls them), but I've found the configuration option (in the telnet interface of all things) to disable it!

To disable DNS response filtering on a Technocolor Gateway router, enter this command in the telnet interface:

:dns server config filter=disabled

I'll let you know in 24h or so but I'm going to guess this will resolve the playback issues by way of actually using the local network.

Thanks for your help, even though it isn't a Plex issue! Perhaps an indication in the playback UI about whether the connection is localhost, local network or internet could help others quickly narrow down issues?

@mseeley
Copy link
Contributor

mseeley commented Dec 1, 2015

Thanks for your help, even though it isn't a Plex issue! Perhaps an indication in the playback UI about whether the connection is localhost, local network or internet could help others quickly narrow down issues?

I totally agree that we need better communication regarding which server connection the application is using. We try to keep detailed information out of the UI in the name of simplicity although I'm certain there's a balance we can strike.

@twpol twpol closed this as completed Dec 8, 2015
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants