HLS (HTTP Live Streaming)

The adaptive streaming protocol that carries video to virtually every browser, phone and smart TV — using short segments and a small playlist file.

Updated: May 2026 5 min read Protocols · Streaming

In this article

After reading, you'll understand:

  • What HLS is and why it became the default streaming protocol
  • How manifests (.m3u8) and segments (.ts / fMP4) fit together
  • How HLS compares to DASH, and where each is used
  • What Low-Latency HLS changes for live streaming

What is HLS (HTTP Live Streaming)?

HLS (HTTP Live Streaming) is an adaptive bitrate streaming protocol developed by Apple. Instead of sending one large video file, HLS breaks the video into a series of short segments — typically 2–6 seconds each — encoded at several quality levels, and describes them in a small playlist file called a manifest.

Because segments are delivered over ordinary HTTP, HLS travels through any standard web server, cache and CDN — no special streaming server required. That simplicity is why HLS became the most widely supported streaming protocol in the world: it plays natively on Safari, iOS, Android, and every major smart-TV platform, and through JavaScript players like hls.js everywhere else.

Originally built for live streaming, HLS is now used for both live and on-demand video across the industry — from short marketing clips to full live broadcasts.

How HLS works

An HLS stream has two moving parts: manifests that describe the stream, and media segments that carry the actual video.

Transcoding into a rendition ladder

The source is transcoded into several resolutions and bitrates — for example 1080p, 720p, 480p and 360p — so the player has quality options to switch between.

Segmenting each rendition

Every rendition is cut into short chunks. Historically these were MPEG-TS .ts files; modern HLS also supports fragmented MP4 (fMP4), which lets HLS and DASH share the same media.

Writing the manifests

A master playlist (.m3u8) lists the available renditions; each rendition has its own media playlist listing its segment URLs in order. The player fetches the master first.

Adaptive playback

The player measures throughput as it downloads segments and requests the next segment from whichever rendition best fits the connection — switching quality invisibly, segment by segment.

How Kinescope handles this

Upload a video to Kinescope and HLS is produced automatically: transcoding builds the rendition ladder, the manifests are written for you, and delivery runs through an adaptive video player and a global CDN across 48+ countries. HLS is the primary delivery protocol for both video hosting and live streaming — no configuration required.

Read the Kinescope docs

HLS vs. DASH

HLS and DASH are the two dominant adaptive streaming protocols. They solve the same problem in similar ways; the differences are mostly about origin, device support, and DRM.

AspectHLSDASH
Created byAppleMPEG (open ISO standard)
Manifest.m3u8.mpd
Segments.ts or fMP4fMP4
Device supportUniversal, native on AppleBroad, but not native on Apple
Native DRMFairPlayWidevine / PlayReady
Typical useDefault for most deliveryDRM-heavy premium content

Most platforms serve both from the same fMP4 media to cover every device and DRM system. Kinescope offers HLS as its primary protocol, with DASH available for DRM-protected playback.

Low-Latency HLS (LL-HLS)

Standard HLS introduces roughly 10–30 seconds of latency — acceptable for on-demand, but too much for interactive live. Low-Latency HLS (LL-HLS), an official Apple extension, cuts the delay to a few seconds using partial segments and server push, so the player can start rendering a chunk before it is fully written.

Kinescope's live streaming runs at roughly 5–10 seconds of signal delay, with LL-HLS available for lower-latency, interactive broadcasts such as webinars and Q&As.

Frequently asked questions

What is the difference between HLS and MP4?

An MP4 is a single self-contained file downloaded (or progressively streamed) at one fixed quality. HLS instead splits the video into many short segments across several quality renditions and lets the player switch between them mid-playback based on bandwidth. MP4 is fine for a small download; HLS is what streaming platforms use for smooth adaptive delivery at scale.

What is an .m3u8 file?

An .m3u8 is the HLS manifest (playlist) — a small text file that lists the available quality renditions and the URLs of each video segment. The player downloads it first to learn what qualities exist, then requests segments accordingly. A master .m3u8 points to per-rendition media playlists.

Is HLS the same as adaptive bitrate?

They are related but not identical. Adaptive Bitrate (ABR) is the concept of switching quality to match bandwidth; HLS is one of the transport protocols (alongside DASH) that carries an ABR stream. HLS delivers ABR using .m3u8 manifests and segmented media.

Does HLS support DRM?

Yes. HLS supports encryption and DRM — Apple FairPlay is the native DRM for HLS, and platforms often pair it with Widevine (usually via DASH) to cover every device. On Kinescope, DRM protection is available on paid plans without any separate configuration.

How much latency does HLS add?

Standard HLS typically adds 10–30 seconds of latency, which is fine for on-demand video but noticeable for live. Low-Latency HLS (LL-HLS) reduces this to a few seconds using partial segments and server push, making interactive live like webinars and Q&As feel real-time.

Do I need to create HLS files myself?

No, if you use a hosting platform. Kinescope transcodes every upload into the full HLS rendition ladder, writes the manifests, and serves them through its own CDN automatically — you embed a player and HLS delivery happens behind the scenes.

Further reading

Denis Konnov

Written by

Denis Konnov Verified

CMO at Kinescope

Denis leads marketing and content at Kinescope, working closely with the platform's engineers. This glossary is reviewed and kept up to date by the team building Kinescope's streaming, encoding and CDN delivery infrastructure.