HLS
The adaptive streaming format that uses CMAF fmp4 segments with .m3u8 manifests
Single segments for both HLS and DASH delivery — eliminating duplicate storage.
Common Media Application Format (CMAF) is an ISO/IEC standard (23000-19) that defines a single media segment format — fragmented MP4 (fmp4) — compatible with both HLS and MPEG-DASH manifests. Before CMAF, serving both HLS and DASH required encoding two separate sets of segments: .ts files for HLS and .m4s files for DASH. CMAF eliminates this duplication by producing one set of fmp4 segments that work with both an .m3u8 (HLS) and .mpd (DASH) manifest. CMAF also supports Common Encryption (CENC), enabling Widevine, FairPlay, and PlayReady DRM from a single encrypted source.
Select a source video and click “Convert” to see CMAF output in action.
| Type | Segment format + packaging standard |
| File extension(s) | Typically served as .m4s |
| Supported video codecs | H.264, H.265 (HEVC), AV1 |
| Supported audio codecs | AAC |
| DRM support | All — Widevine, PlayReady via Common Encryption (CENC) |
| Adaptive bitrate | Yes — via HLS or DASH manifest layer |
| Typical use case | Unified HLS + DASH delivery, multi-DRM from single encryption, storage cost reduction |
Platform | CMAF | MP4 | HLS | DASH |
|---|---|---|---|---|
Chrome (desktop) | via MSE | via MSE | via MSE | |
Firefox (desktop) | via MSE | via MSE | via MSE | |
Safari (macOS) | via HLS | native | via MSE | |
Edge | via MSE | via MSE | via MSE | |
iOS Safari | via HLS | native | ||
Android Chrome | via MSE | via MSE | via MSE |
Qencode produces CMAF-compatible output by generating fmp4 segments with both HLS (.m3u8) and DASH (.mpd) manifests from a single encoding job. Enable CMAF by specifying the fmp4 segment format in your HLS or DASH output configuration.
Pair CMAF with DRM to encrypt once and serve to all DRM systems, or combine with Per-Title Encoding to optimize the bitrate ladder before CMAF packaging.
CMAF-compatible output for HLS
{
"query": {
"source": "https://your-storage.com/video.mp4",
"format": [
{
"output": "advanced_dash",
"create_m3u8_playlist": 1,
"stream": [
{
"video_codec": "libx264",
"resolution": 2160,
"optimize_bitrate": 1,
"framerate": "30",
"keyframe": "90"
}
],
"segment_duration": "6"
}
]
}
}
Copy this payload and use it with your API key to generate CMAF-compatible output from any video source.
View Parameter ReferenceCMAF (unified) | Separate HLS + DASH | |
|---|---|---|
Segment storage | 1 set of fmp4 | 2 sets (.ts + .m4s) |
Storage cost | ~50% less | Baseline (duplicated) |
Manifest support | Both .m3u8 and .mpd | Separate manifests per format |
Complexity | Moderate | Higher (two pipelines) |
Compatibility | Broad (requires fmp4-capable players) | Maximum (legacy .ts support) |
The adaptive streaming format that uses CMAF fmp4 segments with .m3u8 manifests
The open-standard format that uses CMAF fmp4 segments with .mpd manifests
Encrypt CMAF content once for FairPlay, Widevine, and PlayReady with Common Encryption
We love creating powerful solutions that are aligned with the needs of your business.
Please send us a message if you have a question or Schedule a call for a demo to discuss your integration.
Contact us with any questions. We'd love to help.
Los Angeles, CA - (HQ)
San Francisco, CA
New York, NY