AWS Cloudfront is marketed as a way to speed up the delivery of internet content. According to AWS’s site: “CloudFront delivers your content through a worldwide network of data centers called edge locations. When a user requests content that you're serving with CloudFront, the user is routed to the edge location that provides the lowest latency (time delay), so that content is delivered with the best possible performance.”
What does all that mean? It’s an AWS CDN.
While this may be an effective way to deliver static content, it does not work as well with dynamically generated content such as live video. As we’ve explained before, this is due to the fact that CDNs work by caching information on the various data centers they have distributed across the globe. Those are the edge locations as quoted in the CloudFront description above. The idea is that a request from a subscriber connects them to the closest data center which has a cache of the video they would like to watch.
However, CDNs are built around HTTP delivery, which does not support newer protocols such as WebRTC that focus on reducing latency. Thus the latency you will get with CloudFront will always be too high and nowhere near the sub-second latency you need for live video.
We emphasize sub-second latency as it is a major requirement in creating a truly live stream. Whether broadcasting an event, teaching a class, or just having a conversation, low latency is a key factor to ensure a good user experience. After all, how can it be a live video if it’s delayed?
If you are looking for a better way to stream live video, here are some alternatives to CloudFront. In no particular order, we will outline other video delivery platforms and address their strengths and weaknesses.
A long-standing presence in the live streaming sector, Wowza is often one of the first providers to come to mind when searching for a streaming platform. Through this visibility, Wowza enjoys a large customer base elevating them as a trusted media provider in the eyes of the consumer.
Wowza’s biggest strength is the support of a variety of ingest types. In fact, a large number of their customers use Wowza for a single purpose serving as an ingest point in an origin server. After recieving a variety of streaming protocols, the origin converts the streams for CDN-based delivery. Wowza’s software is well suited for such repackaging of streams for CDN-based delivery.
Wowza built a large company around the implementation of the CDN video delivery system. Their size, while a sign of success, can also work against them. much like a cruise ship making a u-turn, they might not be as maneuverable as a newer and/or smaller company poised to innovate according to the needs of the emerging future. If history shows us anything it’s that just because it worked in the past, doesn’t necessarily mean it will work in the future too.
One such need is the support of the new Web Standard WebRTC. Designed around providing ultra low latency, WebRTC is a very functional protocol for browser-based live streaming. With Flash approaching end of life support this year, WebRTC is the logical replacement. In the face of this ever-increasing urgency, Wowza’s efforts to fully implement WebRTC have apparently stalled.
Without a scalable WebRTC integration that works in the real-world, Wowza remains bound to CDN based video delivery resulting in high latency of around 2 seconds (at the very lowest). This is nowhere near the sub-500 ms delivery produced by WebRTC on other streaming solutions.
Lastly, there are a couple of other limitations outside of CDN based limitations; customization and mobile support.
Wowza has decided to abandon the mobile SDK they previously offered to their clients. Thus, if you are looking for a native app to run with Wowza, you will have to do all the work of building one from the ground up.
Furthermore, the basic functionality of Wowza, while making it accessible, can limit support for customization and even modification.
Similar to Wowza, Limelight is an established player in the live streaming industry. Limelight’s RTS (Real-time Live Streaming) platform is a managed solution. As such, it is fairly straightforward to configure everything. The setup process is greatly simplified since Limelight already takes care of handling the server infrastructure. Their mobile SDKs, enables you to build native apps. With consistent performance and reliable content delivery, it can certainly be considered a platform that works well.
A relatively new offering, The RTS feature has enabled Limelight to support real low latency streaming. This gives broadcasters and subscribers the ability to respond to events in real-time which facilitates interactive experiences.
Since Red5 Pro’s software is what powers Limelight RTS, it is able to achieve sub 500 milliseconds of latency. However, there is more to live streaming than just real-time latency- as important as it is. Limelight has not yet enabled the complete feature set of Red5 Pro, blocking you from using the full functionality. Furthermore, Limelight limits you from deploying your own server-side apps which means you can only use what they choose to expose.
As far as pricing is concerned, Limelight’s website does not have a transparent pricing structure. This makes it difficult to fully gauge how their pricing compares to some of the other platforms listed here. However, there are reports from the live streaming community that the RTS offering is expensive.
Limelight is a CDN and though they have managed to get around the issue of the usual high latency caused by CDNs, there are other shortcomings stemming from the fact that Limelight’s content delivery is dependent upon a series of fixed data centers. Despite the prominent role that CDNs have historically played in delivering content, newer innovations improve the process of video delivery. Cloud-based systems rather than fixed bare-metal based data center systems are proving to be more flexible and performant meaning the tech industry is currently switching to that approach. This creates a large problem for Limelight as they have built their entire business model around these always-on data centers which are actively being replaced by cloud-based systems.
Millicast is a hosted solution based around WebRTC. This platform is a combining the convenience of pre-packaged hosting, with WebRTC’s sub 500ms delivery Millicast enables you to easily set up real-time latency streaming.
However, convenience comes with a cost. Like with Wowza, you will be completely relying on third party architecture, meaning that you have no choice but to accept any changes that the third party makes. Without access to the back-end infrastructure, customization will be stunted as well. This will block you from implementing your own server-side logic including custom authentication, transcoding, and pushing your stream out to other processes. Hosting agnostic solutions such as Red5 Pro, unlock the ability to create an application specifically tailored to your needs.
There is a further issue with Millicast. The nature of their hosted server architecture means that your app’s back-end foundation is shared with other companies’ apps. As long as your data stays private this shouldn’t be an issue though, right? However, we have heard reports of Millicast servers being blocked by network-based child content protection filters. This is due to some Millicast customers being in the gambling space and/or other businesses deemed non-kid-friendly. If your app might have users joining over a shared family internet, such as a virtual classroom app, this may be a non-starter for you.
Additionally, Millicast is expensive. Their hosting packages include a limited amount of data, surcharging you if you go over.
For example, their “Pro” plan is listed as $2,495 per month with 40,000GB of data included. That’s a good amount of data and considering that it’s hosted and mobile SDKs are included maybe that’s a fair deal.
Now let’s compare that to Red5 Pro. The equivalent Growth Pro plan and mobile SDKs with DigitalOcean hosting would cost $1,238 per month. That’s less than half the cost of Millicast! Plus you can receive additional discounts with Red5 Pro by upgrading to an annual plan.
From the intelligence we have gathered in the live streaming community, Phenix is a streaming service with reliable performance and good functionality. One of their outstanding features is a fast time to first frame. However, without any live demos, exposed example code, or free trials, it’s hard to validate this. It’s rumored that they are expensive but there is nothing posted on their site to either confirm or deny that claim. If you really want to find out more you will have to contact them. Perhaps with all their secrecy, they can grant you the proper security clearance to learn that crucial information.
Mux is one of the other alternatives to CloudFront. It is an easily managed service designed to get a basic streaming application functional in a short amount of time. Any developer with a basic understanding of the principals of software coding will be able to understand their documentation and set up a simple streaming video platform regardless of specific video experience.
Like others on this list, Mux also bases their pricing on usage. In addition to the network bandwidth accrued through the delivery of the video, they charge for the live encoding of the video as well.
Mux’s best feature is their rethinking of single CDN networks into an innovative multi- CDN system. This distribution helps optimize stream delivery across different regions which alleviates part of the concern of being locked-in to a specific CDN. That said, you are still confined to their network; unable to stream outside of it.
Furthermore, for all the innovations that the multi-cdn approach embodies, it is still using CDNs which will use HTTP based protocols. As has been stated multiple times, this will lead to high latency. In Mux’s case, they use HLS which results in the highest of latency: anywhere between 10 - 30 seconds. Even if they are using Low Latency HLS (LHLS) that would still produce a latency of 2 - 5 seconds; no where near low enough to qualify as real-time streaming.
ANT Media’s main selling point is their cheap pricing.Their non-hosted solution is listed at $49 per server instance. Additionally, those teams that lack the resources to maintain their own servers will appreciate their hosted solution. ANT’s website displays that when using WebRTC they are able to provide an expected latency of 500 ms or less. While this all sounds good on the surface, cutting costs can have consequences.
Importantly, scalability is a significant weakness for ANT Media. Their Large Enterprise Instance hosted package limits you to 8 concurrent broadcasters and 400 HLS (high latency) subscribers. WebRTC subscribers are confined to only 300 clients. Such a low cutoff puts a big restriction on growing your application. However, they do offer a Custom Scalable Cloud with a “flexible” number of viewers and publishers.
That’s not the only place where ANT Media fades in comparison to other options. Like Red5 Pro, ANT Media built their platform on top of the Red5 open-source software. However, there is a distinctive difference in that our team at Red5 Pro retains control of the open-source Red5 code. This means that as new features and optimizations are added, we update the open-source as well. This ensures that both the Red5 open source and Pro systems maintain parity and synch together seamlessly to minimize any conflicts or regression bugs.
By not building the software from the ground up, customer service can be negatively affected as well due to the fact that ANT Media won’t have the same understanding as Red5 Pro has.
Without any direct contributions to Red5, ANT Media cannot promise consistent functionality. More importantly, they are limited in their ability to innovate new features simply copying those our team has already implemented. Without progressive development, this lack of originality results in slow product features and/or updates at best and outright dysfunction at worst. As is often said, “You get what you pay for.”
As stated in our tagline, we provide live streams to millions of concurrent users with milliseconds of latency. This is achieved through the use of WebRTC to deliver sub 500 milliseconds of end to end latency. However, we standout from the rest in that we can support that real-time latency to every user connected to the software. Furthermore, our hosting agnostic solution leverages cloud providers, avoiding a service trap by granting you a great degree of flexibility over your back-end architecture. With full-featured SDKs for iOS and Android you can get the same performance with mobile devices.
As with anything customizable, there may be some additional configurations to get everything working as needed. Our extensive documentation will help address your custom needs. For anything not covered in the docs, our knowledgeable and responsive technical support will help you troubleshoot the issue and our custom work contracts can have us build out everything to your specifications.
Though we don’t currently provide a hosted solution, we are working on one so keep an eye out for a future announcement about that. Those looking for a hosted solution right now, we also offer an Enterprise Plan where we can set up and manage your account for you. That way you still have the flexibility and security of running your own servers without having to do any additional maintenance.
To explore everything we can do check-out our ultra low latency video streaming demo and sign-up for a 30-day free trial.
Of course, if you think we’re leaving something out (or are just plain wrong), please let us know! Send an email to firstname.lastname@example.org or schedule a call. We are always looking to improve.