Question about how Plex buffers on Chrome

I’m trying to stream movies halfway around the world to a rural location. The viewer is experiencing buffering and I’m trying to change settings in an effort to help. I believe their connection is not stable but is able to download quickly at times.

With that in mind, I would like to understand how Plex buffers streams on Chrome.

I do not see any buffer showing in the dashboard for these streams like I do for Rokus (the darker yellow progress bar). I assume Plex must be creating a buffer, but how much is buffered?

So far I have set the user to “automatic quality (beta)” and have turned off Direct Play and Direct Stream hoping that forcing Transcoding might increase the buffered amount. Or, is there a better method to do so?

Don’t even try. It won’t work. packet roundtrip time will throw a spanner in the works.

That’s exactly the wrong way. What you want is Direct Play. No Direct Stream, No Transcoding. Only Direct Play will work, as it doesn’t lead to packet roundtrip time becoming the main limiting factor. So create an optimized version of a video with relatively low bitrate and see if things improve when the user is explicitly selecting this version for playback.

In general: there is a reason why commercial streaming services have own premises which are distrubuted around the globe. So that their customers are always relatively close to the actual servers. Commercial streaming services do also never transcode on-demand. They rather store several ready-made bandwidth versions of the same video, among which they can switch seamlessly. i.e. always Direct Play.

See if the user can use Plex Desktop or Plex HTPC instead of Plex Web. These apps have a larger buffer, which can help.

Hi OttoKerner, thanks for the answer.

It’s kind of important that I give this my best shot, but do have my limitations. I’m trying to help someone through a difficult time in life. But yes, I do respect your initial reply, “Don’t even try.” Please don’t take the rest of this as though I’m not hearing that recommendation.

Thanks for the tip about Plex for Desktop and HTPC. Plex for Desktop is probably a better fit here and wow, it really does buffer a ton (in my local testing), which is great! Definitely will be giving it a shot.

I’ll also reverse course on forcing transcoding, as I know see it isn’t better for creating a buffer.

As far as Optimizing, the downside is the required disk space. I’ll keep it in mind however.

Otto, can you help me understand something else here?

  1. I setup a test using the Plex for Desktop.
  2. I established a VPN connection and started a movie stream.
  3. Plex for Desktop’s buffer filled up the usual 10 minutes.
  4. I then enacted the VPN killswitch for about a minute or so to stop data flow.
  5. I then turned off the killswitch. I confirmed, using a browser, that data to the PC could now flow.
  6. Plex for Desktop kept playing the movie from the 10 minute buffer…
  7. However, the Plex for Desktop never tried to re-establish connection to the server after the killswitch was disabled.
  8. Once the buffer ran out, the movie closed and took me back to the details page.

Is there a timeout in place that stops Plex for Desktop from attempting to re-establish the connection?

I don’t know about what Plex for desktop will do or not if you remove a whole network route (which is what closing a VPN connection does).
This is not what the original question was about, no?

Establishing and then cutting a VPN is not a good way of testing how the streaming experience will be for someone at the end of the world.

Yes, the more I thought about it, I realized I was creating a whole new route, which does bring too many variables into the equation. My goal was to simply block the traffic and restart it in an effort to simulate an intermittent network connection. I wanted to see how well Plex for Desktop would handle such a connection.

I’m not expert, so take everything I type/say with a grain of salt! :rofl::wink::+1:

If your PMS can cope with transcoding (GPU/QuickSync), and you’ve tested this to be sure, then leave it on ;-). Features like auto-adjust bandwidth (whatever it’s called) will only work properly when there is a steady’ish internet connection. As an example, if you’re in a hotel trying to use their Wi-Fi, you know it can be great one minute and shocking the next, Plex/Netflix/YouTube will all fall over eventually. It’s almost impossible for apps to predict what bandwidth they need when the internet connections are bad (either end).

All you can do is manually reduce the bandwidth on the client step-by-step until you get to a point where the stuttering/buffering stops happening :man_shrugging: It’s a pain, but it’s really going to be the only way to stream over a bad internet connection I have a friend that live 10486miles (16875km) away, I had to google those numbers LOL, they use plex from time to time and they have no real issues. We both have a good internet connection, but we kept their Plex Client set to 4mbps, even though we could probably go up to 10mbps. So distance/roundtrip, shouldn’t matter too much :man_shrugging: (hopefully).

Personally, I’d think outside the box. Put a Plex server at your friends house and see about being able to remotely control files at their end, i.e. allowing you to remotely transfer and delete files. That way you could (over VPN :blush::wink:) transfer desired media and your friend just doesn’t need to worry about anything?

A few of us have never been happy that a Plex Client App could theoretically download/synchronise media, yet something like the Nvidia Shield is not allowed. It’s not a hardware thing, it’s something to do with the software. If this was allowed, you’d be able to sort this out really easily! That said, what client are you using at your friends place? If it’s just on a Windows PC, they download/sync option could work for you :wink:

Anywho… Some ideas :man_shrugging:

  • Lower the bandwidth, at the client side, step by step, until the buffering icon stops being a pain?
  • Look at putting a PMS at your friends place and think about how you can remotely administer it?
  • Use a Windows PC along with the download/synchronisation function?

The problem is not the available bandwidth, but the length of the network route (and therefore the number of hops) and the packet roundtrip time inherent in such a route.
Enabling transcoding will not have a positive effect.

I’m still not understanding why the number of hops would be a problem, if it isn’t a bandwidth issue. Plex uses TCP, so doesn’t that mean it error corrects? And, if Plex is able to buffer 1 minute or 10 minutes of data, shouldn’t that allow Plex to error correct for data loss, behind the scenes, further into the stream without the user noticing?

I admit, my knowledge on this is just enough to be dangerous but lacking. I’m enjoying learning about it though.

The bandwidth is already capped at 4 Mbps just because I have to on my end with Plex (to allow me to share with other users). Testing with Direct Play/Stream on Plex for Desktop shows it is able to fill the buffer faster since there is no transcoding, so I think Otto is correct on that point. To me there appears that Plex is having trouble with a connection that is not consistent (drops very low and maybe out for a several milliseconds), but I think I’m missing some knowledge on this point. I can try going to 2 Mbps just to see if it helps, but I think something else is going on here.

I’d love to place a server near them, but don’t think that is feasible currently. Also, if the connection is poor, it might not help fully.

Yes, I’m considering the download option. My “friend” is my wife’s elderly mother who is losing her mobility, and she isn’t the most techie. So, it might be too complex to teach.

I will admit that I took on this share because of the success stories I had heard, like yours. I even did some testing where I put myself on a slow-ish cell connection and VPNed to a location near the user. The streams I ran appeared to work fine and that testing was effectively doubling the distance because of the VPN (out and back again). So, I’m not yet sold that it is the distance but might be more of a connection quality issue. However, I know my user has had decent success with other streaming services (they just are extremely limited in content that she enjoys), but as Otto mentioned, those services spend a lot of money on overcoming poor user connections.

Doesn’t this always seem to be the case: a poor connection, lack of funds and a non-techie, but someone who would really benefit from the access. :stuck_out_tongue_winking_eye:

I love them and can’t help to try.

1 Like

Distance isn’t the issue, the example of distance I gave was for England to Sydney, Australia, that’s pretty much half way around the world :man_shrugging::rofl: However, with every “hop” there could be something that slows down the data/traffic (or lose data), in between each hop. Plex will have some form of “heartbeat” that allows the client to check in with the server to say “are you still there”. So if it all takes too long, or too much data is lost, it’ll think the connection is broken. This potential loss of data/increased time, can be observed by running a trace-route to her IP (Windows: tracert -d xxx.xxx.xxx.xxx), where every pingable hop will be displayed between you and the destination, and it measures the time (in ms) for each hop… FYI, doing this (as you kinda mentioned in your last message) to a different IP/service “near” to where she is, doesn’t really prove much :face_holding_back_tears:… It could just be that she’s using wifi to connect her tv/roku/box to her internet, and the wifi is just bad?

Long story short, if you know your internet connection is good, then I’d assume the connection that your mother in law has, isn’t. She may just have a cr@ppy ISP, old router, poor wifi? Or some company in between your ISP and her ISP is having issues. It all gets complicated, but it can be tested for to get a better understanding. And knowing the test your already did, you know that generally speaking, at least country to country (I’m assuming) it’s perfectly fine.

Does she have a computer that you can remote connect to? Do you have some form of remote desktop you could use? As you could enable pings from your own home router, and then tracert from her house to yours. This may help narrow down who’s end is the culprit? It seems a pain, but will tell you a lot.

There is no harm in just adjusting the speed down to 2mbps or lower! I have a remote user (a few hundred miles away) who can steam at my capped 10mbps all day long from their living room. But as soon as they use the tv in there bedroom it all goes downhill as there wifi sucks. So they have had to cap themselves at 0.7mbps. It’s like watching old-school low-def TV, but after a few mins, you get used to it. My point is, your only course of action just now, that won’t hurt anything, is to just keep dropping down the speed.

I get your point on how does Plex buffer, in that you expect the client to buffer up what it can, when it can. So while the connection is good, “fill up that buffer”, which should even out the few minutes where the internet suddenly slows right down… But we’re back to the bit where the client probably thinks it’s lost the signal completely with the server.

  • drop the speed down and keep on going until it’s more stable - it can’t harm things to try
  • try and figure out if you can remote onto a computer at her house and see if you can figure out if her connection is good, her isp is good, and what sort of tracert/milisecond info you get pinging back to your home network
  • if in doubt, hire someone local to her to go and look at her wifi/internet connection and work with you to figure out why comms between your houses is bad.

I work in IT, so my next suggestion will sound a little crazy:
If it was me (actually, one of my remote users is my father in law :grin:), I’d be creating a little NUC box, with an always-on VPN back to my house, with back-up remote desktop app, that has ethernet, but also has wifi with your mother in law’s SSID+password. I’d test the unit in other people houses to make sure that it’ll “call home”, then post it off to your mother in law. All she would need to do is cross her fingers (and toes) and plug it in to power and hopefully ethernet (near the router). You then have the opportunity to remote connect into it, have Plex running on it, and a way to transfer files to it. Transferring files may seem counter intuitive given why we’re trying to stream things, but you can setup overnight scripts that just synchronises folders: A (your house) to B (her house); if the sync fails and it’s within a certain time period it can re-run until it completes. I wouldn’t send over full sized files, I’d be looking to reduced them down quite a bit :wink: … The whole thing would be a self-setup unit that I’d expect no one to touch ;-)… I know it’s overkill and probably seems daft to most folk, but I would end up doing this LOL.

Sorry this is so long… My head is dealing with other things (very badly) and I see this as a welcome distraction. So if none of it is of use, that’s cool :+1::wink: If a faction of it help spur on some ideas, then that’s cool too :rofl:

Try and do some testing between the two houses, and start looking for a local IT company near to where she lives :+1:

Hey Minxster,

Thank you so much for all of this! Our situations sound very similar. I’m going from eastern US to Australia (which, I believe is truly halfway around the world…but maybe less hops).

My life is IT too, but perhaps a different area than yours.

I’m going to start with Teamviewer to at least give me control over the PC there. I think it might be the easiest thing to setup without actually being there myself.

From there I’m going to start looking at the quality of the connect. I believe Australia has NBN now, which is nice in the cities but not so great outside. My mother-in-law is on the WiFi connection from home to tower. Those things aren’t so good from the experiences I’ve seen with other friends.

I my mother-in-law currently setup on Plex on Chrome to automatically adjust and I’m seeing it go from 4 Mbps (my server cap) down to 204 Kbps. It’s downright awful but at least she isn’t timeout completely as she was before.

I’m going to try moving her to Plex for Desktop. It doesn’t offer the automatic adjust but does provide a much larger buffer than the browser (1 min vs 10 min). Hopefully that will overcome the slower patches. I’m also going to try capping her at 3 Mbps and maybe drop that to 2 Mbps later if needed (video quality is quite a bit better at 3 Mbps).

I’ll also do as you suggest and try testing the connection with other methods. If I’m seeing things looking really horrible, I’ll probably be contacting her ISP directly too.

I’m also going to try some more in-depth VPN testing from here to see if I can eliminate, or at least build confidence, in whether or not the distance is the potential source of the problem.

1 Like

Hopefully, with TeamViewer, you can get to the bottom of the comms issue :wink: And you can use your IT knowhow to work out where the signal/comms is being hindered? That said, wifi internet (home to tower) never seems to work right, as you say. Its always “fine” in the beginning, then it’s turns into a pile of garbage! LOL

We use a simple Roku Express for my father-in-law. Really I should have gotten a 4k version so that it could cope of x265/HVEC… That said you can see that it buffers up really well :+1: So maybe something like this can useful, rather than using a computer/PC for your mother-in-law?

You can see a good amount of buffering/caching going on here :grin::
Untitled

If you find that you can’t get around the comms issue, you could turn her PC into a PMS? So maybe some form of file transfer opportunity? I suspect having to turn on the PC for when she wants to watch Plex wouldn’t be too much of a pain?

Hear me out, though this could be a really bad idea!.. If you install both the Plex Windows Client and PMS on the same PC, you could do some janky things that may work/help? So you can use the Client to download (synchronise) unwatched episodes? This could be setup on the PC? :
Untitled2

I have only just noticed that the download “quality” is now no longer “per” tv show/film, it’s now just generic for all downloads. It can be found here… And I think setting to a lower setting would be a good idea to help reduce bandwidth?:

Then you can have PMS have new library that points to the local download/sync folder?:
Untitled3

In the above image, I just told my Windows Plex Client to just download a couple of shows and they seem to all drop in the same folder? This would be really good, as long as this folder structure does change at all? And looking at the parent folder (to the above image), it’s just a list of numbers - I suspect the numbers are the unique ID for the possible folders I could share?:
Untitled5

So in my case, my “films” folder is actually in folder 41 :wink: As I just tested it LOL.

… Anywho, lots of geek stuff for your to muddle through. Hopefully you can sort out what’s going on with her internet :+1: And hopefully an opportunity to work around the problem with a PMS :man_shrugging::astonished:

FYI - I totally forgot that Chrome just doesn’t buffer that much at all! I do think (same as you :wink::grin:), with a different client, you may get away with not dropping the mbps so much?

Yes, WiFi (home to tower) is just plain awful for some reason. I’ve done my own WiFi (house to house) over a quarter mile with a tree in the way. Add to that I had both antennas in the attics of the respective houses so the signal had to go through the roofs. It was a rock solid connection. Also, why can Starlink work quite well but ISPs can’t do decent long range WiFi? Anyway…

Since Roku boxes are not currently available in Australia, how did you end up getting it there? I would love to go that route, but shipping is going to cost a ton and take weeks (AUS Post is horrible). There are Roku smart TVs now in AUS but the price for electronics in AUS is always at least double what we have here.

However, thank you for sharing your experience with the Roku. I was very interested in how well it buffered. I will say, there is NO way my mother-in-law is getting 10 Mbps, but I should know more tonight if the Teamviewer works out.

I thought about a dedicated PMS option, but again hardware costs. Not to mention if anything goes wrong.

As far as the download option…I’ve been strongly considering it, but it does add a bit of juggling. I do like your idea of PMS+download though, pretty nifty. Get the download feature along with the a nicer interface :+1:

Today I’ve been doing a lot of testing. I VPNed to Sydney and my VPN connection has been quite variable, making it great for testing since it appeared to mimic her connection. Chrome was just bad. the small buffer kills it. Plex for Desktop was much better. Not foolproof, but definitely much better.

Plex for Desktop does buffer very nicely, similar to the Roku you showed. I found 4 Mbps was too much, but 3 Mbps seems to be a sweet spot. 2 Mbps works well too but video quality isn’t the best, however is usable. My success with 3 Mbps was about 70-80%, meaning no buffering yellow circle in the middle of the stream. If the connection allowed a large buffer, then it seemed to handle the ups and downs of the connection quality over the course of the movie.

I believe my VPN connection was more variable than her WiFi but my VPN probably had higher top speeds. It is all about getting that buffer built up.

I tried changing the “Transcoder default throttle buffer” on the Plex server to 300 and 600. However, it appeared to work better but then it didn’t. I think it was the variability in the connection that made it appear to work. I’m back to 60, since the higher numbers hit the transcoder harder.

Anyway, should be interesting what I can learn tonight.

I might be wrong, but I’m pretty sure the lighter colored line in “Now Playing” shows what the server has transcoded ahead of time in preparation to send to the device. I don’t think it represents the cache the client app has stored in its buffer

So in your screenshot, the server has transcoded almost 2/3 of the complete video, but the current play time on the Roku is only about 1/3 of the way through.

1 Like

I’m pretty sure the light/bright yellow is displaying your current position in the movie timeline. The darker yellow is the current buffer on the client player.

I believe this to be true because if you cut your network connection, the movie will continue playing until it reaches the end of the darker yellow line.

EDIT: Hmm, not sure what the Dashboard colors represent. I know the light/bright yellow is still the position. However, I do know the darker yellow does not equate to the buffer on the client. Interesting.

1 Like

LOL I obviously didn’t explain clearly what I meant. The shorter bright colored line is current play position, the longer darker colored line is transcoder progress. If you have Tautuilli, there are similar lines in the now playing, but hovering over the darker line will show a pop-up saying transcoder progress. (or something like that) I think that the Plex dashboard used to show the same info at one time.

Edit: I don’t spend a lot of time watching the Now Playing screen, but the only time I see the second darker line is when there is some sort of transcode or remux for direct stream. Never on direct play.

1 Like

You really got me thinking, and would love to see someone from Plex chime in. Is the darker yellow line in the Dashboard showing the transcoder process or the client buffer?

I think you are right about the line showing the transcoder process since, as you said, you never see it for a Direct Play or Stream.

I do watch the Dashboard often, since several of my users are on low bandwidth or otherwise poor connections.

EDIT: However, I’ve seen the dark yellow line being longer on the client than the Dashboard several times. So, how can the buffer be greater than the transcoding?

Tonight’s update:

Well, that was a huge surprise! Before I got on my mother-in-law’s PC, she was watching a movie with a bitrate of 3254 kbps. Plex was set to automatic quality and it was down to 720 kpbs and dropping. I didn’t think I had a prayer of making things work, but tried my best…

After getting Teamviewer running, I quickly ran some speedtests locally in AUS and then to the USA. To my shock they were running very steady at around 65-80 Mbps down and 2-5 Mbps up!! What the heck?!

I went ahead and installed Plex for Windows Desktop. Set the quality to 3 Mpbs and ran the first stream using Sound of Music with a bitrate of 13343 kbps.

Wowsers! It fired right up and buffered a ton of stream data. I was showing 17 Mbps coming off my server (about my max) in a steady stream while the buffer loaded.

I set for 4 Mbps, the highest I allow off my server remotely, and again no problem streaming.

So, the moral of the story is, “Don’t use a web browser when connecting long distance!

Thanks for all the help everyone! I learned a ton and best of all I have a very grateful mother-in-law who can’t fully express how happy she is. :smiling_face_with_tear:

1 Like

I’ll also reverse course on forcing transcoding, as I know see it isn’t better for creating a buffer..

.

1 Like