Inside Netflix's Adaptive Bitrate Engine: How Streams Survive Bad Networks

Khanh Nguyen
Khanh Nguyen
(Updated: )
Listen to this article0 / 0
Editorial vector illustration of a network server unit flowing into video ribbons that connect to a tablet screen. Photo: AI/BytePith

On January 26, 2026, Netflix switched on variable bitrate encoding for every live event it streams. The change is small on its own, but it sits on top of a much older engineering stack built for one job: keep the picture clean when the network isn't.

A Bitrate Ladder Built Per Title, Then Per Shot

Every Netflix title is encoded into a set of versions at different resolutions and bitrates, called a bitrate ladder. In 2015, Netflix stopped using one fixed ladder for every title and started testing dozens of resolution-and-bitrate combinations per title to find the specific rungs that gave the best picture at each bitrate. At the time, those bitrate-and-resolution decisions were driven by PSNR, a simpler fidelity measure, while Netflix's own perceptual metric, VMAF, was still being validated internally, according to an interview with the engineer who led the project.

By 2018, Netflix pushed the same idea further down to the level of individual shots rather than whole titles, in a system it calls the Dynamic Optimizer. A fast-cut action scene and a static dialogue scene in the same movie no longer share an encoding recipe. VMAF, by then mature enough to trust, became the direct optimization target. Netflix's own results, cited in a Streaming Media review of the project, show the payoff: at matched VMAF quality, the shot-based approach cut required bitrate by roughly 28% for H.264, 33% for H.265, and 38% for VP9 compared with the older per-title ladders.

That progression, from one ladder per title to one recipe per shot, is worth naming because Netflix never announced it as a single roadmap. Reading the 2015, 2017, and 2018 posts together shows a pipeline getting more granular in time, not just better at compression: every step spends its computation on a smaller slice of video to avoid wasting bits on scenes that don't need them.

Bitrate reduction from Netflix's shot-based Dynamic Optimizer Horizontal bar chart showing the percentage bitrate reduction Netflix achieved at equal VMAF quality, by codec, after adopting shot-based encoding. Same Quality, Less Bitrate Bitrate cut at equal VMAF score, by codec, after Dynamic Optimizer 0% 10% 20% 30% 40% x264 28.0% VP9 (libvpx) 37.6% x265 33.5% Source: Netflix Technology Blog, "Dynamic Optimizer: A Perceptual Video Encoding Optimization Framework"

The Player Decides, Not the Server

A finished bitrate ladder only matters once a device is playing it back. Netflix's client software, running on a phone, a browser, or a TV, downloads video in short chunks and repeatedly checks two things: how full its playback buffer is, and how fast the last few chunks arrived. Using those two numbers, it picks the highest rung in the ladder it can download faster than it plays back, then requests the next chunk at that rung. Netflix's own engineering write-up on adaptive audio confirms the same pattern applies beyond video: bitrate "varies and can adapt periodically" during playback, chosen by the client rather than fixed at the start of the stream, according to Netflix's account of building high-quality adaptive audio.

This client-side autonomy is easy to underestimate. One detailed engineering breakdown of Netflix's playback system describes it directly: the server offers a menu of quality options, and the player, watching its own network in real time, is the one that orders from it, according to an engineer's public account of Netflix's system design. That division of labor is what lets the same encoded catalog serve a phone on patchy mobile data and a television on gigabit fiber without either device waiting on a central server to notice trouble.

The client-side chunk request loop in adaptive bitrate streaming Flow diagram showing the player checking its buffer and throughput, comparing bitrate ladder rungs, and requesting the next chunk, repeated every 2 to 6 seconds. The Player Decides, Not the Server This loop repeats roughly every 2 to 6 seconds of playback Player checks buffer and current throughput Compares options in the bitrate ladder Requests next chunk from nearest OCA Quality adjusts before playback stalls Source: Decision logic and cadence per Netflix engineering and public ABR documentation

Where the Video Actually Comes From: Open Connect

None of this matters if the chunk has to cross the open internet to reach the player. Netflix decided in 2011 to build its own delivery network rather than lean solely on commercial CDNs, a choice it later described in its own account of working with ISPs worldwide. The result, Open Connect, places Netflix-owned appliances called OCAs directly inside ISP networks or at internet exchange points, offered to qualifying ISPs at no charge, with Netflix's control plane running separately in AWS while the OCAs themselves handle the actual HTTP video delivery. By 2017, Netflix's engineering team had pushed a single appliance to sustain 100 Gbps of throughput, detailed in its writeup of that project.

Live streaming complicates this design because a live event can't be pre-positioned onto every OCA the way a catalog title can be cached in advance overnight. That gap is part of why the January 2026 VBR rollout matters: Netflix is now also testing whether devices can size their bitrate decisions around the real, variable byte size of upcoming segments instead of a nominal label, and is experimenting with reserving less server capacity than the old fixed-bitrate assumptions required, according to Netflix's own account of the rollout. Netflix has not yet published how much capacity headroom that discount actually frees up, so the scale of the benefit remains unconfirmed.

Milestones in Netflix's own CDN and encoding pipeline, 2011 to 2026 Timeline of four sourced Netflix engineering milestones from building Open Connect in 2011 through variable bitrate for all Live events in 2026. Fifteen Years of Squeezing the Same Pipe Harder Selected, dated milestones from Netflix's own engineering posts 2011 Netflix decides to build its own CDN 2017 Netflix reports 100 Gbps from a single OCA 2018 Shot-based Dynamic Optimizer ships 2026 VBR rolls out to all Live events (Jan 26) Source: Netflix TechBlog and About Netflix, dated posts cited in the article

Taken together, the three layers explain why a Netflix stream rarely just stops: a shot-tuned ladder gives the player fine-grained options, the player itself watches the network and switches rungs on its own, and the video sitting behind those options is usually one hop away inside the viewer's own ISP rather than across the open internet. The live-streaming push into variable bitrate suggests Netflix is still finding places to apply that same discipline, even in the one part of its catalog it can't cache ahead of time.

Comments (0)

Sort by:

No comments yet.

Be the first to share your perspective on this topic.