Ingest, package, cache, deliver. Four stages, each observable on its own.
An origin publishes a playlist and its segments. The gateway accepts CMAF, TS and fragmented MP4.
Segments are re-indexed and, when requested, repackaged into HLS or DASH without re-encoding.
Objects land on the nearest edge with a short TTL. Cache state is reported per request.
Players pull over HTTP/2 or HTTP/3 with byte-range requests for fast seeking.
What the edge guarantees.
| Item | Value |
|---|---|
| Protocols | HTTP/1.1, HTTP/2, HTTP/3 (QUIC) |
| Formats | HLS, MPEG-DASH, CMAF, fragmented MP4 |
| Max object size | 512 MB per request |
| Playlist TTL | 2 s (live), 300 s (VOD) |
| Segment TTL | 30 s (live), 86400 s (VOD) |
| Purge propagation | < 3 s globally |
| TLS | 1.2 minimum, 1.3 preferred, ECDSA and RSA |
| Signed URLs | HMAC-SHA256, TTL from 30 s to 7 days |
| Log delivery | NDJSON webhook, batched every 10 s |
A single edge is promoted to shield for each region. Misses collapse into one upstream request per object, which keeps small origins from being overwhelmed during a live event.
Concurrent requests for the same segment are held behind a single upstream fetch and released together, so a thousand viewers cost one origin round trip.
If an edge loses its upstream it keeps serving cached segments and marks the region degraded rather than failing the playback session outright.
Every request carries an edge identifier, cache state and upstream timing, exposed both in the log stream and on the status page.