Skip to content

Fundamentals

How Streaming Actually Delivers a Video

Streaming does not send you a file. It sends thousands of small pieces and decides which quality to fetch next while you watch. That design explains buffering, quality shifts and why seeking is instant.

3 min read · Published 24 August 2026

A streamed video is not a file being sent to you slowly. It is a large number of short pieces, fetched one after another, with a decision made before each one about which quality to ask for.

Once you know that, several everyday behaviours stop being mysterious.

Segments

The video is cut into segments, typically two to ten seconds each. Every segment exists at every quality the service offers, so a one hour video at six qualities is thousands of small files rather than six large ones.

A manifest lists them all: what qualities exist, what bitrate each needs, and where every segment lives. The player reads that first, which is the brief pause before anything appears.

The decision made before each segment

The player measures how fast the last segments arrived and how much video it has buffered, then picks the quality for the next one. Downloads outrunning playback means it can afford to step up. A buffer draining means step down now.

This is why quality visibly changes mid-video, and why it often starts low and improves after a few seconds: the player had no measurement yet and began conservatively rather than risk stalling immediately.

What you seeWhat the player is doing
Starts blurry, sharpens after a few secondsBegan cautiously, then measured the connection
Drops quality mid-sceneBuffer fell, or throughput dropped
Buffering wheelBuffer emptied before the next segment arrived
Seeking is instantIt jumped to a different segment rather than downloading forward
Sound continues while picture degradesAudio is a separate stream and was never switched

Why keyframes matter here

Every segment has to begin with a keyframe, because a player switching quality starts decoding a segment it has no history for.

This forces the keyframe interval to align with the segment length, which is why streaming encodes use short intervals of a second or two. It costs some efficiency and buys the ability to change quality at any segment boundary without a visible break.

Why audio and video are separate

The streams are delivered independently, which is what lets the picture drop to a lower quality while the sound continues untouched. Audio is small and interruptions in it are far more noticeable than a softer picture, so it is protected.

It also means one audio stream serves every video quality, and additional languages cost only their own small streams rather than a full set of new video files.

HLS and DASH

Two standards doing the same job. HLS came from Apple and uses playlist files; DASH is the open standard and uses an XML manifest. Both cut video into segments, list qualities, and let the player choose.

Most services ship both, because Apple devices historically required HLS and everything else preferred DASH. The difference matters to whoever builds the player and to essentially nobody else.

What this means when something goes wrong

  1. Constant buffering at every quality is throughput, not the service. The player is already stepping down and still cannot keep up.
  2. Buffering only at the highest quality is normal and is the system working: your connection cannot sustain that tier.
  3. Stuck at low quality on a fast connection usually means an early bad measurement. Reloading gives the player a fresh start.
  4. Sound fine, picture terrible is the separate streams doing exactly what they were designed to do.

There is no single file behind a stream to be had at full quality. The highest tier is a real set of segments, and it is what the player fetches when your connection supports it. Quality is a delivery decision made continuously, not a property of one download.

Common questions

Why does streaming quality change while I watch?

The player chooses a quality before every segment based on how fast recent ones arrived and how much it has buffered. Changing conditions produce different choices, which you see as the picture improving or degrading.

Why does a video start blurry and then sharpen?

The player had no measurement of your connection yet, so it started with a low tier rather than risk an immediate stall, then stepped up once it knew what the connection could sustain.

Why is seeking in a stream instant when seeking in a file is slow?

Because the player simply requests a different segment rather than decoding forward from a keyframe. Every segment is independently fetchable, which is the whole point of cutting the video up.

Why does the sound keep playing when the picture goes bad?

Audio and video are delivered as separate streams, and the player switches video quality without touching audio. Interruptions in sound are far more noticeable, so it is deliberately protected.

Tools for this

Everything below runs in your browser. No file leaves your machine.

Video Bitrate Calculator

Find the bitrate to fit a size limit

Related reading