What is HLS?

Updated September 2026 · Reviewed by the Flicknexs platform team

Quick answer

HLS (HTTP Live Streaming) is an adaptive bitrate streaming protocol created by Apple. It delivers video in small segments using an .m3u8 manifest file. This structure allows players to switch quality levels on the fly based on network conditions, making it the standard for iOS and Safari devices.

Key takeaways

  • HLS uses an .m3u8 manifest to list video segments and quality levels.
  • It is the native protocol for iOS, iPadOS, and Safari browsers.
  • Adaptive bitrate switching happens by changing the segment URL, not the stream.
  • Flicknexs delivers HLS with AES encryption and DRM at the delivery layer.

How HLS works

HLS breaks a video into short segments, typically 2 to 10 seconds long. Each segment is a separate file, usually in MPEG-2 TS or fMP4 format. The player requests a master playlist file, which has the extension .m3u8. This file lists the available quality levels, such as 360p, 720p, and 1080p. Each quality level points to its own media playlist. That media playlist lists the specific segment files in order.

When you play a video, the player downloads the first segment. It then checks the network speed. If the connection is slow, the player requests the next segment from a lower quality playlist. If the connection is fast, it switches to a higher quality playlist. This process happens automatically. The user sees a smooth video without buffering, even if their internet speed fluctuates.

The protocol relies on standard HTTP. This means it works through firewalls and proxies that block other streaming protocols. Because it uses HTTP, you can serve it from any web server or CDN. The player handles the complexity of switching streams. You handle the encoding and packaging.

Why HLS matters for a streaming business

If you ignore HLS, you lose a large portion of your potential audience. iOS devices and Safari browsers require it for native playback. Even on Android, many players support HLS as a fallback. It is the safest choice for cross-platform compatibility.

For operators, HLS simplifies delivery. You do not need to build custom logic for quality switching. The protocol handles it. This reduces development time and lowers the risk of playback errors. It also integrates easily with content delivery networks. Most CDNs cache HLS segments efficiently, which reduces your bandwidth costs.

Security is another key factor. HLS supports AES-128 encryption. You can encrypt your segments so only authorized players can decode them. Flicknexs applies this encryption at the delivery layer. You can also use signed URLs to prevent unauthorized access. This protects your content from piracy and hotlinking. Choosing HLS gives you a reliable, secure, and widely supported foundation for your streaming service.

HLS vs MPEG-DASH

HLS and MPEG-DASH are both adaptive streaming protocols. They solve the same problem but use different file structures. HLS uses .m3u8 playlists and MPEG-2 TS or fMP4 segments. DASH uses .mpd manifests and fMP4 segments. DASH is an open standard, while HLS is an Apple standard.

HLS has broader support on mobile devices, especially iOS. DASH is more common on desktop browsers and smart TVs that do not support Apple standards. Many platforms now support both. You can deliver the same content in both formats to maximize reach.

FeatureHLSMPEG-DASH
Manifest File.m3u8.mpd
Segment FormatTS or fMP4fMP4
iOS SupportNativeRequires JS player
Browser SupportSafari, ChromeChrome, Firefox, Edge
StandardizationAppleISO/ITU

Most operators use CMAF to package content once and serve both HLS and DASH. This saves encoding time and storage space.

Common mistakes with HLS

Operators often make errors that degrade the viewing experience. Here are the most common ones:

  • Ignoring encryption: Serving unencrypted HLS segments makes content easy to download. Always use AES-128 or DRM.
  • Poor segment duration: Segments that are too long cause slow quality switching. Segments that are too short increase HTTP overhead. Aim for 2 to 6 seconds.
  • Missing media playlists: If the master playlist points to a broken media playlist, the player fails. Test all quality levels.
  • Not using a CDN: Serving HLS directly from your origin server will cause buffering under load. Use a CDN to cache segments.
  • Overlooking signed URLs: Without signed URLs, anyone who finds the .m3u8 file can stream your content for free.

How Flicknexs handles HLS

Flicknexs delivers video using adaptive bitrate transcoding with 1080p as the standard resolution. The platform packages content into HLS streams with AES encrypted segments. You can enable DRM at the delivery layer for added security. Playback URLs are signed and expire after a set time, which helps prevent unauthorized access. The system supports multi-audio tracks and caption file uploads directly in the video CMS. This setup works across web, iOS, Android, and smart TV apps. For a deeper look at how playback is managed across devices, check out the Video player SDK.

Video player SDK

Done reading about HLS?

Flicknexs ships it as part of a white-label streaming platform: web, mobile and TV apps, billing, ads, DRM and playout, on your own domain.

HLS FAQ

An .m3u8 file is a playlist used in HLS. It lists the video segments and quality levels available. The player reads this file to know what to download next. It is a text file, not a video file.
Yes, HLS works on Android. Many Android players support it natively. If you use a custom player, you can add HLS support. Flicknexs apps support HLS on both iOS and Android devices.
Yes, you can use DRM with HLS. Apple FairPlay, Google Widevine, and Microsoft PlayReady all support HLS. This allows you to protect your content on different devices. Flicknexs delivers DRM at the delivery layer.
HLS is an Apple standard that uses .m3u8 files. DASH is an open standard that uses .mpd files. HLS is required for iOS. DASH is common on desktop. You can deliver both to reach all users.
Adaptive bitrate switches between video quality levels based on network speed. The player requests different segment sizes from the manifest. This keeps playback smooth during bandwidth changes. You can set 1080p as your standard quality. The system adjusts automatically to prevent buffering.
HLS uses short video segments delivered over standard HTTP. This allows instant start and easy integration with existing infrastructure. It supports RTMP ingest for live feeds. You can record live streams to VOD. The protocol handles variable internet connections well for global audiences.

Standards and references

Further reading

HLS (HTTP Live Streaming): How It Works for OTT