Skip to main content

How Streaming Services Shrink a Whole Movie

A raw 1080p movie needs over a gigabit per second. Streaming fits it through your Wi-Fi by throwing away data your eyes will never miss — here's how.

By FactSpire Editorial6 min read
Glowing data blocks streaming from a router toward a huge cinema screen

Key takeaways

  • An uncompressed 1080p video stream carries roughly 1.2 gigabits per second — hundreds of times more than a typical stream's few megabits.
  • Encoders split each frame into macroblocks and store only motion vectors plus the tiny residual difference from a reference frame.
  • Chroma subsampling cuts color detail to a quarter of brightness detail, because human vision is far less sensitive to color.
  • Newer codecs keep squeezing: HEVC needs about 44% less bitrate than H.264, and royalty-free AV1 shaves off roughly another 20%.

Press play on a movie and data flows to your screen at a few megabits per second. But that is not the movie's real size. A raw high-definition video signal would need well over a gigabit per second — hundreds of times more. Everything you stream has been squeezed through one of the most clever data reductions in computing, and the trick is this: the encoder throws away the parts you were never going to see anyway.

How big is a movie before compression?

Do the arithmetic and the problem becomes obvious. One frame of 1080p video is 1,920 by 1,080 pixels — about two million pixels. Give each pixel 24 bits of color, and a single still image weighs in at roughly 50 megabits. Now send 24 of those frames every second, and you are pushing about 1.2 gigabits per second through the pipe. A two-hour film would be over a terabyte. No home connection handles that, so streaming is impossible without compression. The job falls to a program called a codec — coder-decoder. It shrinks the video before it is stored on the service's servers, and your device's decoder expands it back for display in real time. Nearly everything you watch online is compressed with lossy codecs: they accept small, invisible losses in exchange for enormous savings. Lossless compression, which preserves every bit, is reserved for archives and editing, because the files stay too large to stream. The codecs that matter have arrived in waves. H.264, standardized in 2003, remains the workhorse: it plays on virtually everything. HEVC (also called H.265, from 2013) reaches the same quality at roughly 44 percent less bitrate. Then came AV1, finalized in 2018 by the Alliance for Open Media — a group including Google, Netflix, Amazon, Apple, and Microsoft — which is royalty-free and shaves roughly another 20 percent off HEVC's bitrate. Netflix has reported that its AV1 sessions now use about a third less bandwidth than its H.264 and HEVC sessions. Each generation trades the same visual quality for fewer bits.

What does the encoder throw away inside each frame?

Advertisement

Video compression uses two families of tricks: shrinking single frames, and shrinking the differences between frames. The single-frame part starts with a fact about your eyes. Human vision is far more sensitive to brightness than to color detail, so the encoder converts each frame into a color space that separates the two: full-resolution brightness, plus color recorded at much lower resolution. This is chroma subsampling, and the standard 4:2:0 scheme cuts color detail to a quarter of brightness detail — half the horizontal resolution and half the vertical. Adjacent pixels that are nearly the same color get merged into one. The result is invisible in ordinary viewing, because your eyes simply do not resolve color that finely. It is the first big theft, and you never notice it happened. Each full "reference" frame — called an I-frame — is then compressed much like a JPEG photograph. Even here there are two steps. First, a mathematical transform called the discrete cosine transform converts each block of pixels into a sum of wave-like patterns at different frequencies. Then the quantizer rounds those numbers, discarding the fine detail in high frequencies that your eyes barely register. Finally, the rounded numbers get one last squeeze through a lossless coding pass. The I-frame still looks complete. It just quietly contains far fewer numbers than the original.

How do frames borrow from each other?

The real magic — and most of the savings — comes from the fact that consecutive frames of video are almost identical. Picture a newsreader on screen: the studio backdrop might not change for a full minute. Re-encoding it 1,440 times would be absurd. So modern codecs predict most frames from their neighbors instead of drawing them fresh. Here is how it works in H.264, the archetypal standard. The encoder divides each frame into macroblocks, squares of 16 by 16 pixels. For each block, it searches a reference frame for a matching patch of image. If it finds one — say, the same patch of wall, shifted three pixels left because the camera panned — it does not store the pixels. It stores a motion vector, a small set of numbers describing the shift, plus a residual: the tiny difference between the prediction and reality.

Advertisement

If a block did not change at all, almost nothing is stored. Frames built purely from predictions come in two flavors. P-frames predict from frames that came before them; B-frames are cleverer, predicting from both past and future frames, interpolating motion in between. B-frames are the smallest of all, but they need more computing power to decode. The codec's skill is deciding, block by block, which prediction will be cheapest — and when prediction is going wrong, it drops in a fresh I-frame to reset the whole chain. That is also why corruption in a bad stream lingers until the next I-frame arrives: every predicted frame is built on the broken one before it.

Who decides how much to squeeze?

Compression is not a fixed recipe — it is a negotiation between quality, bandwidth, and computing power, and the encoder makes thousands of these decisions per second. How aggressively to round, how far apart to space the I-frames, how much motion to search for: all of it trades file size against visible artifacts. Space the I-frames too far apart and predictive errors accumulate into ghostly smears; compress too hard and dark scenes break into blocky patches, the classic artifact of streaming at low bitrate. Services also adapt to your connection in real time. Adaptive bitrate streaming — using protocols like HLS and MPEG-DASH — prepares several versions of the same video at different qualities, and your player switches between them as your connection speeds up or slows down. When the picture briefly goes soft at the start of a movie, that is the player starting at a low-bitrate version and climbing as it measures your bandwidth. The fiber-optic cables carrying it all can move enormous amounts of data, but the last stretch to your device — especially on mobile — is where every bit counts. Behind the scenes, services even measure the trickery against human perception. Netflix built an open quality metric called VMAF, which estimates how viewers would judge the difference between a compressed video and the original. Encoders are tuned against scores like this, because the goal was never mathematical perfection — it is fooling your visual system. The whole pipeline lives on servers that encode each title many times over: different codecs, different resolutions, different bitrates, all waiting for players to request them. Those files sit in data centers around the world, and every version of every movie is the product of the same ruthless logic: keep what the eye can see, discard the rest, and never let the audience catch you doing it.

Advertisement

Frequently asked questions

Why does a 4K stream look better on some services than others?

Same resolution doesn't mean same quality — services use different codecs, bitrates, and encoders. A 4K stream might run anywhere from about 12 to 35 megabits per second depending on those choices.

What are I-frames, P-frames, and B-frames?

I-frames are complete standalone pictures, like JPEGs. P-frames store only changes from a previous frame, and B-frames predict from both past and future frames — the deeper the prediction, the smaller the file.

Does compression always reduce quality?

Technically yes, but good encoders discard only redundant or imperceptible detail — a static background, or color differences too small to see — so the loss is invisible at normal viewing distance.