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

@Monsters_Grin said:
Does it really have to be explained? If someone wants to just avoid spikes in CPU load and block the transcoding altogheter - the option should just be there. To me it looks like Plex treats transcoding almost like a religion and avoids any reasonable discussion about that. Same thing was with my comments regarding syncing FLAC files to Android. Would you like a link to that?

As for the “hidden preferences” - where is this documented?

It’s not, because it’s the first time I’ve heard this request :slight_smile:

And I’m personally convinced that Plex’s profiles are overly restrictive when it comes to deciding what can and can’t direct play.

Happy to hear specific examples of this, in the right thread.

@KarlDag said:
If that’s the case, you should really just pretranscode your video files, either using handbrake, Plex Optimizer, or @cayars script… no transcoding required after that. Or don’t share your library. Or use Plex Cloud when it’s out of beta. No need for the rudeness.

That’s the thing - 99% of my media would direct play if it wasn’t for Plex forcing the transcode. The only device where I see transcoding as necessity is a web browser (in this case - at least lately - most of the time it’s either my upload speed or audio codec. That I can understand.). Other than that - I tested some “problematic” media samples using other players (in case of Android, I used MX Player) and the device had no issues with neither the codec nor the container. The same files were persistently being forced to be transcoded when playing via Plex. And no, it’s not the settings - everything was maxed out and Plex still insisted on transcoding the video.

@jondhoughton said:
I’ll resign after this comment, because this obviously isn’t going to go anywhere, but:

  1. You’ve been given an option for disabling transcodes. It might not be fully documented, but I’m pretty sure its an unusual request. A few of the main benefits of Plex is watching your media in many formats, on any device, from anywhere, on any (well most) connections. I don’t see how thats possible without transcoding.
  2. No doubt, your hardware must be sized appropriately to what you are trying to do with it. I don’t think anyone would argue with the fact that underpowered hardware will cause you problems if you try to do multiple 1080p streams to devices that can’t handle the native format of the file. I bought one of those WD Passport drives with Plex on it - and I’ve got to put some effort into getting the media into a format that works well (well Optimized versions within Plex makes it pretty easy), but its a battery powered hard drive that can serve as a mobile plex server while my son and I take a train ride across the country. Its incredible for what it is, even though it takes a little effort!

ad 1. Please see above.

ad 2. Like I said above - most of the time I find that refusing to direct play is Plex’s fault. Other players on the same hardware are not so stubborn.

@jondhoughton said:
Regardless, this is an awesome community and an awesome product. There is a forum to make requests for features, and if I’m way of base and there are many people out there who want this functionality I’m sure it will be added eventually, but you’ll get further with your request using a little tact.

I’m sorry If I come off as blunt. I’m just honest and I call things how I see them. Feature requests are being constantly ignored - I’ve mentioned that in my comments regarding FLAC files. Yes, Plex is a great piece of software but the company comes of Apple’ish sometimes (in that - they think they know better what people want). There are so many feature requests with hundreds of votes and threads going on for 3+ years - and guess what? Completely ignored by Plex Inc.

@elan said:
It’s not, because it’s the first time I’ve heard this request :slight_smile:

I swear to you - ability to disable/block transcoding altogether was my first thought when I started reading about Plex. It was obvious to me, without even installing the software. There’s no way that no one at Plex Inc even thought about this. I can’t believe it.
But there are so much more that should’ve been done differently from the start and it’s not. Maybe that’s just how you guys work.
Anyway, I’d love to read about those “hidden settings” and experiment with them, under my responsibility of course.
I have a strange feeling that most of my issues would’ve been resolved . . .

@elan said:
Happy to hear specific examples of this, in the right thread.

I’ve described above how it usually goes. I get that some devices might not play something. But I refuse to take this kind of arguments when I see that other players on this hardware play the same files just fine.

@Monsters_Grin said:
I tested some “problematic” media samples using other players (in case of Android, I used MX Player) and the device had no issues with neither the codec nor the container. The same files were persistently being forced to be transcoded when playing via Plex.

We’ve gone way off-topic here, but this is the source of your misunderstanding. We use the official Android ExoPlayer video playback engine. MX Player uses something totally different and custom, which is why it handles decoding of the codecs natively.

Yes, with a lot of effort, we could integrate similar technology, but it’s neither simple nor a panacea, especially across the range of players/platforms we support.

THANK YOU SO MUCH FOR IMPLEMENTING THIS FEATURE PLEX TEAM! :smiley:

Now make an option to limit the amount of streams per user. That would be great.

Thanks for the update @elan !

I hope limiting concurrent user sessions will be added soon.

Great first step, which will help a lot of people.

Now add a per user configurable streaming profil (number of concurrent stream, stream quality video, stream quality audio - to limit to 2ch for example)

Would be interesting to see how per user streaming can be implements within the server??, if at all in the future, as the user will be hitting the upload stream via the shared libraries as opposed to plex managed users, how would plex then associate a particular streaming profile with 'x"user whenever that user logs in . That remote ‘x’ user could also be my device from another home which you do not want to limit bandwidth on . all get a bit interesting per user . How many remote users is too many remote users :-0…

Hopefully my synology router allows more granular streaming controls in the near future!!

Great feature and step in the right direction nonetheless. Well done plex. Great Work, Excited for it when it hits the nVidia shield , hopefully soon

@ms3ars said:
Thanks for the update @elan !

I hope limiting concurrent user sessions will be added soon.

Yes, this would be an awesome addition.

YEEEEES!!! FINALLY!!! YEESS!

@satyp said:
Would be interesting to see how per user streaming can be implements within the server??, if at all in the future, as the user will be hitting the upload stream via the shared libraries as opposed to plex managed users, how would plex then associate a particular streaming profile with 'x"user whenever that user logs in . That remote ‘x’ user could also be my device from another home which you do not want to limit bandwidth on . all get a bit interesting per user . How many remote users is too many remote users :-0…

Hopefully my synology router allows more granular streaming controls in the near future!!

Great feature and step in the right direction nonetheless. Well done plex. Great Work, Excited for it when it hits the nVidia shield , hopefully soon

Why would that be so hard? You would just be able to set an amount of allowable concurrent streams per user. Plex will do a simple check on the amount of streams a user has and if it reaches above the configured amount, it will display an error messages on the additional devices that the maximum amount of concurrent streams has been reached.

I agree, as you say, I suppose that would easier/simpler to add in as an additional control, as plex server would just need to look at the numbers remote “plays” it’s doing at whatever time of day it is… and then limit bandwidth to that stream based on the predetermined global setting e.g 2mbps for each stream and upto a max of 4 concurrent “plays or remote streams” -

In this case, there would no control obviously over which stream would have a slight higher bandwidth if you wanted to assign it on more individual basis. as plex will not be able to know or favour one stream over another in this instance.Going by some of the points here, the discussion seems to suggest that and this was I was referring to talking about… Should have been clearer, I suppose. :-0

Personally for me, if plex server were somehow able to assign higher affinity to a particular stream based on particular user connection whenever they connected remotely , would be a awesome bonus too. This would help in a situation where for instance I go away for a day on work and connect to my plex server and and not need to play around with plex server settings with the plex settings if did not want to any bandwidth throttle for that session for example.

Saying that, I am equally pleased and happy with any sort of throttling at the moment as it stand. Plex as been an great piece of evolving software and hopefully carries on that way as far it’s users are concerned for the foreseeable future. :slight_smile:

Thanks to everyone for your kind words! We’ve been working hard on this for a while, as you might imagine. With an ecosystem as big as ours, it’s a lot harder to add features which span across the entire range of server and clients :slight_smile:

@elan said:
Thanks to everyone for your kind words! We’ve been working hard on this for a while, as you might imagine. With an ecosystem as big as ours, it’s a lot harder to add features which span across the entire range of server and clients :slight_smile:

No. Thanks to you guys for showing you are listening :slight_smile:
Awesome stuff and keep up the great work!

@secretdk said:
Now make an option to limit the amount of streams per user. That would be great.

This, this, this! :smiley:

@elan said:

@Monsters_Grin said:
I tested some “problematic” media samples using other players (in case of Android, I used MX Player) and the device had no issues with neither the codec nor the container. The same files were persistently being forced to be transcoded when playing via Plex.

We’ve gone way off-topic here, but this is the source of your misunderstanding. We use the official Android ExoPlayer video playback engine. MX Player uses something totally different and custom, which is why it handles decoding of the codecs natively.

Yes, with a lot of effort, we could integrate similar technology, but it’s neither simple nor a panacea, especially across the range of players/platforms we support.

Apologies for perpetuating the Off Topicness here…
Wouldn’t developing your own HTML5 compatible player solve this problem not only for Android but across ALL platforms since all of them would be using the same player system?

It would solve some of the Feature Fragmentation we have seen in the past wouldn’t it?

@AsphyxNYC said:
Apologies for perpetuating the Off Topicness here…
Wouldn’t developing your own HTML5 compatible player solve this problem not only for Android but across ALL platforms since all of them would be using the same player system?

It would solve some of the Feature Fragmentation we have seen in the past wouldn’t it?

An “HTML5 compatible player” relies on the underlying media stack in the platform browser. Also, those lower layers aren’t generally customizable, and definitely not across all the platforms we’re on. So we’d be at the mercy of whatever codecs/format the browser supported on each platform (like we are on Smart TVs).

So, many pages back, I made a registry entry change that supposedly limited individual streams.
Do I need to roll that back?
Or is Plex web settings now configure it for me?
(Oh, and the blog lied…i could have sworn it said the DVR version included the parameters…I upgraded from DVR 3 to whatever pass version was (number was higher) and lost DVR…but, Ive seen that for another topic too in the DVR section)

@JasonMeudt said:

@AgentMax said:
Available now.

Put <key>WanPerStreamMaxUploadRate</key> <integer>2000</integer>
in your plex config. In this example, the bitrate is limited to 2000kbps.

Nice! Why would nobody let us know? Looking at that key value, it is not listed…

support.plex.tv/hc/en-us/articles/201105343-Advanced-Server-Settings

Furthermore, it appears that it was caught by someone else back on June 26th…

forums.plex.tv/discussion/comment/1205741#Comment_1205741

Hopefully it does what it says, even without being ‘released’ yet…

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\SOFTWARE\Plex, Inc.\Plex Media Server]
"WanPerStreamMaxUploadRate"=dword:00002000

I too made that change a few weeks back but confirmed today that the value you put in Server->Remote Access->Limit remote stream quality overwrites this field in the configuration. So no need to roll it back.

@JamminR said:
So, many pages back, I made a registry entry change that supposedly limited individual streams.
Do I need to roll that back?
Or is Plex web settings now configure it for me?
(Oh, and the blog lied…i could have sworn it said the DVR version included the parameters…I upgraded from DVR 3 to whatever pass version was (number was higher) and lost DVR…but, Ive seen that for another topic too in the DVR section)

@JasonMeudt said:

@AgentMax said:
Available now.

Put <key>WanPerStreamMaxUploadRate</key> <integer>2000</integer>
in your plex config. In this example, the bitrate is limited to 2000kbps.

Nice! Why would nobody let us know? Looking at that key value, it is not listed…

support.plex.tv/hc/en-us/articles/201105343-Advanced-Server-Settings

Furthermore, it appears that it was caught by someone else back on June 26th…

forums.plex.tv/discussion/comment/1205741#Comment_1205741

Hopefully it does what it says, even without being ‘released’ yet…

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\SOFTWARE\Plex, Inc.\Plex Media Server]
"WanPerStreamMaxUploadRate"=dword:00002000

@elan said:

@AsphyxNYC said:
Apologies for perpetuating the Off Topicness here…
Wouldn’t developing your own HTML5 compatible player solve this problem not only for Android but across ALL platforms since all of them would be using the same player system?

It would solve some of the Feature Fragmentation we have seen in the past wouldn’t it?

An “HTML5 compatible player” relies on the underlying media stack in the platform browser. Also, those lower layers aren’t generally customizable, and definitely not across all the platforms we’re on. So we’d be at the mercy of whatever codecs/format the browser supported on each platform (like we are on Smart TVs).

I was thinking along the lines of JW Player…
https://www.jwplayer.com/video-solutions/html5-video-player/