[Feature Request] Speed test measurement between server and location before streaming

What I am asking for is this. If your streaming remote videos to a hotel or a friends house or anywhere outside your local network it is nice to know what the upload and download speed is between the Plex Server and where you are streaming your content so you know what quality to choose when streaming. If your upload and download speeds are 50mb/s+ on the Plex Server but the hotel your streaming to limits your connection to a basic 1mb/s download it is good to know this in advance so you know which quality to choose when you start the stream. A solution? Put an option somewhere, either right before you click the play button to stream a video or somewhere in the Plex Server options, that will measure the download/upload speeds from your current location to the Plex Server and display it so that you can select the appropriate quality. I am not asking for Plex to auto adjust qualities of the video during streaming. That would be process intensive and would most likely to lead to buffering. I am talking about all this taking place BEFORE the stream starts so the user has the tools necessary to select the right quality before streaming so that there is less chance of buffering due to miss matched quality VS the available bandwidth. It just makes sense and seems like a basic feature that should have been added long ago.

For a work around I have already setup mini-speed test speedtest.net/mini.php on the same machines as the Plex Server which allows me to measure the download/upload speeds directly from the Plex Server to where I am at thus allowing me to select the correct quality for streaming. However, its another piece of software that has to be managed and its setup is not made for a novice or even an intermediate computer user. So its not practical.

Would anyone else care to see this feature be added to Plex?

15 Likes

The speed you get from speedtest.net at work does not correspond to what your server can send and you’re connecting to a server that is not necessarily based in the same location at all.

@danjames92 said:
The speed you get from speedtest.net at work does not correspond to what your server can send and you’re connecting to a server that is not necessarily based in the same location at all.

I don’t believe you are understanding how the mini speed test works. I am not using speedtest.net. I am using mini speed test which allows you to create and host your own speed test server at whatever location you want. And since I am hosting the speed test server on my local network on the same machine as the Plex Server it’ll measure the upload and download speed directly from the Plex Server, which is on my personal network, to the computer I am testing it from, which would be outside the network. So basically it is testing bandwidth speed from point A to point B. Simple and direct. There is no middle man like there is when you go to speedtest.net and plus it is also testing someone else’ server and not yours which could be completely different. When you go to speedtest.net and you test your speed it attempts to use a server that may be a couple miles from you or a couple hundred miles, all depends on where you live, which can be inaccurate and does not directly test your speed from your Plex server to the computer you are using. You might want to research more as to how mini speed test works because it sounds like you are thinking it is the same as testing from speedtest.net or a similar website which its not.

Works like this.

If you visit speedtest.net it measures the transfer speeds from the computer your using to a server location of your choosing whether its 1 mile away or 500 miles away. If you want to get a somewhat accurate reading of the speeds between your device and your Plex Server, you would go to speedtest.net, locate a server in the same city as your Plex Server and then run the speed test. However, this could be very inaccurate because maybe your Plex Server is connected to a slow connection, maybe 1mb/s download/upload connection and the speedtest.net server you chose to test your connection has a 100mb/s upload/download connection. Obviously you would get very good speeds from the server from speedtest.net because it supports those speeds. However, your Plex Server would not because your only paying for a low speed plan from your ISP so the max transfer speeds you would get is 1mb/s upload/download.

However, if you have your own mini speed test hosted on your local network, for example on the same machine as the Plex Server, and then you leave your local network, open up your hosted mini speed test website and measure the speed that way, you are measuring the speeds from your Plex Server directly to the computer you are wanting to stream to, which will give you much more accurate numbers and is the proper way to know how good of a connection you have between two points, your Plex Server and the computer you are wanting to stream to so you know what quality to choose from when streaming from the Plex Server. Going directly to speedtest.net or any other online speed test website doesn’t test the speed between the Plex Server and the device you are wanting to stream to. It only tests the speed between the device you are using and someone else’ server that may or may not be close to your Plex Server or even in the same city as your Plex Server which would provide inaccurate data transfer speeds. Also if you test your speeds using a different server it would not take into consideration real world problems like if your Plex Server is downloading movies and you want to stream, well your bandwidth is now lower. If your Plex Server is streaming for 2 other people again testing your internet speed on a server that is not on your local network it would not show the actual speeds.

I didn’t mean to create a book here but I wanted to make it clear the differences so there wouldn’t be any confusion.

@JDubbedN said:

@danjames92 said:
The speed you get from speedtest.net at work does not correspond to what your server can send and you’re connecting to a server that is not necessarily based in the same location at all.

I didn’t mean to create a book here but I wanted to make it clear the differences so there wouldn’t be any confusion.

My apologies. I missed the mini part.

I would love to see this feature added to Plex. I often connect from far away and sometimes through a VPN. I’d like to test legitimately what max link rate is to my home server.

Also massive props on the Speedtest Mini solution, I just dropped that into the Plex web root and it’s working for download speed, not yet for upload (but then I don’t really care about upload speeds).

Still waiting on this feature so I am bumping it. I have been using Speed test mini but recently found out it expires after so many days and your forced to download it and set it up again which is so stupid. Plex really should have this built-in especially since Plex does not change quality of the video depending on bandwidth which is completely manually. All Plex does when its choked for bandwidth is state something like “Your internet connection is too slow”. What Plex should do is auto scan the bandwidth and change quality according to bandwidth allocated. This would be a feature I would gladly pay for with the Plex Pass.

I’d like to see this too. Just a simple test from the currently selected plex server to the client app. Nothing too fancy. Something similar to what Air Video HD app makes have added. http://www.inmethod.com/airvideohd/index.html;jsessionid=8B154F3E87AA3F76A3D0C8A4184046AC

I like where you’re going with this, but realistically you do need dynamic adjustment mid-stream too to be of any use. Otherwise the moment any additional user at either end starts downloading something that uses more bandwidth, you start getting buffering again and you’re right back where you started.

But so far no one has liked the first post, therefore this request has ZERO votes.

@sremick said:
I like where you’re going with this, but realistically you do need dynamic adjustment mid-stream too to be of any use. Otherwise the moment any additional user at either end starts downloading something that uses more bandwidth, you start getting buffering again and you’re right back where you started.

I get your thinking. However there is a certain amount of relief and time saved knowing the speed limitations you have before you start a video on Plex so the odds that there is any buffering will be minimal. As of right now there is no built-in speed test to run from server to host. But lets say I have really good internet speeds so I know I can easily watch my movies off site with no problem assuming wherever I am supports the same speeds or higher. So I start Plex on my smart phone and tell it to Direct Play. BAM, buffering…buffering again…video never loads. So I take it down a notch. Still buffering. I perform a speed test at the hotel I am at and I get a max of 10mbps. So I change the video quality accordingly. Still buffering. WTF? I change to 5mbps video…same, buffering. I scratch my head trying to figure it out. I do another speed test at the hotel. It says 10mbps download speed. So whats the problem? I run my mini speed test that I have setup on the same machine as the Plex server and come to find out I am getting a crappy 2.5mbps speed between the hotel and the Plex server. Why? Idk maybe my ISP is having problems in the area where the Plex server is located. Maybe a family member on the same network as the Plex server is downloading a lot of crap or maybe 3 other people are watching movies on the same Plex server and there is not enough upload speed to handle the demand. At that point I would have to troubleshoot it further but had Plex had a built-in speed test I could have saved myself 30 minutes fiddling around with the video quality and buffering problems.

That is just one scenario and I am sure there would be other benefits for a speed test within Plex. Regardless I cannot imagine anything negative coming from a speed test and if I can setup the speed test mini in 30 minutes I think the Plex team could easily add a speed test feature.

After spending a few hours trawling the net to find a non-flash local server speed test, I eventually found - https://github.com/adolfintel/speedtest. The installation is similar to the speedtest/mini application, but doesn’t timeout. I renamed the example1.html to be index.html, and so it performs a basic text based speed result which means that it will also work on iOS/Android (TV) web-browsers.

I can’t vouch for the accuracy of the results, but it is a start which maybe could be developed further, or ideally, adopted within the PlexServer/Player installations.

1 Like

i would like this to, makes troubleshooting faster. Above suggestions setting up a server feels a little too complex.

Should be able to show the download speed when streaming something, no?

I like this general idea, but it would be better if Plex had a dynamic quality option wherein the Plex client would dynamically change the video bitrate as the connection quality fluctuates.

This would be more in line with what Netflix does to ensure that you don’t get buffering but rather you see a lesser quality video during slow internet speeds.

I stress that this should be an option and not the defacto standard like in Netflix as that would piss some people off that would rather wait for buffering to get the best quality possible.

Excellent comments. I do agree with the whole idea of Plex taking care of all this by dynamically changing the video bitrate as the connection fluctuates just like Netflix does. i personally would rather have this happen then buffering. But then again I’ve seen Netflix downgrade to such an awful quality to compensate for such low speeds that it is unbearable to watch so I end up pausing it. Maybe allow the admin to turn it on server side and then let each client have a toggle in the settings for either buffering or lowering quality during connection speed problems. But to not even have the option…blah. =/

  1. I don’t think this should be limited to non-local connections. I have some devices that don’t seem to be working quite well on my local network and I’d love to know how things are (not) working locally too.
  2. All of the mini speed test solutions are at least decent work arounds when the client is either a web browser or android phone/tablet. But on my Samsung TV and Android TV apps there is no way to run a mini speed test. So some build-in testing would be very helpful.

Another +1, I’m rearranging network equipment to get better stream performance and having tools rolled into Plex would absolutely make that easier for me. It would even be totally fine to roll in something like the Github project linked above as an installable plugin. (Is that an option? Is it hard? Maybe I’ll look into it next weekend…)

@sGarver said:
But so far no one has liked the first post, therefore this request has ZERO votes.

That’s ok.
It’ll carry the same weight as one with 1.5 million likes.
None.

I’ve been also using the method listed in https://github.com/adolfintel/speedtest to test server to client speed, where in the client I just use the LG TV web browser to call a web page.

How’d you manage to install this?
To test this in Plex, is it as easy as the user opens a channel in the PlexUI, and it runs a speedtest against my PMS?