Apple Low-Latency HLS: What It Is and How It Relates to CMAF

June 20, 2019 by

Apple Low Latency HLS What Is It and How It Relates to CMAF

 

At the Apple Worldwide Developer Conference (WWDC) a couple of weeks back, Apple announced the specs for a brand-new extension of their HTTP Live Streaming (HLS) protocol: Low-Latency HLS. While reducing latency for live streaming is a valiant goal (and one that we can get behind), this news interrupted an industry-wide effort to do so via chunked transfer encoding.

 

CMAF and the Race to Low Latency

It happened like this: Once upon a time, any content distributor wanting to reach users on both Apple and Microsoft devices had to encode and store the same audio and video data twice. That’s because Apple’s HTTP Live Streaming (HLS) protocol specified use of the .ts format, whereas Dynamic Adaptive Streaming of HTTP (DASH) almost uniformly used .mp4 containers.

Think of it like chargers for phones and computers. Androids and iPhones don’t use the same chargers, leading to more cords than necessary in an already cord-ridden world. Because Apple uses proprietary cables for proprietary ports, users are stuck going to the Apple store every time they lose a charger. The HLS protocol was like a proprietary charger for streaming to Apple devices. MPEG-DASH, on the other hand, worked for delivery to everywhere else.

Miraculously, Microsoft and Apple simplified everything by announcing a new standard called the Common Media Application Format (CMAF). This specification would use fragmented .mp4 containers that could be referenced by both HLS and DASH.

With CMAF vs. Without CMAF

This was great news. Content distributors no longer had to encode and store the same data twice. The single format would save broadcasters money and streamline video delivery.

What’s more, vendors across the industry started working together to reduce the latency of HTTP-based streaming with chunked encoding and chunked transfer encoding. By leveraging this technology, CMAF could be used to enable sub-three-second latency.

 

Industry-Wide Efforts to Decrease Latency

At Wowza, we got to work supporting low-latency CMAF. Teams at Akamai, JW Player, Fastly, and more had their noses to the grindstone with the same goal. This was important, because in order to work, vendors across the streaming ecosystem needed to optimize their products accordingly. We invited customers to sign up for early access to low-latency CMAF, and we got excited about the prospect of delivering streams to both Apple and Microsoft devices using chunked transfer encoding.

While Apple hadn’t committed to these efforts, the community was gung-ho. Periscope had written an article about the technology, Akamai’s Will Law had dedicated a ton of his time to chunked-encoded and chunked-transferred CMAF, and our own engineers had sat down with him to discuss how it would impact the streaming industry.

 

Then, Apple introduced Low-Latency HLS.

 

Low-Latency CMAF vs. Apple Low-Latency HLS

While the streaming community had been driving toward low-latency CMAF using chunked transfer encoding, Apple’s announcement clarified that they would be supporting a different low-latency technology for HLS. Although it’s not what we’d anticipated, we’re now dedicated to supporting Apple Low-Latency HLS.

Key Differences:

  1. Format: Apple Low-Latency HLS uses both fragmented .mp4 containers (CMAF) and the .ts format.
  2. Delivery: Rather than using chunked transfer encoding, Apple Low-Latency HLS uses HTTP/2 PUSH.

According to Apple’s Roger Pantos, latencies of less than two seconds can be achieved using Apple Low-Latency HLS. Some have doubts as to whether or not this will work at scale. Others have criticized Apple for choosing such a complex solution. Either way, we’d imagine there are still some kinks to iron out as this technology is implemented.

To help assist with this process, we’re getting to work. Wowza will support both Apple’s Low-Latency HLS and low-latency CMAF for DASH this year. And for the sake of brevity, we’re using the umbrella term HTTP Low Latency to encapsulate both specs.

 

Early Access to Low-Latency HLS

Request Access

We’re working to support Apple Low-Latency HLS and low-latency CMAF for DASH, both of which are expected to quickly become preferred technology for OTT, live sports, e-gaming, and interactive streaming.