As the number of viewers abandoning traditional satellite and cable services reach new heights each year, video content owners and broadcasters think over new ways to meet speedier delivery of live productions.
In order to generate faster delivery of live video streams, we need to first simplify the process concerning the delivery of HTTP-based streaming media. This can be possible through CMAF.
In this blog, we are going to shed light on what CMAF means, its significance in the OTT industry and the way it works. So, let’s get started.
What is CMAF?
Common Media Application Format (CMAF) is basically a new format to simplify delivery of HTTP-based streaming media. It is an emerging standard to help reduce cost, complexity and latency issues that content owners or broadcasters face while streaming live or on-demand content.
What led to the emergence of CMAF?
Initially, online videos were mostly delivered through RTMP (Real-Time-Messaging Protocol). Although RTMP is still used today, it is not a popular streaming protocol as the Flash plugin has been depreciated over the years.
As a result of the declining status of RTMP, other HTTP-based (Hypertext Transfer Protocol) technologies for adaptive bitrate streaming were developed out of which HLS and MPEG-DASH was accepted as the most widely supported and popular streaming standards.
However, different streaming standards requires different file containers- while MPEG-DASH uses .mp4 containers, HLS streams are delivered in .ts format.
So, any content owner or broadcaster who wants to reach out to a wider audience must encode and store the same video file twice since encryption creates completely different sets of files.
These two versions of the same video stream either has to be done ahead of time or on-the-fly. Both of these procedures require additional storage and processing costs.
In order to do away with such a complex procedure, Apple and Microsoft proposed the Moving Pictures Expert Group to create a new uniform standard called the Common Media Application Format (CMAF), for reducing complexity when delivering video online.
Why do we need CMAF?
Streaming live videos involve a lot of technicalities. And various codecs, media formats, protocols and endless variety of streaming devices make this job even more complex. To top it all, compressing files in different media formats make this already complicated process slower and expensive.
For catering to a larger audience base, content owners need to create multiple copies in different file containers of each rendition of a stream. Not to mention the sheer number of varying container files like .mp4, .ts, .wma, .mov, .mpeg and so on.
So, these same files, representing the same content cost almost double the amount for packaging, storing and competing with each other on CDN servers for space, thereby reducing efficiency.
This is where the importance of CMAF comes in. CMAF as a standard streaming format across all playback platforms is one step closer to single-approach encoding, packaging, and storing. So, CMAF makes the job of streaming videos much less exhaustive and complex.
Can CMAF improve Latency?
Yes, it can.
Let’s get this straight- years ago, when HTTP-based video delivery ousted RTMP, it still lacked the capacity to deliver video streams in real-time. But with CMAF, achieving low latency videos is a possibility. In fact, CMAF can drop end-to-end delivery time to less than three seconds. How is this possible? The answer is chunked encoding.
According to Akamai, “Chunked-based encoding and transfer is a viable solution for low-latency delivery to end viewers across a range of use cases, including OTT.”
Chunked Encoding with CMAF
It is possible for CMAF to reduce latency through chunked encoding and chunked transfer encoding. Chunked encoding is the process of breaking the video stream into smaller ‘chunks’ so that these chunks can be published immediately after encoding. Needless to say, smaller chunks take lesser time to encode and these chunks can be published while consecutive chunks are still being processed at the back-end. This entire process reduces latency and makes delivering near-real-time videos a possibility.
Until the advent of CMAF, video streaming would happen in this way- a full segment would get encoded which would then be sent to the CDN. Once the CDN received the full segment, it would transfer it to the player. This process took time.
With chunked encoding system, encoded chunks is transferred to the CDN for immediate playback. Each chunk is sent and received down the chain in an independent way. When each segment is divided into smaller chunks, it makes it easier for the encoder to encode and distribute them for delivery.
Chunked Transfer Encoding With CDN Support
For faster movement of these chunks, the CDN must support end-to-end chunked transfer encoding. It must be noted here that chunks can be sent to the player immediately once they are available since CDN servers cannot detect the final size of the complete media file. The process of chunked transfer encoding stops automatically once a zero-length chunk is sent.
Low Latency CMAF Player
The final step is achieved when the video stream is pulled into the player. The video player is able to request yet-to-be-processed segment in the back-end while the video is still being played in the front-end. This ensures continuous playback with zero buffering.