I saw this on github, started about 12 hours ago and didn’t see a post here (sorry if there is).
I don’t know about you guys, but I can’t wait to be able to deploy this.
I saw this on github, started about 12 hours ago and didn’t see a post here (sorry if there is).
I don’t know about you guys, but I can’t wait to be able to deploy this.
Ive been wanting something like this for a while! I cant wait to get this going as well
Looks like the developer explicitly states it as a WIP and not something that is ready to be tested. We should probably just let the developer open a thread here when he is ready instead of going through GitHub and creating threads for alpha-level projects.
So, this repo is mine. I can’t take full credit for the genesis of the concept which started here: https://forums.plex.tv/discussion/39823/howto-limit-plex-media-server-bandwidth-on-linux/p1.
I started working on it because I need a way to throttle on a user-by-user basis and there were some issues with the script updates posted in that thread. You can judge for yourself how much is mine and how much is plagiarized.
My Plex server sits in a Teir 1 datacenter on a 100Mb feed, but I share this feed with several businesses. I can’t add more family to my server until I get the issues (noted on the repo) of bandwidth management under control.
Anyone else familiar with shell scripting / github are welcome to contribute. As soon as I figure out github branching without completely clobbering your changes, others can enjoy the progress.
Wow…This looks awesome man!
does the scripts needs to be run where the plex server is installed, in my case plex is running on a mac but I do have running debian linux server - does this work with the plex shaperr ?
Sorry for jumping in with this question, but instead of “tailing” the logs and adjusting on the fly couldn’t you just as easily set the bandwidth allowed for all IPs with a couple of exclusions setup for yourself if needed and call it a day?
Sort of like QOS?
@elRadix the scripts are designed to be run from a debian-based Plex server. I wish I knew enough about how Apple’s version of “-ix” worked to make it multi-platform. If you have any skill in scripting, I’d certainly welcome any pull requests on the “test” branch.
@cayars , good question. Frankly I suspect doing it that way would probably work for the majority of people who have their Plex server sitting in their home office, streaming video to family via consumer broadband. In those cases, the script referenced in the thread I linked would probably work just fine with some tweaking.
Why did I implement it this way? A couple of reasons. Using the maximum upstream bandwidth where my Plex server is homed (40-50Mb/s) is OK for me to do, but should be a fairly infrequent occurrence. Without individual throttling limits there are several scenarios that make hitting this upstream cap more frequently than it should and would begin to raise the eyebrows of those who give me use of the feed: efficiently encoded video that won’t even hit the transcoder and downloads to the client at full wire speed, direct play / direct stream, and clients who have their quality set to “original”. Another scenario that isn’t handled in the scripts yet is sync’ing which would also use full wire speed.
Another reason is for consistent quality delivered to clients. They know they can expect at least a 3Mb/720p experience regardless of who else is connected… up to the servermax of course. Finally, I believe in being a good steward of the resources I’m given. Sure, you can direct play a 2Gb video that will download in 5 or 6 minutes from the server and saturate the pipe up to the max. But what did the client gain versus stretching the resources out over the course of the playing video.
I dunno. Maybe it’s the enterprise engineer in me.
@B0Z Nice idea, I was looking for a similar solution that would work with dinamic ips, but seems that it still doesnt work with direct plays or something has changed since then