Whew…it’s turning out to be a busy fall. Being October, we’ll be turning to perfecting our Halloween costumes and of course gathering wood for the coming winter, like good little hobbits and island people. To those down under, Winter is Coming…to an end.
Can we just take a moment to reflect on how cool it is to see the Plexverse expanding in so many exciting ways? Since we announced Plex DVR, we’ve seen hundreds of thousands of recordings grabbed from thin air and added to Plex libraries around the world. And since we announced Plex Cloud just a week ago, we’ve seen an incredible response with people emailing, PMing, calling, and showing up at our door begging for invites (hint: it helps to bring treats for Barkley).
This brings us to the reason we’re here today. At the same time as we’ve been adding the massive new DVR functionality and allowing our server to run in the cloud, we’ve also been hard at work on things important to folks who run their Media Servers locally and stream remotely. We all know it’s hard to manage the limited bandwidth our miserly ISPs provide us. Sometimes, all it takes is one bad apple trying to stream a full-quality video to ruin the experience for everyone else. Well, no longer…
Today, we’re taking the wraps off the first few parts of an incredibly sophisticated Media Server component that helps you manage the most precious of resources: your upstream bandwidth and your CPU’s ability to transcode. This Plex Pass feature is available to our beloved premium members today in the latest Plex Pass release of the Media Server.
There’s so much intelligence in there that during development we started referring to it as the “Streaming Brain” and had to take some Asimov-level steps to ensure it didn’t become sentient and start passing judgment: “I’m sorry, Mike, but I’m cutting off your access to Laguna Beach: The Real Orange County. You’ve clearly had enough.”
Because internally, all things must be reduced to their emoji essence, Greg found the closest ones to streaming (shower) and brain (robot) and we started referring to the feature as simply:
Our resident illustrator, Craig, was inspired to ink something up, marketing loved it, and hey, now we’re thinking of getting t-shirts printed.
In a nutshell, McStreamy the Showering Robot brings two awesome new capabilities to the server:
- Enhanced ability for the server to communicate with players. Instead of playback just failing with a generic error, we can now give much more specific reasons. Simple change, but really nice.
- Intelligent management of bandwidth and CPU usage to make sure that Plex never tries to exceed the limits of your Internet connection or processor. (Don’t hate on my upstream. And if you have fiber, I guarantee you that you don’t have beaches and coconuts.)
Peek under the hood, and there is some seriously cool stuff going on:
- Advanced heuristics compute the best streaming parameters given available CPU and bandwidth.
- Plex Sync and other non-time-critical transfers are treated on a best-effort basis, but will take advantage of available bandwidth when possible, scaling up and down based on usage with real-time traffic shaping.
- Prioritization of streaming transcode sessions over non-critical work (Media Optimizer, Plex Sync, and other CPU intensive operations).
- Bandwidth limits are performed with WAN traffic, but users with interesting network topologies can customize what constitutes remote vs. local traffic.
In order to have this all work properly, the Media Server needs to do a deep analysis of your media, since the “average” bitrate reported by most files is actually pretty useless when it comes to knowing true bandwidth requirements. (Variability in media and real-time conversion are two of the hardest challenges with our platform in general.) We silently slipped this more extensive analysis into a release a while ago so it could work on your libraries ahead of release. During other scheduled maintenance tasks, it’s been hard at work figuring out exactly how much bandwidth is needed to successfully stream your media without buffering.
If you made it this far, congratulations, and thanks for reading! To summarize, this new feature will make streaming remotely, to multiple users, with a range of available bandwidth and CPU, much more reliable. It’s the first step of many we have planned: McStreamy will get smarter over time, and gain new capabilities. We’re fairly sure it won’t evolve into Skynet, but who are we to hold it back?!
You can find information on how to make use of the new controls on our support site.
Barkley demonstrating bandwidth limiting: