Better internet streaming using multiple parallel connections (or threads)

Even if you use a VPN, there’s going to be the same problem, because the problem comes from the PLEX Server software, and the way the packages are sent to the client.

I’m just looking to make it better in current situation, I get about 1/2 more speed on single thread to VPS in local country, which is still only about 1/8 of my internet connection speed when multiple thread used.

I wonder how many people can really stream 4k from their servers over the internet. Especially 4k bluray.

Hopefully Plex will come up with solution as 4k is getting more widespread.

Maybe when streaming over http it can just request segments 5 seconds segments starting and different time or something.

+1 facing same issues and I would ask someone to work around on this.

+1 We need that

+1 this would solve alot of buffering issues.

It would help a lot !!
+1

Please add my vote for this option as well. +1

It’s all about making demands on them to incorporate multi-threading, but here they pass us by like ■■■■, and not a single PLEX manager answers anything about this problem, which on top of that is beneficial for them.

+1. This feature request seems to become more or more urgent as movies start to require more and more mbps. I receive only 2mbit/s download from my server which is connected to a 60mbit upload connection. (170ms latency…)
Plex should support udp or parallel tcp connections for streaming.

Sign me up. International bandwidth always varies (sometimes it’s ~800mbps, sometimes it’s barely 10mbps.) But threads always help. If we had this feature, streaming at any speed - would not be ever an issue.

I made a new topic and was linked to this one, so I’m here to vote and give it a bump.

My issue is the opposite of some people here, where it’s my local speed that is the issue. Right now I’m at a house that has 100+Mbps down over multiple streams, but a single one is like 4Mbps (and not particularly stable at that speed, either). This has happened to me in different cities and countries with different equipment and buildings, so I think this would solve a lot of that.

I think the terminology we’re looking for is: inverse multiplexing, imux, imuxing. Saying that so other people can have an easier time finding this in the future.

1 Like

I have a 1Gb uplink attached to my plex server and the system i use to play the media has 6Mb down. I can only get smooth streaming at 1.2Mb due to latency. Plex was one of the first media servers to support transcoding on the fly your media to any device, anywhere. High latency is an issue that can be experienced by anyone at anytime. A fix of some kind for this would be groundbreaking stuff…

Let me offer a completely different suggestion.

I think the request for “parallel streaming” is unlikely to be implemented, because it’s wildly complicated, and because on many (most?) client platforms Plex doesn’t manage the TCP sessions and stream data at all, relying instead on the connectivity and video libraries provided by the vendor.


There’s something that folks running PMS on Linux can do today. Look at enabling the BBR TCP congestion control algorithm.

https://www.cyberciti.biz/cloud-computing/increase-your-linux-server-internet-speed-with-tcp-bbr-congestion-control/

This is primarily a sender-side optimization, so making this change on the server can benefit all of your clients. In helping a friend, we saw significant changes for one Plex client that really needed it, and a minor improvement for one that was already working great.

It’s “somewhat” unfair to other connections. That may be exactly what you want. :slight_smile:

Note that Google is using this widely, including for YouTube.
Netflix did the work to make this available for FreeBSD, too. It’s in -current and expected to be in 13.

4 Likes

This has pretty much fixed my issue :open_mouth:

1 Like

You beautiful human. This has fixed my streaming from my raspberry pi, after pouring through countless posts (of people really
Trying to help but to no avail).

Here’s the guide I used for my pi: GitHub instructions

1 Like

I understand the fact that BBR improves TCP transfers, but usually parallel connections can max out your bandwidth. For example I’m getting 40 Mbps using BBR but when doing a file transfer using aria2 I’m reaching 80 Mbps with 4 parallel connections.

Is there any way Plex could improve streaming specially for those who own a cloud library on a VPS that is very far away? 4K titles are really difficult to play.

This is really needed. 4K remux files cannot stream at all, we are hitting the max performance allowed with our hardware software config, something has to change to enable higher bandwidth content to be available on the plex clients.

I note the advancement above but unsure how this could be implemented on a Mac server to improve performance?

macOS Big Sur doesn’t support BBR. I’m not aware of any equivalently good macOS server-side changes.


For folks with VPS in the cloud, you could consider something like kcptun, to establish an accelerated, multiplexed tunnel between the VPS and your home.

It’s spooky how good kcptun is. I haven’t used it for Plex, but I think it should be straightforward. I’ll test when I get a chance.

After doing a ton of research and a lot of headache inducing troubleshooting I found that nothing short of switching ISP’s (which is impossible in my appt building) would solve it, but imuxing/parallel streaming would solve the problem.

I don’t regret my lifetime pass, but when something like Plex Arcade comes out and I still can’t stream a 10mbps movie from my 1gbps server it feels kinda dumb

I think multi-connection streaming is getting more important due to changes ISPs are making. Presumably because of more video (video conference from home) traffic they are applying a lot more traffic shaping rather than upgrading their infrastructure.

I have a 50Mbit up business cable (KabelDeutschland/Vodafone) that consistently tests at 50Mbit when using more than one (parallel) connections but crawls down to 16Mbit when using a single connection. It is pretty slow even within Germany but transatlantic (when I’m at my house in the US) is painfully slow (4Mbit tested at multiple locations, servers and consumers on the US east coast). The cable modem is running in bridge mode with a Juniper SRX firewall/router behind it and the server is on ethernet of course.

It didn’t use to be this bad but from my testing it appears the ISP has made some changes.

Server is currently running a dedicated mac but maybe I will need to move it to a linux box so I can use BBR.