Glossary · Streaming technology

What is HLS?

HTTP Live Streaming

HLS (HTTP Live Streaming) is a streaming protocol created by Apple that delivers video as a series of short segments over ordinary web servers, listed in playlist files with the .m3u8 extension. It is the most widely supported way to stream both live and on-demand video.

How HLS works

The video is encoded at several quality levels and each is cut into segments, typically two to six seconds long. A multivariant playlist lists the available qualities; a media playlist for each quality lists its segments in order.

The player downloads the multivariant playlist, picks a quality, and fetches segments one after another, switching quality as the connection changes. For a live stream the media playlist is updated continually as new segments are produced.

Why HLS is so widely used

  • It is native on every Apple device and supported on Android, smart TVs and, through JavaScript players, every modern browser
  • It uses plain HTTP, so any web server and CDN can deliver and cache it
  • It supports adaptive bitrate, subtitles, multiple audio tracks and ad markers
  • It supports encryption and FairPlay DRM

HLS latency

Because the player buffers several segments before starting, standard HLS runs roughly 10 to 30 seconds behind live. Low-Latency HLS divides segments into smaller parts and brings the delay down to a few seconds, at the cost of more demanding delivery.

HLS vs MPEG-DASH

DASH is an international standard that works in a very similar way and is common on Android and smart TVs. Apple devices do not play it natively. With the CMAF format, one set of video segments can be referenced by both an HLS playlist and a DASH manifest, so a service can support both without storing the video twice.

Last reviewed

FAQ

HLS, answered.

More definitions in the streaming glossary.

Planning a streaming service?
What does HLS stand for?

HLS stands for HTTP Live Streaming. Despite the name, it is used for on-demand video as much as for live.

What is an M3U8 file?

It is the HLS playlist: a small text file that lists either the available quality levels or the video segments of one level, in the order they should play.

Is HLS better than RTMP?

They do different jobs. RTMP is still used to send a live feed from an encoder to a platform. HLS is used to deliver the stream from the platform to viewers.

Ready to own the screen?

Tell us what you are launching. We will walk through the platform and map the path to go-live around your catalog, markets and revenue model.