Content Steering (vs DNS)
The HLS/DASH standard that lets a player ask which CDN to use next, mid-stream — and how it complements DNS steering.
What it is
Content Steering is a standardised mechanism in HLS and DASH where the player periodically fetches a small steering manifest that tells it the preferred CDN order. Because the player re-asks between segments, it can move to a healthier CDN mid-stream without reloading or interrupting playback.
m-cdn runs a Content Steering server that emits this manifest per service, including HLS Pathway Clones and a DASH JSON equivalent.
Steering vs DNS — two layers
DNS steering decides at connection time: when the player resolves the hostname, it is handed the current best CDN. It is coarse (per-resolution, cached by TTL) but works with any player, no integration required.
Content Steering is fine-grained: it moves an already-playing session between CDNs segment-by-segment, but it needs a steering-aware player. The two are complementary — DNS places the viewer well at the start, steering keeps them on the best CDN as conditions change.
How m-cdn uses it
The Decision Engine writes a CDN preference order each tick; the steering server publishes it, and the steering TTL controls how quickly players re-ask. A shorter TTL reacts faster to a CDN going bad at the cost of more steering requests.
Standards & references
- HLS Content Steering — RFC 8216bis / Apple HLS spec
- DASH-IF Content Steering