Video & media
Streaming playback - the bytes were already next to you
Manifest, adaptive bitrate, edge appliances and pre-positioned content
What this board gets wrong on purpose
The tension
Content is pre-positioned before anyone asks for it, so every edge appliance holds 200 TB of a 8 PB catalogue - 2.5 percent - chosen by a popularity model that is wrong for a whole country the day something unexpected trends, and every wrong guess is bandwidth paid for content nobody watched plus an origin fetch for the content they did. And the second-by-second decision that actually determines whether playback looks good is made by the CLIENT, from a throughput estimate that is always a few seconds stale: the player switches down after the buffer has already drained, which is why a rebuffer is usually visible in the telemetry a full ten seconds before the viewer sees the spinner.
1. Requirements
Playback is judged on three numbers a viewer can feel: how long from pressing play to the first frame, how often it stops, and whether it looks like the television it is being watched on. Everything here is in service of those three.
Functional
- A viewer presses play and gets a first frame in under two seconds on a broadband connection.
- Playback adapts to the network continuously, without stopping, across the whole bitrate ladder.
- Only titles licensed in the viewer country and period are playable, and a device is only offered codecs it can actually decode.
- A DRM licence is issued per session per device and is revocable.
- Resume where you stopped, on a different device, within seconds of stopping on the first.
- Content is positioned close to viewers before they request it, and the positioning decision is measurable after the fact.
Non-functional
- Start-up latency p95 under 2 seconds; rebuffer ratio under 0.2 percent of playing time across the fleet.
- Playback API availability 99.99 percent. It runs once per session, so an outage here stops new sessions - people already watching do not notice for 45 minutes.
- Data plane availability is effectively 100 percent by construction: many edges, and a client that fails over to another one mid-stream without a visible pause.
- Cost per gigabyte delivered is a first-class metric, tracked per ISP, because it is the difference between a viable business and an unviable one.
- No licence, key or manifest may be cacheable at a shared cache. The bytes are shared; the permission to play them never is.
Questions to ask before designing this
- What is the concurrency peak, not the DAU? Every number that matters on this board - bandwidth, appliance sizing, API capacity - falls out of concurrent streams, and the ratio of peak concurrency to DAU varies by a factor of three between countries.
- Do we own CDN capacity or rent it? This single answer changes the architecture more than anything else on the page, because it decides whether pre-positioning is free or billed.
- How big is the catalogue in hours, and how many encodes per hour? 8 PB against 80 PB is the difference between an appliance holding 2.5 percent of the library and holding a rounding error.
- What fraction of viewing is the head? If the top 500 titles are 80 percent of hours, pre-positioning works. If the tail is fat, most of this design is wasted money.
- Is offline download in scope? It changes DRM from a session-lifetime problem to a persistent-key problem, which is a different security posture entirely.
- What device classes must be supported? A ten-year-old television that only decodes H.264 at 1080p forces every title to keep an H.264 ladder alive forever, and that is a permanent line on the storage bill.
The rest of this board
Available on Tier Slate
This page publishes the question. The answer — 5 more written pages, an 11-step narrated walkthrough and a 5-table schema — is the board itself, and it opens in Tierslate.
- 5written pages
- 11walkthrough steps
- 5tables32 columns
5 pages behind this one
- Capacity estimation
- Storage estimation
- Availability
- How it works
- Deployment plan
More boards
Upload, transcode, deliver - and pay for the bandwidth.