Skip to main content
Streaming

HLSHTTP Live Streaming

HLS (HTTP Live Streaming) is an adaptive bitrate streaming protocol developed by Apple in 2009. It works by breaking video content into small HTTP-based file segments and delivering them sequentially to the player. HLS is the most widely supported streaming protocol, compatible with virtually every device, browser, and operating system.

How HLS works

HLS divides a video into a sequence of small file segments, typically 2 to 10 seconds long, encoded at multiple quality levels. A manifest file (M3U8 playlist) acts as an index, listing all available segments and quality variants. The player downloads this manifest, evaluates the viewer's bandwidth, and selects the appropriate quality level for each segment.

  • The source video is transcoded into multiple resolutions and bitrates (e.g., 360p, 720p, 1080p)
  • Each rendition is segmented into small chunks stored on an HTTP server or CDN
  • The player downloads the M3U8 master playlist referencing all quality variants
  • During playback, the player dynamically switches between quality levels based on real-time bandwidth

HLS vs DASH

HLS and DASH (Dynamic Adaptive Streaming over HTTP) are the two dominant adaptive streaming protocols. While DASH is an international standard (ISO/IEC 23009-1), HLS has broader native device support, especially on Apple devices and in web browsers via HLS.js.

FeatureHLSDASH
DeveloperAppleMPEG
ContainerfMP4 / TSfMP4 / WebM
Manifest formatM3U8MPD (XML)
Apple device supportNativeRequires JavaScript
Low latencyLL-HLSLL-DASH
DRM supportFairPlay + WidevineWidevine + PlayReady

Advantages of HLS

HLS has become the de facto standard for video streaming because of its reliability and universal compatibility.

  • Universal compatibility: works on iOS, Android, desktop browsers, smart TVs, and streaming devices
  • Adaptive bitrate: automatically adjusts quality to prevent buffering
  • CDN-friendly: standard HTTP delivery means easy caching and global distribution
  • Robust DRM support: integrates with FairPlay (Apple) and Widevine (Google)
  • Low-latency option: LL-HLS reduces live streaming delay to 2-4 seconds

How Videas uses HLS

Videas uses HLS as the delivery protocol for every video. On upload, the file is transcoded into several qualities, encoded in H.264 and VP9, then cut into four-second segments described by an M3U8 manifest. The player switches between levels on a segment boundary, without interrupting playback. Live streams use the same protocol: expect a few seconds between the scene and the viewer's screen.

Frequently asked questions

What does HLS stand for?+

HLS stands for HTTP Live Streaming. It is an adaptive bitrate streaming protocol developed by Apple that delivers video over standard HTTP connections.

What is an M3U8 file?+

It is the extension of the HLS manifest: a text file listing the available segments and quality variants. The player downloads it first, then fetches the segments it points to.

Is HLS better than DASH?+

HLS and DASH are comparable in features, but HLS enjoys broader device support, especially on Apple hardware. Most professional platforms, Videas included, use HLS as their primary protocol.

Does HLS work in every browser?+

Safari supports HLS natively. Other browsers — Chrome, Firefox, Edge — play it through a JavaScript library such as HLS.js, which is what the Videas player does for universal playback.

How long is an HLS segment on Videas?+

Four seconds. That is also the granularity of quality switches: the player only changes level at the end of a segment, which is what keeps playback smooth.

What is the latency of HLS live streaming?+

Standard HLS runs 15-30 seconds behind, and low-latency HLS (LL-HLS) brings that down to 2-4 seconds. On a Videas live stream, expect a few seconds between the scene and the viewer's screen: short enough to run a chat, too long for someone to speak back from the room.

HLS or progressive MP4?+

Progressive MP4 downloads a single file at a fixed quality; HLS cuts into segments and changes quality along the way. Videas delivers over HLS and keeps the MP4 only as a fallback, for when HLS is unavailable.

Does the HLS manifest carry subtitles?+

Yes. A video's subtitles and audio tracks are declared in the same manifest as the quality variants, and the player offers them without an extra request.

Do I need a specific player to read HLS?+

The Videas player handles it. If you embed the stream yourself, Safari and iOS read HLS natively and a library is needed elsewhere: the Videas playback API returns a signed HLS URL meant for exactly that.

Does HLS cost more than a plain MP4 file?+

No. Storage is billed per hour of video, not per file produced, and delivery per gigabyte actually watched. A viewer who stays at 360p therefore costs less than a viewer at 1080p — something a single MP4 cannot do.