CMAF Streaming Specification: One File for HLS and DASH
Modern video platforms must deliver content to many devices, browsers, and network environments. Smartphones, smart TVs, browsers, and security systems all expect slightly different streaming formats. For years, this created a technical challenge for streaming providers because they often had to prepare separate video files for different protocols.
Two adaptive streaming protocols dominate the market today: HLS and MPEG-DASH. Each uses its own manifest structure and historically required separate media packaging. Maintaining two parallel pipelines increased encoding costs, storage requirements, and system complexity.
The Common Media Application Format, known as CMAF, was introduced to solve this fragmentation. CMAF makes it possible to package video once and deliver it to both HLS and DASH players. As a result, streaming platforms can simplify their workflows while improving efficiency and latency performance.
Meaning
CMAF stands for Common Media Application Format. It is an international media packaging specification developed by MPEG and standardized as ISO/IEC 23000-19.
The goal of CMAF is to create a single format for segmented media delivery across multiple streaming protocols. Instead of producing separate video segment formats for HLS and DASH, a CMAF workflow allows the same media segments to be reused by both protocols.
This does not replace HLS or DASH themselves. Those protocols still control how players request media segments through their manifest files. CMAF focuses on the structure of the media files and how they are segmented for streaming.
In practical terms, CMAF allows streaming platforms to encode video once, store one set of segments, and distribute them to different playback environments without duplicating the media.
How CMAF works
CMAF organizes video into small chunks called segments and fragments. These segments are stored using a container format derived from the fragmented MP4 standard. Each segment contains a portion of the video and audio streams encoded at a particular bitrate.
During playback, the streaming protocol selects the appropriate segments based on network conditions. The player reads a manifest file such as an HLS playlist or a DASH MPD file and requests the needed segments from a server or CDN.
Because CMAF segments follow a standardized structure, both HLS and DASH can reference the same files. The only difference lies in the manifest that describes them. This approach removes the need for duplicate packaging.
The result is a shared media layer that supports multiple delivery protocols without maintaining separate video assets.
CMAF standards
The CMAF specification defines several important elements that ensure interoperability across streaming platforms.
One key component is the CMAF segment format. It standardizes how media fragments are stored in the MP4 container so that players can decode them consistently.
The specification also defines encoding constraints called CMAF profiles. These profiles determine which codecs, bitrates, and packaging rules are allowed in order to maintain compatibility across devices.
Another element is chunked encoding, which allows media fragments to be transmitted before a full segment is complete. This capability is essential for low-latency streaming workflows.
Together, these standards ensure that different vendors and streaming systems can produce media files that work across a wide range of players.
Key benefits
CMAF offers several advantages for streaming platforms and video service providers.
The most visible benefit is workflow simplification. Instead of maintaining separate HLS and DASH media segments, providers can store a single set of CMAF segments and reference them from both protocols.
Storage requirements are reduced because duplicate files are eliminated. Encoding pipelines also become more efficient since the same media output can serve multiple delivery formats.
CMAF improves caching efficiency as well. Content delivery networks can store and distribute a single set of media segments, increasing cache hit rates and reducing bandwidth consumption.
The format also supports modern codecs and encryption methods, making it suitable for commercial streaming services, OTT platforms, and enterprise video systems.
Low-latency streaming with CMAF
LL-CMAF vs. Standard HLS
Traditional HLS streaming relied on relatively large segments that introduced delays of 20 to 30 seconds. This latency was acceptable for video-on-demand but problematic for live events and interactive applications.
CMAF introduced the concept of smaller chunks within segments. These chunks can be delivered to the player before the full segment is completed. As a result, playback can begin earlier and latency can be significantly reduced.
This method is often referred to as LL-CMAF, or Low-Latency CMAF. It allows streaming systems to deliver live content with delays as low as two to five seconds depending on configuration.
Apple later introduced Low-Latency HLS using a similar chunked approach, which works particularly well with CMAF segments. This convergence means that both HLS and DASH can achieve comparable low-latency performance using the same underlying media files.
CMAF implementation
Implementing CMAF usually involves updating the encoding and packaging stages of a streaming pipeline. The video is encoded into multiple bitrate levels using modern codecs such as H.264, H.265, or AV1.
The encoder then produces fragmented MP4 segments that comply with CMAF specifications. These segments are stored on a server or CDN and referenced by both HLS and DASH manifests.
Many modern streaming tools already support CMAF packaging. Media servers, cloud transcoding platforms, and OTT infrastructure often include built-in CMAF workflows.
Player support has also improved. Most modern web players, mobile platforms, and smart TV applications can handle CMAF-based streams without special configuration.
CMAF vs HLS vs DASH
CMAF is often misunderstood as a streaming protocol. In reality it sits beneath HLS and DASH in the delivery stack.
HLS and DASH define how the player requests video segments and adapts to network conditions. CMAF defines how those segments are structured and packaged.
This layered approach allows streaming platforms to combine the strengths of both protocols. HLS remains essential for Apple devices and ecosystems, while DASH provides strong support in browsers and Android environments.
By using CMAF segments underneath both protocols, providers can reduce complexity and maintain a single media library that works everywhere.
In modern streaming architectures, CMAF acts as the bridge that brings different streaming ecosystems together.
FAQs