HLS: Because Apple Doesn’t Like Sharing

SHARE

Jetpacks have been a mainstay for starry-eyed dreamers and futurists for a long time. Despite the occasional story from some engineer a-la stunt-double, that potential continues unrealized, a mere daydream of all those frustrated commuters stuck in traffic. At Red5 Pro, we’re also focused on the future and strive to build it (albeit more concretely).… Continue reading HLS: Because Apple Doesn’t Like Sharing

Jetpacks have been a mainstay for starry-eyed dreamers and futurists for a long time. Despite the occasional story from some engineer a-la stunt-double, that potential continues unrealized, a mere daydream of all those frustrated commuters stuck in traffic.

At Red5 Pro, we’re also focused on the future and strive to build it (albeit more concretely). As such, we actively appraise and adopt ground-breaking technologies that have both real-world impact and promising potential. Take for example, our WebRTC implementation. WebRTC has been gaining widespread use and has made large strides in creating interoperability between browsers. With Apple’s progress on integrating WebRTC into WebKit, the possibility of a universal, plugin-free platform is looking more and more attainable. That’s the ideal; one protocol, no plugins, all platforms and free jetpacks for everyone.

However, the reality (as we all know) isn’t quite that simple, or endorphin stimulating. Not all emerging technologies are useful tools in our mission to provide low-latency live-streaming. MPEG-DASH is a protocol often claimed to be the solution to plugin-free streaming. However, there’s one problem; Apple. If you need to stream to Safari you can’t do it with DASH.

So what can be done? Enter HLS, a media streaming communications protocol implemented by Apple. HLS is supported on nearly all browsers, either natively or built into players with JavaScript. Furthermore, HLS now supports fragmented MP4 files, eliminating the need to multiplex playback into the traditional MPEG-2 Transport Stream. This is great news for anyone employing an OTT solution, as this will reduce your content storage needs by half, and makes HLS compatible with DASH and HTML5 (thus closer to an industry standard).

However, both HLS and MPEG-DASH are configured for HTTP streaming. As we’ve pointed out before, this adds inherent latency to the stream, making it less than ideal for projects that require low-latency. Even so, it’s better to have the Apple interoperability of HLS when DASH would be just as slow anyways.

With all that in mind, Red5 Pro has combined the low-latency of WebRTC with the adaptability of HLS. This was done through the creation of an HLS and Flash fallback built into our WebRTC implementation. As a proprietary platform, it is very unlikely that HLS will be discarded by Apple anytime soon. This indicates that HLS is the best and most reliable way to provide interoperability. With the addition of our mobile SDKs for Android and iOS, mobile devices can broadcast and subscribe to live-streams as well.

In summary, to get super low-latency video streaming, use WebRTC in browsers like Chrome, Firefox, and Edge, while integrating our SDKs for mobile devices. WebRTC with Red5 Pro will fallback to HLS when running on Safari, thus allowing for the highest degree of interoperability currently possible with a single application. Like the jetpack, the most practical days of MPEG-DASH lie somewhere in the unknown days of tomorrow. For today, this leaves the Red5 Pro’s implementation of WebRTC with HLS fallback as the best solution in the marketplace.

Interested in finding out more? Stop by our website and give us a call!