HLS

The most widely supported adaptive streaming format for live and on-demand video.

Overview

What is HLS

HTTP Live Streaming (HLS) is an adaptive bitrate streaming protocol developed by Apple that delivers video over standard HTTP connections. HLS breaks video into small segments (typically 6–10 seconds) and serves them via a playlist manifest (.m3u8), allowing the player to switch between quality levels based on the viewer's bandwidth in real time. Originally an Apple-only technology, HLS is now supported by every major browser, mobile OS, smart TV, and streaming device — making it the default choice for most video delivery workflows. HLS also supports Low-Latency HLS (LL-HLS), which reduces glass-to-glass latency to 2–5 seconds for near-real-time delivery.

Decision Guide

When to Choose HLS

Choose HLS when:
  • You need to reach iOS devices — Safari requires HLS for adaptive streaming, and there is no DASH support on Apple platforms.
  • Your content will be delivered via CDN over HTTP — HLS uses standard HTTP infrastructure, so every CDN supports it without special configuration.
  • You need DRM protection with Apple FairPlay — FairPlay only works with HLS manifests and is the only way to protect content on Apple devices.
Consider alternatives when:
  • You need sub-2-second latency — Look at WebRTC for delivery or SRT for ingest. Even LL-HLS has 2–5 second latency.
  • You're targeting only non-Apple platforms and want open standards — MPEG-DASH is an ISO standard with native Widevine and PlayReady support.
  • You want a single set of segments for both HLS and DASH — CMAF eliminates duplicate segment storage by using one set of fmp4 segments with two manifests.
Try it

Transcoding Demo

Source video

URL
Upload File
Sample Video

Maximum file size: 5GB

Choose our Demo File
4K Sample (Qencode)
Source Type
URL
Transcoding demo creates a small clip with a watermark.To test transcoding full files, Start your Free Plan for 500 credits

Select a source video and click “Convert” to see HLS output in action.

Reference

Key Characteristics

TypeStreaming protocol + container
File extension(s).m3u8 (manifest), .ts / .fmp4 (segments)
Supported video codecsH.264, H.265 (HEVC), AV1
Supported audio codecsAAC
DRM supportFairPlay (native), Widevine (via CMAF), PlayReady (via CMAF)
Adaptive bitrateYes — quality switching via manifest-level rendition selection
LatencyStandard: 15–30s • LL-HLS: 2–5s
Live streaming supportNative — sliding window manifest with live edge
Typical use caseBroad-reach VOD and live delivery; default for Apple ecosystem
Compatibility

Browser & Device Support

Platform
HLS
MPEG-DASH
MP4 (progressive)
WebM
CMAF
Chrome (desktop)
via MSE
via MSE
via MSE
Safari (macOS)
native
HLS mode
Firefox (desktop)
via MSE
via MSE
via MSE
Edge
via MSE
via MSE
via MSE
iOS Safari
native
HLS mode
Android Chrome
via MSE
via MSE
via MSE
Smart TVs (Tizen/webOS)
limited
Roku / Fire TV
Game consoles (PS5, Xbox)
Implementation

How Qencode Handles HLS

Qencode generates HLS output with full adaptive bitrate ladder support. Specify advanced_hls as the output format and Qencode handles manifest generation, segment packaging, and multi-rendition encoding in a single job. Choose any supported video codec — H.264, H.265, AV1 — and Qencode produces correctly formatted .m3u8 manifests with .ts or .fmp4 segments.

Pair HLS output with Per-Title Encoding to automatically optimize the bitrate ladder for each title, or add DRM protection with a single parameter. Qencode also supports HLS playlist refresh for updating live manifests.

Request Example

HLS output with H.265 (HEVC) and Per-Title Encoding

{
  "query": {
    "source": "https://your-storage.com/video.mp4",
    "format": [
      {
        "output": "advanced_hls",
        "separate_audio": 1,
        "stream": [
          {
            "video_codec": "libx265",
            "resolution": 2160,
            "optimize_bitrate": 1,
            "framerate": "30",
            "keyframe": "90"
          }
        ],
        "segment_duration": "6"
      }
    ]
  }
}

Copy this payload and use it with your API key to generate HLS output from any video source.

View Parameter Reference
comparison

HLS vs. MPEG-DASH

HLS
MPEG-DASH
Apple device support
Native
Requires MSE
DRM
FairPlay (native), Widevine/PlayReady (via CMAF)
Widevine, PlayReady (native)
Segment format
.ts or .fmp4
.fmp4 or .webm
Low-latency mode
LL-HLS (2–5s)
LL-DASH (2–5s)
Open standard
Apple-controlled
ISO/IEC standard
Best for
Universal reach, Apple ecosystem
Open-standard deployments, Android-first

For a detailed MPEG-DASH breakdown, see MPEG-DASH

CMAF: The bridge between HLS and DASH — If you need to serve both HLS and DASH audiences, CMAF lets you use a single set of fmp4 segments with two different manifests, eliminating duplicate storage.

Pricing

What It Costs

SD
$0.01
0
Format
Select item
Codec
Select item
Framerate
25
Choose resolution

Planning for budgets over $1,000/month? Schedule a call with us to explore additional volume discounts.

We love creating powerful solutions that are aligned with the needs of your business.

Please send us a message if you have a question or Schedule a call for a demo to discuss your integration.

Let's talk

First Name
Last Name
Company
Email
Your Message

Contact us with any questions. We'd love to help.

Los Angeles, CA - (HQ)

San Francisco, CA

New York, NY