Here is the throughput with four ~20Mbps streams running, as you can see its only about half of what I was able to get compared to running ten ~12Mbps streams from my dvr. With 4 streams going I still have buffering issues, the higher max throughput you see in the graph was with 5 streams running which caused even more buffering, despite the higher max throughput in this case the average remained at ~50Mbps. With a single 4k stream going the average is even lower.

Bump, still not getting anywhere with this and it’s even happing on single HD direct play streams. Even with one ~25Mbps stream going I’ll experiencing buffering, but I’m able to start multiple HD streams through my DVR without issue after the Plex stream has been going for a while. So far I haven’t been able to find any fault in my equipment or connection, everything points toward a bug with Plex.
@jmcguire525 said:
Bump, still not getting anywhere with this and it’s even happing on single HD direct play streams. Even with one ~25Mbps stream going I’ll experiencing buffering, but I’m able to start multiple HD streams through my DVR without issue after the Plex stream has been going for a while. So far I haven’t been able to find any fault in my equipment or connection, everything points toward a bug with Plex.
Do you mind describing how your plex server is connected to your network? It honestly sounds like an environment thing.
Do you experience the same buffering issue on another client like the web player/native app? I am just thinking of ways to eliminate your environment by seeing if you are consistently seeing the issue on other players or just the one.
What version of PMS are you running?
Plex uses TCP protocols for streaming and thus latency HIGHLY limits individual external connections, this can be offset with HTTP pipelining but I am not sure if all of the clients benefit from this. 20-30Mbit is probably the upper limit for a reliable single TCP stream under typical internet conditions… Remember your latency IN your home is probably less than single digit unless over WiFI.
If you or any of your users are using a VPN then all of the packets will have to FIT in the VPN which adds overhead and makes this worse as each packet will have the VPN wrapper on it as well.
Each individual stream will run up against the latency limitations of using TCP, the alternative is to use UDP based streaming but then instead of buffering you can huge amounts of artifacts and drop outs in the steam.
Edit:
Factors that increase latency / make it worse:
- WiFi vs Wired connections
- Distance ( the further the client is away from the server the more latency for round trip messages)
- VPN (limits the amount of information sent in each packet, as well as increases distance if it is a public VPN service for privacy vs a point to point.)
- busy internet line (IE on the client or the server side bandwidth is being used by other things, can also slow down the processing speed of some lower end routers if there is a lot of concurrent use)
@lazybones said:
Plex uses TCP protocols for streaming and thus latency HIGHLY limits individual external connections, this can be offset with HTTP pipelining but I am not sure if all of the clients benefit from this. 20-30Mbit is probably the upper limit for a reliable single TCP stream under typical internet conditions… Remember your latency IN your home is probably less than single digit unless over WiFI.
Each individual stream will run up against the latency limitations of using TCP, the alternative is to use UDP based streaming but then instead of buffering you can huge amounts of artifacts and drop outs
This may be my issue, and seems to support the fact that I can do ten ~12Mbos streams but not one stream @ ~35Mbps. The problem is, from what Ive read, remote streaming only works via TCP for Plex.
Does this mean everyone with a decent fiber connection will be limited by TCP now and in the future?
@jmcguire525 said:
@lazybones said:
Plex uses TCP protocols for streaming and thus latency HIGHLY limits individual external connections, this can be offset with HTTP pipelining but I am not sure if all of the clients benefit from this. 20-30Mbit is probably the upper limit for a reliable single TCP stream under typical internet conditions… Remember your latency IN your home is probably less than single digit unless over WiFI.
Each individual stream will run up against the latency limitations of using TCP, the alternative is to use UDP based streaming but then instead of buffering you can huge amounts of artifacts and drop outs
This may be my issue, and seems to support the fact that I can do ten ~12Mbos streams but not one stream @ ~35Mbps. The problem is, from what Ive read, remote streaming only works via TCP for Plex.
Does this mean everyone with a decent fiber connection will be limited by TCP now and in the future?
I have a gig upload and with one stream i can push over 100Mbs external. I can download files from my plex server even faster than that. With all my users streaming I have peaked at 400Mbps when the server was busy.
TCP as a protocol is not an issue.
@WatchTowerPlex said:
@jmcguire525 said:
@lazybones said:
Plex uses TCP protocols for streaming and thus latency HIGHLY limits individual external connections, this can be offset with HTTP pipelining but I am not sure if all of the clients benefit from this. 20-30Mbit is probably the upper limit for a reliable single TCP stream under typical internet conditions… Remember your latency IN your home is probably less than single digit unless over WiFI.
Each individual stream will run up against the latency limitations of using TCP, the alternative is to use UDP based streaming but then instead of buffering you can huge amounts of artifacts and drop outs
This may be my issue, and seems to support the fact that I can do ten ~12Mbos streams but not one stream @ ~35Mbps. The problem is, from what Ive read, remote streaming only works via TCP for Plex.
Does this mean everyone with a decent fiber connection will be limited by TCP now and in the future?
I have a gig upload and with one stream i can push over 100Mbs external. I can download files from my plex server even faster than that. With all my users streaming I have peaked at 400Mbps when the server was busy.
TCP as a protocol is not an issue.
What is your average latency?
@jmcguire525 said:
@WatchTowerPlex said:
@jmcguire525 said:
@lazybones said:
Plex uses TCP protocols for streaming and thus latency HIGHLY limits individual external connections, this can be offset with HTTP pipelining but I am not sure if all of the clients benefit from this. 20-30Mbit is probably the upper limit for a reliable single TCP stream under typical internet conditions… Remember your latency IN your home is probably less than single digit unless over WiFI.
Each individual stream will run up against the latency limitations of using TCP, the alternative is to use UDP based streaming but then instead of buffering you can huge amounts of artifacts and drop outs
This may be my issue, and seems to support the fact that I can do ten ~12Mbos streams but not one stream @ ~35Mbps. The problem is, from what Ive read, remote streaming only works via TCP for Plex.
Does this mean everyone with a decent fiber connection will be limited by TCP now and in the future?
I have a gig upload and with one stream i can push over 100Mbs external. I can download files from my plex server even faster than that. With all my users streaming I have peaked at 400Mbps when the server was busy.
TCP as a protocol is not an issue.
What is your average latency?
Depends on where I am at. But I have pushed a 4k stream with a 60ms latency before.
Well I guess the good news it’s that’s it’s possible, I’m just not any closer to getting there.
The hardware at home is the same freenas server I built that runs the DVR. It has a Xeon E5-2683v3 with 64gb of ram. It’s hard wired via Cat6 (that I made and tested) to a Ubiquiti Unifi switch, which is fed by a Ubiquiti USG Pro on a PPPoE fiber connection.
I can probably bring the latency down some by eliminating the ISP gigacenter that is bridged due to it also providing cable, that would leave me with just an ONT direct to the router and traditional coax for cable. That doesn’t seem to be the issue though if you are doing 4k with more latency than I currently have.
@jmcguire525 said:
Well I guess the good news it’s that’s it’s possible, I’m just not any closer to getting there.
The hardware at home is the same freenas server I built that runs the DVR. It has a Xeon E5-2683v3 with 64gb of ram. It’s hard wired via Cat6 (that I made and tested) to a Ubiquiti Unifi switch, which is fed by a Ubiquiti USG Pro on a PPPoE fiber connection.
I can probably bring the latency down some by eliminating the ISP gigacenter that is bridged due to it also providing cable, that would leave me with just an ONT direct to the router and traditional coax for cable. That doesn’t seem to be the issue though if you are doing 4k with more latency than I currently have.
So the only issue is that when you are outside your network things are slow? Correct?
If you are inside your network do you have any speed issues?
Correct, I haven’t had any issues with 4k locally, even wirelessly it plays fine with the AC Lite APs and a Shield.
@jmcguire525 said:
Correct, I haven’t had any issues with 4k locally, even wirelessly it plays fine with the AC Lite APs and a Shield.
Is your shield on the same subnet as your server when you are home?
The reason I ask is I thinking there might be something that the Ubiquiti USG Pro maybe doing to the packets going outside your network. The Ubiquiti USG Pro should be able to handle the traffic no problem.
If you are on the same subnet when you are home. Then what I would recommend is that you create another VLAN and put your shield on it. This should force the packets to traverse the firewall on the USG Pro. if you see the same speed limitation then you can start looking at the USG Pro and see if it is mucking with things. DPI maybe?
Just a thought
I’ll try that, but I have disabled dpi already to test if that was an issue
@jmcguire525 said:
I’ll try that, but I have disabled dpi already to test if that was an issue
sounds good… only other thing I thought of but it maybe imposible difficult. is if there was anyway that you could get a client to sit on the WAN side of your firewall then you could test through your firewall exactly as if you were on the internet. If that works then is nothing having to do with your setup but something your ISP must be doing when the traffic leaves your network
I’ll see if I can set something up. For now I decided to test remote sync and see what speeds I could manage. This is very odd… I chose original quality and it still runs through a transcode first, I guess the app defines the transcode as 50% of the sync because once it says downloading it already reports 50% done. After that it just stays at 50% and doesn’t seem to be downloading any of the file.
@jmcguire525 said:
I’ll see if I can set something up. For now I decided to test remote sync and see what speeds I could manage. This is very odd… I chose original quality and it still runs through a transcode first, I guess the app defines the transcode as 50% of the sync because once it says downloading it already reports 50% done. After that it just stays at 50% and doesn’t seem to be downloading any of the file.
Very odd on the not downloading part. From my experience it will always run through a transcode and go to 50% and then start downloading. At least for my media it has to remux because I mostly have MKVs. The remux is really fast though.
If all that works quickly locally then my opinion it is not the plex server since it would do that all the time. Unless there is some sort of super weird bug with the external bandwidth limiting or the limit per stream features.
I’m using a pixel 2 for this and it can direct play the file so I’m not sure why it required a remix, but once I changed the sync quality to 4Mbps it downloaded, may have eventually worked at original quality if I had waited, but it definitely wasn’t downloading at the speeds it should be capable of.
I am having the same issue. I just got Gigabit Ethernet from Verizon and I can get 900/900 on some speedtests. I can not stream UHD remotely without buffering. The file in question is 60mbps. The end user has 300/300 service from Verizon also. We are about 30 miles apart. He can download the same file over my web server and saturate the 300 mbps link. So it’s NOT a network issue.
I can watch this same file by url streaming in VLC app to my phone via 4G LTE without issue. Inside my house I can watch this on Plex. When I remotely stream it over the same 4G LTE, it buffers.
So something is up. Enable HTTP Pipelining is turned on. Version 1.13.5.5332.
It’s as if the server has a silent cap when doing remote streaming. Or the client buffer can’t handle the sway in bandwidth to keep up with buffering? To me this would be a buffer size issue. I have set my streams to unlimited (It’s always been that way). I can set my upload to 1000mbps and it has no effect.