What is CMAF?
Common Media Application Format (CMAF) is a new-age, disruptive format used to streamline the end-to-end delivery of HTTP-based streaming content. The primary goal of CMAF is to provide a standardized streaming container for content owners or broadcasters to reduce streaming costs, lower latency, and eliminate workflow complexity when publishing linear media or on-demand content.
Formalized as ISO/IEC 23000-19, CMAF was introduced by Apple and Microsoft following Adobe's 2020 announcement regarding discontinuation of support for the Flash Player.
With dependence on Flash's Real-Time Messaging Protocol (RTMP) declining, the spotlight shifted to HTTP-based (Hypertext Transfer Protocol) technologies to facilitate adaptive bitrate streaming with support for a wide range of file containers and formats.
Why? Because different video formats use different containers to ensure adaptive streaming. For instance, MPEG-DASH protocols rely on .mp4 containers, HLS uses the .ts format, and so on.
This implies that for content owners to target a broad audience base, they had to encode and store video streams in two different versions to simplify online video transmission.
However, doing so attracted significant storage and maintenance costs.
As a result, Moving Pictures Expert Group created a uniform streaming standard—dubbed as the CMAF format—to reduce latency issues and workflow complexity when streaming live and VoD content.
How does CMAF work?
CMAF uses a two-step process to simplify content delivery:
- Chunked Encoding: CMAF was developed with the aim to reduce latency—an industry-wide goal that is achieved with the help of chunked encoding and chunked transfer encoding processes. It essentially involves segmenting digital content into smaller, more manageable chunks having a fixed duration—which can be published without delays upon encoding. In this manner, content publishers can accomplish near-real-time delivery of content as the encoding process progressively processes chunks of video.
- File Encryption and Digital Rights Management: Similar to the issue of non-uniformity wrt different media formats that exist in the video streaming industry, there is another incompatibility that needs to be addressed—File Encryption and Digital Rights Management (DRM). As more and more content is being published online, there is a need to protect the copyrights holders' rights to prevent content from unauthorized access, distribution, and modification. CMAF effectively upholds encryption systems due to its support for most major DRMs (FairPlay, PlayReady, and Widevine).
Low latency CMAF
Since video streams no longer have to be encoded and stored twice to facilitate adaptive bitrate streaming, it reduces dependency on additional procedures and simplifies the streaming workflow. In this manner, CMAF effectively eliminates latency issues and ensures speedy delivery of video content.
Specification of CMAF
Here's looking at the technical specifications of CMAF:
Why CMAF for video streaming?
CMAF addresses one of the most pressing concerns that bedevil the live video streaming industry i.e. latency.
It leverages what is termed ‘chunked encoding’ and ‘chunked transfer encoding’ to break down video content into small, more manageable segments that have a fixed duration. This ensures that video streams can be delivered in real-time chunk by chunk—which reduces latency since content delivery is no longer linked to segment length.
To add to its list of advantages, CMAF is one of the fastest and simplest ways to cut down costs. streamline server efficiency, and reduce workflow complexity. By reducing the number of files being packaged and decreasing the workload on the CDN, CMAF effectively cuts down encoding and storage costs and increases efficiency.
Before CMAF was developed, Apple’s HLS streaming protocol depended on the .ts (MPEG-TS) or MPEG container formats while HTTP-based technologies like DASH relied on MP4 or .mp4 (fMP4).
With the emergence of a standardized transport container and Common Encryption (CENC), Microsoft, Apple, and other industry players have now agreed to deliver content across the HLS and DASH protocols using the fragmented MP4 (.fmp4) container only. Since .fmp4 is closely interlinked to CMAF, the transition to the latter does not require tremendous effort.
Another added benefit of CMAF is that it streamlines the interoperability of DRM (Digital Rights Management) solutions with the help of MPEG-CENC (Common Encryption).
Advantages of CMAF streaming
Here's looking at the benefits of embracing a video streaming ecosystem that is CMAF-compliant:
- Reduced costs – With media files being packaged in the same container formats, there is no need to create different content renditions to ensure compatibility with different streaming formats. This significantly cuts down repackaging and CDN maintenance costs—thereby presenting a cost-effective solution to deliver streaming content.
- Simplified workflow – Since CMAF allows common encryption (CENC), you needn't encrypt data more than once. Plus, reliable DRM solutions can quickly and easily decrypt encrypted data—thus, eliminating unnecessary operational complexity.
- Low latency – A key advantage of CMAF streaming is that video publishers can leverage chunked encoding to ensure speedy delivery of content.
CMAF has emerged as a game-changing technology in the streaming industry given its ability to cut down operational costs and boost content delivery speed.
With platforms like Gumlet providing support for a wide range of video formats such as MP4, MOV, and CMAF as well as streaming protocols such as HLS and DASH, content distributors can effectively eliminate latency issues which can be tracked using latency metrics and streamline HTTP-based media delivery.
1. What is CMAF specification?
CMAF specification enables the creation of a single media file that can be used across multiple streaming services, eliminating the need to encode multiple versions of a file for different streaming services.
2. What codecs does CMAF support?
CMAF supports AVC, HEVC, and VP9 video codecs. HE-AAC, AAC-LC, and HE-AACv2 are the audio codecs that it supports.
3. What is the difference between CMAF and Dash?
The main difference between CMAF and Dash is that CMAF is a container format, while DASH is a streaming protocol. CMAF is a media container that stores video streams in different formats and codecs. At the same time, DASH is a streaming protocol that can deliver streaming media over the Internet.
4. What is CMAF vs WebRTC?
CMAF and WebRTC differ because CMAF is a standard format for delivering streaming media at low latency. At the same time, WebRTC is an open-source browser-based real-time communication (RTC) technology. CMAF enables the delivery of media assets over the internet, while WebRTC provides audio, video, and data streaming within a web browser. CMAF provides high-quality streaming with low latency, while WebRTC is designed to be a low-latency, peer-to-peer communication technology.