Formats & DRM
Streaming formats
Section titled “Streaming formats”| Format | Android | iOS | Web |
|---|---|---|---|
| HLS (VOD) | ✅ | ✅ native | ✅ hls.js · native on Safari |
| HLS live & live-DVR | ✅ | ✅ | ✅ |
| HLS with MPEG-TS segments (legacy) | ✅ | ✅ | ✅ transmuxed by hls.js |
| DASH (VOD & live) | ✅ | — | ⏳ planned |
| Progressive (MP4 / WebM) | ✅ | ✅ MP4 / MOV | ✅ |
| fMP4 / CMAF segments | ✅ | ✅ | ✅ |
| Multi-bitrate ABR with quality menu | ✅ | ✅ | ✅ |
| Multiple audio renditions | ✅ | ✅ | ✅ |
| Embedded (in-manifest) subtitles | ✅ | ✅ | ✅ |
| Sideloaded WebVTT (incl. positioned cues) | ✅ | ✅ | ✅ |
| Storyboard VTT (trick-play sprites) | ✅ | ✅ | ✅ |
Codec support (H.264, HEVC, AV1, AAC, …) follows the device or browser — the players use the platform’s native decoders.
Not supported
Section titled “Not supported”| Format | Why |
|---|---|
| DASH on iOS | AVFoundation has no DASH pipeline — use HLS (CMAF lets one packaging serve both) |
| WebM on iOS | not an AVFoundation container |
| Smooth Streaming | legacy format, not included on any platform |
| RTMP / RTSP | contribution protocols, out of scope for a playback SDK |
| Low-latency HLS | engine support exists on all platforms, not yet certified by us |
DRM systems
Section titled “DRM systems”| DRM | Android | iOS | Web |
|---|---|---|---|
| Widevine | ✅ (default) | — | ✅ Chrome · Firefox · Edge · Android browsers |
| PlayReady | ✅ | — | ✅ Edge |
| FairPlay | — | ✅ | ✅ Safari (macOS / iOS) |
| ClearKey | ✅ | — | — |
On the web, one DrmConfig can carry all three systems — the SDK engages
whichever the visitor’s browser supports. Encryption schemes: cenc and
cbcs are supported wherever the platform supports them (CMAF/cbcs works
across all three, which is how one encrypted stream can serve every
platform).
Related: Multi-DRM guide · DRM tokens & renewal · error codes 4000–4005.