Key takeaways
- One set of fMP4 segments serves both HLS and DASH clients.
- Reduces storage and bandwidth costs by eliminating duplicate segment files.
- Simplifies the packaging pipeline by removing protocol-specific fragmentation.
- Supports advanced features like low-latency streaming and DRM integration.
How CMAF works
CMAF standardizes the container format for adaptive bitrate streaming. Instead of creating separate TS segments for HLS and fMP4 segments for DASH, the encoder produces a single stream of fragmented MP4 segments. These segments contain the video, audio, and subtitle data in a universal format.
The packaging layer then wraps these fMP4 segments into the required protocol structures. For HLS, it adds the M3U8 playlist. For DASH, it adds the MPD manifest. The underlying media segments remain identical. This approach relies on the fact that modern players can decode fMP4 segments regardless of the delivery protocol.
CMAF also defines how to handle specific features like encryption and key rotation. It supports Common Encryption (CENC), which allows DRM systems to protect the media content. Because the segments are standardized, Just-in-Time Packaging can efficiently generate the necessary manifests on the fly without re-encoding the video. This makes CMAF a core technology for modern, efficient streaming infrastructure.
Why CMAF matters for a streaming business
For operators, CMAF directly impacts cost and complexity. Storing and delivering separate segment sets for HLS and DASH doubles your storage footprint and increases egress bandwidth usage. By using CMAF, you store one set of segments and serve them to all clients. This reduces your infrastructure bills significantly.
It also simplifies your pipeline. You do not need to maintain two separate packaging jobs. This reduces the risk of synchronization issues between protocols. If you support both Apple and Android devices, CMAF keeps a consistent viewing experience.
From a technical standpoint, CMAF enables easier adoption of new features. For example, Low-Latency HLS (LL-HLS) and DASH-IF Low Latency both benefit from the fMP4 structure. This means you can implement low-latency features more easily when your base segments are already in CMAF format. It is a foundational choice that pays off in operational efficiency and future-proofing your platform.
Common mistakes with CMAF
- Assuming all players support CMAF: While most modern players do, some legacy devices or older browser versions may still require TS segments for HLS. Always test your target device matrix.
- Ignoring encryption compatibility: CMAF works best with Common Encryption (CENC). If your DRM provider or player does not support CENC, you may face playback issues. Verify end-to-end compatibility.
- Overlooking manifest generation: CMAF segments are universal, but the manifests (M3U8/MPD) are protocol-specific. Make sure your packaging layer correctly generates both manifest types from the same segment set.
- Neglecting segment duration alignment: While CMAF allows variable segment durations, keeping them consistent across audio and video tracks helps prevent buffering issues and sync problems.
How Flicknexs handles CMAF
Flicknexs uses adaptive bitrate transcoding to produce CMAF-compatible fMP4 segments. This allows a single set of segments to serve both HLS and DASH requests. The platform supports AES encrypted HLS and DRM delivered at the delivery layer, keeping secure playback across devices. By standardizing on CMAF, Flicknexs reduces storage overhead and simplifies the packaging process for your content. This approach supports efficient delivery across web, iOS, Android, and smart TV apps. It also facilitates the integration of standard HLS adaptive bitrate delivery with 1080p standard. Explore our Custom OTT platform development services to learn more.
Done reading about CMAF?
Flicknexs ships it as part of a white-label streaming platform: web, mobile and TV apps, billing, ads, DRM and playout, on your own domain.