[Implemented] Server-Side Speed Limits/Caps for Shared/Subscribed Users

@Hermann said:
emperialbrewing wrote on September 15 2013, 9:16 PM: »

This would involve some significant modification of PMS and Plex/HT (in that the quality settings in Plex/HT would have to grey out for qualities above the cap), but I cannot imagine it any other way—to the extent that when I discovered that subscribers do not have to obey limits placed server-side, I was shocked. I have to imagine very few people have the upstream bandwidth to support subscribers choosing whatever speed they want, and even if we all did, there should be an option to limit it based on other considerations.

Anyone else think this ought to happen?

I agree on most if not all levels. There is a catch though, and a big one for some. If we want to limit bandwith utilization/quality to users that run clients which support direct play, that means transcoding the media on the server end. So we the server owners are going to have to chose between high bandwidth or high CPU utilization - or both.

But I support this idea fully. I was using Subsonic for media sharing for quite some time until recently when ‘Now Playing’ was implemented, and I switched all my users over to Plex. After the switch I´m seeing a much higher usage of my uplink bandwidth, since some users are clearly chosing 1080p resolutions.

I would also personally love to see some kind of quota system, so I could either limit the total bandwidth each user can use per day/week/month, or simply just limit the number files that can be played each day/week/month, the latter one probably quite simpler to implement.

A lot easier for for admin to manage the setting remotely for them. You try telling my 87 Year old how to change his settings ;-))

+1000 - much needed for my growing Plex server. So. Much. Sharing.

Find my sharing has got out of hand, if I play any games at the same I find bad lag. Normal browsing is fine, there should be a way to either put a global limit on uploading and/or user-specific limits.

I’ve noticed some new posts (+1…) but not a match in the increase of likes.

+1 - I really need this feature as my external Plex demand increases.

@random.server said:
I’ve noticed some new posts (+1…) but not a match in the increase of likes.

Tiss like this all over the forum. It’s not as easy /obvious as the old forums. What would be GOOD is to have a LIKE link/graphic right under each op post to make it a bit more obvious.

Maybe just a “Upstream Bandwidth” and “Downstream Bandwidth” field into which the admin enters the actual values.

Example: My Upstream Bandwidth is 6 Mbps. An external user sets the Quality setting to 5 Mbps 1080p.
If he is the only user who is watching he gets a 5 Mbps stream (because of HIS limitation). If he sets it to 20 Mbps 1080p he gets a 6 Mbps stream (because of MY limitation). Now if another external user starts streaming both users get a 3 Mbps stream. However, if the second user has set Quality to 2 Mbps 720p the first user gets 4 Mbps and the second user gets 2 Mbps.

@an3k said:
Maybe just a “Upstream Bandwidth” and “Downstream Bandwidth” field into which the admin enters the actual values.

Example: My Upstream Bandwidth is 6 Mbps. An external user sets the Quality setting to 5 Mbps 1080p.
If he is the only user who is watching he gets a 5 Mbps stream (because of HIS limitation). If he sets it to 20 Mbps 1080p he gets a 6 Mbps stream (because of MY limitation). Now if another external user starts streaming both users get a 3 Mbps stream. However, if the second user has set Quality to 2 Mbps 720p the first user gets 4 Mbps and the second user gets 2 Mbps.

I like this general idea and I agree that this is much needed but I think this is the perfect example of an “easier said than done” feature request. I think the Plex team will definitely get it done but there are a lot of variables to take into account.

What if you are traveling and you want the best streaming access and not to have to compete with your other users? Do you allow “priority” users? What if enough priority users saturate the upstream bandwidth? Do they all get throttled, including you?

Are there any limitations to what can be throttled and not? Can you throttle direct streams or only transcoded streams? What if the Plex server admin has “optimized versions” enabled? Do you still throttle those?

What if there is upstream bandwidth contention because of something outside of Plex? How do you detect and throttle based on it?

I think on the surface this seems like a simple feature request, just a couple check boxes, but under the covers, there are lots of variables.

@mtehonica said:

@an3k said:
Maybe just a “Upstream Bandwidth” and “Downstream Bandwidth” field into which the admin enters the actual values.

Example: My Upstream Bandwidth is 6 Mbps. An external user sets the Quality setting to 5 Mbps 1080p.
If he is the only user who is watching he gets a 5 Mbps stream (because of HIS limitation). If he sets it to 20 Mbps 1080p he gets a 6 Mbps stream (because of MY limitation). Now if another external user starts streaming both users get a 3 Mbps stream. However, if the second user has set Quality to 2 Mbps 720p the first user gets 4 Mbps and the second user gets 2 Mbps.

I like this general idea and I agree that this is much needed but I think this is the perfect example of an “easier said than done” feature request. I think the Plex team will definitely get it done but there are a lot of variables to take into account.

What if you are traveling and you want the best streaming access and not to have to compete with your other users? Do you allow “priority” users? What if enough priority users saturate the upstream bandwidth? Do they all get throttled, including you?

Are there any limitations to what can be throttled and not? Can you throttle direct streams or only transcoded streams? What if the Plex server admin has “optimized versions” enabled? Do you still throttle those?

What if there is upstream bandwidth contention because of something outside of Plex? How do you detect and throttle based on it?

I think on the surface this seems like a simple feature request, just a couple check boxes, but under the covers, there are lots of variables.

@mtehonica I do agree there are a lot of variables, but with the inclusion of quotas (max plays/duration on a per user basis) and temporary revocation of “non-admin” users with bandwidth limitations this could be handled.
Currently, I utilize shutting off the port forward in my router to stop external users when I need to preserve my upload bandwidth. This in turn does stop my ability to access from outside my network and is not a solution if I am external at the time.

+1 for this - it would make the experience better all around (and far easier on the end users) :slight_smile:

@mtehonica said:

@an3k said:
Maybe just a “Upstream Bandwidth” and “Downstream Bandwidth” field into which the admin enters the actual values.

Example: My Upstream Bandwidth is 6 Mbps. An external user sets the Quality setting to 5 Mbps 1080p.
If he is the only user who is watching he gets a 5 Mbps stream (because of HIS limitation). If he sets it to 20 Mbps 1080p he gets a 6 Mbps stream (because of MY limitation). Now if another external user starts streaming both users get a 3 Mbps stream. However, if the second user has set Quality to 2 Mbps 720p the first user gets 4 Mbps and the second user gets 2 Mbps.

I like this general idea and I agree that this is much needed but I think this is the perfect example of an “easier said than done” feature request. I think the Plex team will definitely get it done but there are a lot of variables to take into account.

What if you are traveling and you want the best streaming access and not to have to compete with your other users? Do you allow “priority” users? What if enough priority users saturate the upstream bandwidth? Do they all get throttled, including you?

@mtehonica had a great idea:
I do agree there are a lot of variables, but with the inclusion of quotas (max plays/duration on a per user basis) and temporary revocation of "non-admin" users with bandwidth limitations this could be handled.

Are there any limitations to what can be throttled and not? Can you throttle direct streams or only transcoded streams? What if the Plex server admin has “optimized versions” enabled? Do you still throttle those?

Throttling should not be based on content but user. If you want to Direct Stream but it’s always buffering what do you do? Manually selecting a lower quality and thus your Direct Stream turns into a Transcoded Stream. And let us just ignore the Optimized Versions for now. This is a really great feature but not usable yet (Optimize in 4 Mbps 1080p and still, everything gets transcoded because there is no matching client-side setting).

What if there is upstream bandwidth contention because of something outside of Plex? How do you detect and throttle based on it?

Then you have to do exactly the same as you have to do now. Manually select a lower quality. However, this can be solved within Plex automatically but it’s a completely different topic. (Netflix, Hulu, Amazon, etc. automatically adjust the resolution and bandwidth based on your actual connection speed. It’s not difficult to implement, especially because you have to use a Plex client)

I think on the surface this seems like a simple feature request, just a couple check boxes, but under the covers, there are lots of variables.

As a developer I can tell you that it’s actually plain easy to implement. I actually could do it myself if someone would send me the sourcecode :slight_smile: No, I’m not better than the Plex devs, in fact I don’t know any programming language but what I’m really good in is reading code, processing it like the compiled version would be and thus perfectly understand whats going on. That enables me to use present code to implement new features and/or fix bugs even if I’ve never seen the programming language before.

EDIT @mtehonica Don’t get me wrong. I really appreciate your input but I think you are thinking too far. Even if all possible problems we see are solved there is always a higher level with more problems. There is no perfect system but with such an implementation you and your users have much less trouble getting a nice stream without playing around with the settings.
Friend of mine came home at 9pm and he wants to easily play a TV Show. He has set Quality to 4 Mbps (I had to tell him - he doesn’t know my bandwidth). Ok, now he came home and starts playing but the video is buffering like hell. He tries this and that, reboots his router, is already annoyed and finally asks me. What he didn’t knew was that there was already another user using my upstream bandwidth.

“Pure hell” vs. “Smooth experience” :slight_smile:

I would like this feature.

  1. control MAX bandwidth for all users. i.e. any and each connected user gets 4 mbps max.
  2. control per user bandwidth under that if we wish. i.e. bob only gets 2 mbps max.
  3. max for all users combined, does not mater how many connected, i.e. 8 mbps is the max plex can use for all connected friends.

Thanks

@abrodel@yahoo.com said:
I would like this feature.

  1. control MAX bandwidth for all users. i.e. any and each connected user gets 4 mbps max.
  2. control per user bandwidth under that if we wish. i.e. bob only gets 2 mbps max.
  3. max for all users combined, does not mater how many connected, i.e. 8 mbps is the max plex can use for all connected friends.

Thanks

All of the points above were covered on the first few pages of this thread. All of you that are putting in a +1 or a “Me too” aren’t voting. To vote on these forums you have to put a “Like” on the first post of the thread. All of the +1’s in the world do absolutely nothing without that “Like”. (This was also covered on the first page.) You don’t need to post in the thread to make your vote count… You just need the “Like”.

With the new Optimized Media feature that came out recently, pre-transcoding for the settings you have people set up with shouldn’t be at all hard. If you cap a group of people at 2Mbps, then optimize your media to support the 2Mbps and store those files with the rest of the media. Then when someone requests that particular file, there won’t be any transcoding on your server and everything will Direct Play on his end. EDIT: This will even work on an under-powered NAS. It may take a while to create the optimized media, though…

Storage is cheap, relatively… And using a few GB in a 20+ TB system is not the big issue it was just a few short years ago.

Get your media set up for your users so they can enjoy the best experience they can on your PMS.

Need this in my life! [-O<

I have to agree and would really love to to see per friend bit rate limiting.

+1 for sure!

Would love to see this. +1

I have Liked this as well.

Me, I have 720kbps upload. Yes, it’s that bad. But I can support one or two 280k streams and a little internal web browsing, or one and my regular traffic. The wife isn’t the most technical and relying on her to set and ensure the web client stream on whatever computer is set is… not likely.

I’d also like to see cutoffs after a user has exhausted a set amount of bandwidth, i.e. “dude you’ve used, like, 100GB this month. You’re cut off bro.” With Comcast implementing those stupid data caps, I need something like this or I’m going to have to start cutting people off.

+1 I will keep voting this as it is truly needed. My only argument Is, my up is so high that i’ve had people I share with pull directplay 9Mbs. I have to tell them to drop down and trasncode. It is a pain … trying to explain this.
and for the idiots out there that don’t understand bandwidth… as I was reading in another thread QOS / NIC limiting WILL ONLY cause Users to buffer and freeze. Im not going to explain this…just trying breathing underwater.
@starbetrayer