What is HLS Streaming?
HTTP Live Streaming delivers segmented media over HTTP through M3U8 playlists. A master playlist can describe multiple bitrate, resolution, audio, and subtitle renditions.
How HLS Streaming works
HLS is a client-driven adaptive delivery system: the player retrieves playlists, chooses a rendition, downloads media units, and revises its choice as conditions change. Because requests use HTTP, segments can pass through standard caches and content delivery networks. Live playlists expose a moving window, whereas on-demand playlists describe a stable finite presentation. The protocol connects encoded renditions to playback, with latency and resilience shaped by playlist updates, segment sizing, and client buffering.
Key facts
- 1A master playlist lists variant streams and rendition groups, while each media playlist orders the segments for one track or multiplexed presentation; confusing the two breaks discovery logic.
- 2The EXT-X-TARGETDURATION and media-sequence tags help clients interpret a live window. EXT-X-DISCONTINUITY is required for changes in file format, track layout, or timestamp sequence, and recommended for changes in encoding parameters or sequence.
- 3Low-Latency HLS adds partial segments, preload hints, and blocking playlist reload behavior; simply shortening ordinary segments does not implement the complete low-latency mode.
When HLS Streaming matters
Developers choose HLS for scalable live or on-demand delivery across browsers, mobile devices, and televisions. Codec support and native playback behavior still vary by client.
Common use cases for streaming
These examples cover streaming broadly, not specifically HLS Streaming.
- Delivering long-form, episodic, educational, live, or user-generated video over variable networks.
- Providing low-bandwidth through high-resolution renditions from one master.
- Combining captions, alternate audio, encryption, thumbnails, and ad markers with playback media.
Working with streaming
This guidance covers streaming broadly, not just HLS Streaming.
An encoder creates several quality levels, and a packager divides them into aligned segments referenced by a manifest. During playback, the client estimates throughput and buffer health, then requests an appropriate segment from one rendition at a time.
Streaming quality depends on the relationship between renditions, segments, manifests, players, and the network. A valid encode can still perform poorly if keyframes are misaligned, the ladder is inefficient, or the player cannot switch cleanly.
What you gain
- Segmented delivery lets playback begin without downloading the entire program.
- Multiple renditions let a player adapt quality as network and device conditions change.
- HTTP-based protocols can reuse ordinary web caching and delivery infrastructure.
What it costs
- Short segments can reduce switching and live latency but increase request and packaging overhead.
- A dense rendition ladder offers finer adaptation while increasing encoding, storage, and cache cost.
- More aggressive quality selection can improve sharpness but raises rebuffering risk on unstable networks.
Before production
- 1Test the rendition ladder on slow, changing, and high-latency connections.
- 2Align segments and keyframes, then validate manifests in the target players.
- 3Measure startup, rebuffering, quality switches, CDN efficiency, and playback failures.