You are saying you had 16 simultaneous streams going at one time on a 20Mbps connection and people were buffering? I wonder why??? There is no amount of bitrate limits that are going to fix this. There are only a few ways to resolve this situation:
Realistically, transcoding is out of the running for making 16 simultaneous streams, as most of us don’t want to have to mortgage the home again to buy the hardware to handle this. The highest rated CPU made only scores 22K passmarks, and sells for $3400 a chip. We all know Plex’s own support documents state a 1080p 10Mbps stream requires 2K passmarks per stream for On Demand transcoding, so there’s 11 streams in that CPU. What, just over half? So we need 2 of those CPU’s. And then a dual CPU board to support that CPU, so we’re already up to $10K+ for the cost of the system, and haven’t bought drives, case, PS, memory or anything else. Just CPUs and MoBo… And that’s just a 10Mbps original file. How much of your media is in a 15Mbps or 20Mbps? Increase CPU requirements for these accordingly. Yeah, On Demand transcoding is out of the running for most of us… so Bitrate limits aren’t going to help the guy here, with a 22K (or 44K) passmark machine
Faster connection speed? Ok this has potential. Let’s say you want a 4Mbps limit for your 16 friends. That’s what, 64Mbps worth of upload speed. (Where you currently have 20Mbps.) And realistically you want this higher, to support your own downloading, so let’s say 80Mbps for a connection speed. What’s the cost of this connection speed? I’m going to bet it’s probably 4x or 5x higher than what you are paying now. And remember, you can’t charge your friends legally for streaming your media, so that cost is out of your own pocket… Most of us aren’t going to be able to afford that for long, either… It’s still an option, so don’t discount it completely, it’s just not realistic for a lot of people.
Converting the media into a lower bit rate to support their streaming? Ok, this means you are going to use something like the OM feature or another tool to make a smaller bitrate file for every item in your library. (targeting 16 users, here…) So given that your 10Mbps original takes up 8-10GB each, that means that a 1Mbps file is going to take up about 1/10th of that. So 800MB to 1GB per file. Just how large is your library now? And how many more drives can you hang on your system? This is about the cheapest way to stream to that many long term, but you may be limited on how many drives the system can handle… This is a one time conversion, but you need to store the files for later reuse… That means they have to be stored someplace, right? Not many are going to want to do this either, but who knows…
Dropping off some of the friends you are sharing with? Well, now we are getting somewhere. Combining OM versions with fewer people streaming and maybe a bit faster connection speed, and 8-10 people streaming at a time might be affordable. Double the bandwidth, and increase your storage by 50% and now you can get those people all Direct Playing a 2Mbps or 3Mbps version of your media pretty easily. Creating OM libraries are going to help out here a great deal. (Remember, Direct Playing your library means that the CPU is using maybe 2-10% of it’s power, instead of 80-100% of it per stream.)
An OM library is where the main library makes an OM version of your media in a separate folder. then the OM library points only to the folder the OM versions are put in. The OM feature makes a new version, that version is added to both the main library and the OM library at the same time. And you can do this now with any media you already have, without bitrate limits. You just share out the OM library to your remote friends. Keep the main library for yourself and local streaming only.
So, you really think bitrate limits are going to help you with the given situation? Not bloody likely! In this case, the causes of your buffering are your own fault. You shared out to too many people, and haven’t provided a version for them to be able to stream that fits your network topology. You are better served with the OM library for now, and making sure you don’t have the extra 10-12 people streaming that your network can’t support. Combining the OM feature with a per user bitrate limit means not having to maintain 2 separate libraries. One library, with both versions (the main library from above) and then the user gets only the OM version when he streams from you as this is what he’s limited to based on the limits you created for his ID.
Combining the OM feature with bitrate limits and adaptive bitrates are where we all want to get to. Set Joe up with a 4Mbps max, but as more people come on, his speed drops to something lower, and then it picks up the next lower OM version to stream to him, all seamlessly as far as he is concerned. No matter what, he’s never going to get more than 4Mbps, but he might not get even half that if there are 4 or 5 others streaming from the server at the same time.
Wait, doesn’t that mean we need to have more than two copies of the media? Yes, it sure does, and the increase in storage hanging on our servers increased as well. And I think there was a discussion not too long ago about how Netflix is doing exactly the same thing right now with their streaming service. Multiple copies of the media, in various bitrates, and renegotiating if there are problems streaming the current version and then streaming a lower bitrate version to the user as a result of the renegotiation.
The bottom line is, we need bitrate limits, but with it we need adaptive bitrates, too. And we need to leverage the OM feature to make the best use of both bitrate features to make sure our users have a better experience. Nothing is going to fix 16 users on a 20Mbps pipe. At least nothing short of dropping about 3/4 of those users, anyway…