I share my server with 10 others and it is not uncommon for get 5-6 simultaneous HD streams at once. I have a Late 2012 Mac Mini 2.3 Ghz i7 with 4GB RAM and 55/12 Comcast internet. It seems like once my server hits 5-6 streams, everyone either experiences severe buffering or the server hangs and causes my Mac to do the same. Hard rebooting my computer, as much I hate doing it, has become commonplace. I LOVE being able to share my server but am having a hard time doing so. Here is what I propose if Server Sharers are having issues with either upload bandwidth and/or their CPU being able to handle the transcoding load.
Ability to set hard limit on number of simultaneous streams to shared users. This would block users attempting to stream if the max at that moment is already met. This would solve bandwidth and CPU issues.
Ability to set max quality for shared streams. Currently the user sets this on their client and can stream up to 20mbps if the video file allows it. This is a big issue if multiple streams are happening. While this will force a transcode, this would solve issues with bandwidth. If bitrate is below max, obviously direct play like it already does.
"Force Direct Play" Setting for shared streams. If Bandwidth is no issue but the CPU is, this can attempt to Direct Play everything to shared users decreasing the load on the server CPU.
Ability to cancel specific streams within Plex/Web. You can only cancel transcode sessions from the menu bar (not direct play sessions) and it nukes all of them at once.
Analytics for sharing. I know PlexWatch is alive and well but building this into Plex would be awesome and it would be great to have an actual UI for it.
The sharing capabilities are half of why Plex is so awesome. I would love to see this feature-set expanded for those of us who don't have fiber and/or a supercomputer.
I too would love to see some sort of limit to be able to be placed on the simultaneous amount of streaming from remote users. The issue I potentially see with this would involve somehow being able to separate local streams (or giving streams on my local network) priority over remote streams if possible.
I too would love to see some sort of limit to be able to be placed on the simultaneous amount of streaming from remote users. The issue I potentially see with this would involve somehow being able to separate local streams (or giving streams on my local network) priority over remote streams if possible.
That's how I see it as well. The account owners login could take priority and boot someone off if needs be.
how bout telling the people you are sharing with to stop hogging the bandwidth and cpu time. Fact is that HD Streaming is not for the faint of ISPs. You could try transcoding some of your library down to SD editions so they can be direct streamed.
how bout telling the people you are sharing with to stop hogging the bandwidth and cpu time. Fact is that HD Streaming is not for the faint of ISPs. You could try transcoding some of your library down to SD editions so they can be direct streamed.
for the time being I was actually thinking that exact same thing. I suppose I could encode my 260 movies into SD and create unique sections of that content to share. But that's a workaround I don't feel is necessary.
But that's a workaround I don't feel is necessary.
Playback of 5-6 HD Streams at a minimum of 4mbps = 20-24mbps ==> is grater than what Comcast is giving you.
However 5-6 SD streams at 2-3mbps = 10-18mbps ==> is much closer to what Comcast Upload is giving you.
Transcoding just introduces another bottleneck and likely one that will be reached before you run out of bandwidth.
Do you see your dilemma? You have too much demand for what you have on hand.
Cloud Sync might be worth while for you as that will transcode once to a relative universal format and then offload the bandwidth to someone else (until they suspend your account for overuse).
Playback of 5-6 HD Streams at a minimum of 4mbps = 20-24mbps ==> is grater than what Comcast is giving you.
However 5-6 SD streams at 2-3mbps = 10-18mbps ==> is much closer to what Comcast Upload is giving you.
Transcoding just introduces another bottleneck and likely one that will be reached before you run out of bandwidth.
Do you see your dilemma? You have too much demand for what you have on hand.
Cloud Sync might be worth while for you as that will transcode once to a relative universal format and then offload the bandwidth to someone else (until they suspend your account for overuse).
I agree with you on most points but the whole reason I posted this feature request is because I understand that I have more demand than what my pipe can handle. If I still lived at my last house I could hook up to Gigabit Fiber up and down for $75/mo... but I'm bootstrapped to Comcast's top tier in my area at 55/12 for the same price :( . I understand the math that if 4 users stream a 3 mbps video I'm maxing my 12mbps upstream out. Again, my expectations are not high with my given situation. I'm in the same boat as a lot of people... that is why sharing limitations and limited number of simultaneous streams would help out a lot.
Cloud Sync might be worth while for you as that will transcode once to a relative universal format and then offload the bandwidth to someone else(until they suspend your account for overuse).
That last part made me laugh, probably true, but still funny
"Force Direct Play" Setting for shared streams. If Bandwidth is no issue but the CPU is, this can attempt to Direct Play everything to shared users decreasing the load on the server CPU.
I would really like this, I tell everyone to set their systems so not to transcode but some don't know how for all their devices.
I would really like this, I tell everyone to set their systems so not to transcode but some don't know how for all their devices.
It would be nice to set this from the server.
It seems like a catch 22... I want to tell everyone to change their client setting to direct play but that would mean 5mbps streams for everyone. The if everyone transcodes to bring down bandwidth it brings my CPU to its knees.
I would also like to see something like this, especially point #2 of OP. Perhaps some heuristics for dynamically throttling individual bandwidth usage:
For example if you could inform PMS that you would like to allocate a total of 10 mbps for all external streams, then if there's only 1 external user currently streaming, it would be allowed 10 mpbs. If another user starts streaming, and requests 2 mpbs, the original user would drop to 8 mpbs. If 2 users are requesting 10 mbps, they would both get 5 mbps. And so on...
Maybe the dynamic throttling gets too complicated with HLS if the HLS streams need to be advertised up front. In any case, any kind of maximum quality configuration for external streams would be very useful.
I would just like to be able to set the maximum quality of remote clients. It's frustrating working with people who are not exactly computer literate and get them to understand they need to set the quality lower and that 720p is NOT the same as 720Kbps :D
I request all my remote users to use the 3mbps 720p setting (or thereabouts) in their clients. As far as I can tell, all comply. But it certainly would make more sense for these settings to be controlled by the server, and not the requesting client. It would solve a lot of the issues that tend to crop up with shared servers and remote users who are not tech savvy.
I personally would love this feature! I started googling how to do this the first day i found plex over a year ago. I am in the exact same boat as the OP. I have about 5 ppl that I share my personal library with, and while they all comply to my 3Mbps max quality, when I get 4 of them on at once (which happens every couple of weeks) it just brings down the quality for everyone.
I would love to be able to set the max quality that clients can set, and also the force direct play is a great idea as well. The ability to boot people from plex/web is good as well. I'm not sure that I agree with blocking users once the bandwidth cap has been met. I understand the logic behind it, but as a software engineer myself, I feel that there are too many complicated situations that would arise. It's definitely one of those features that no matter how hard you try, some people will hate it.
I agree in general with this topic. To remedy some of my pain, I have created more virtual servers. Since I am running VMware, I can also dictate minimum and maximum bandwidth of the virtual switch. If I limit the vswitch to a max of 2 MB, then I have solved my issue. Still experimenting, but so far so good. I currently have 9 people sharing with me plus my LAN.
Considering that the devs, for the most part, pay attention to posts with the 'most likes' in this section of the forum, you may all wish to instead 'like' this thread -