Back

Blog details

HLS vs MPEG-DASH: Differences and When to Use Each

AIOZ Network
6 min readAugust 16, 2026
aioz-streamexplainerdeveloper-apis
HLS vs MPEG-DASH: Differences and When to Use Each, AIOZ Stream knowledge hub cover

HLS and MPEG-DASH both stream adaptive video over plain HTTP, and they differ mainly in manifest format, Apple device support and DRM. HLS comes from Apple, uses .m3u8 playlists and plays natively on iPhone. MPEG-DASH is an ISO standard with an XML .mpd manifest, played through a JavaScript player.

TL;DR:

  • Both formats cut video into short segments at several bitrates and let the player switch between them, so viewers see the same adaptive behavior.
  • HLS is the safe choice for Apple devices and the only route to FairPlay DRM. DASH is codec-agnostic and common on Android, smart TVs and Chromecast.
  • You rarely have to choose: CMAF lets one set of fragmented MP4 segments serve an HLS playlist and a DASH manifest at the same time.
  • On AIOZ Stream you pick hls or dash per rendition, the finished video returns both an hlsUrl and a dashUrl, and the documented embed plays HLS.

Updated Oct 19, 2026: rewritten as a general comparison with a table, a manifest diagram and a CMAF section. The AIOZ player is now one section, and a per-session bitrate claim the Analytics API doesn't support was removed.

What is the difference between HLS and MPEG-DASH?

Both protocols do the same job, which Cloudflare's explainer sums up well: they run over HTTP, "break video into segments with an accompanying index file, and offer adaptive bitrate streaming." Because both use ordinary web servers and ports, they pass through firewalls and CDNs, and on AIOZ Stream through peer delivery nodes, so the differences sit in the details below.

HLSMPEG-DASH
Created byApple; published as IETF RFC 8216MPEG; international standard ISO/IEC 23009-1
Manifest.m3u8 text playlists (a master playlist plus one media playlist per rendition).mpd XML file (Periods, Adaptation Sets, Representations)
Segment containersMPEG-TS or fragmented MP4Usually fragmented MP4
CodecsTied to what Apple devices decode, most often H.264 and HEVCCodec-agnostic, so VP9 and AV1 ladders are straightforward
Apple devicesNative playback in Safari and iOSNo native playback on iPhone
Chrome, Firefox, EdgeUsually through a JavaScript player such as hls.jsThrough a JavaScript player such as dash.js or Shaka Player
Typical segment length6 seconds by default2 to 10 seconds, ideally 2 to 4
DRMFairPlay on Apple devicesWidevine and PlayReady, via Common Encryption
Low-latency modeLL-HLSLow-latency DASH with chunked CMAF
On AIOZ Streamtype: 'hls', container mpegts or mp4type: 'dash', container fmp4

The manifest is the difference you'll touch most as a developer, because it's the file your player reads first. An HLS master playlist lists each rendition with its bandwidth and points to a media playlist of segment URLs. A DASH MPD puts everything in one XML file, grouping renditions as Representations inside Adaptation Sets. If you haven't read one before, our M3U8 guide walks through a real HLS playlist line by line.

Diagram: the same renditions described two ways. HLS uses a master .m3u8 playlist pointing to one media playlist per rendition; MPEG-DASH uses one .mpd file with Adaptation Sets and Representations. With CMAF, both can point to the same fragmented MP4 segments.
One set of renditions, two manifest formats. With CMAF, both manifests can share the same segment files.

Which is better, HLS or MPEG-DASH?

Neither format gives a better picture, since the same encode looks the same in both, so the choice comes down to your audience and your DRM needs.

  • Pick HLS when iPhone and Safari viewers matter, when you need FairPlay, or when you want one format that plays with the least setup. Cloudflare's guide is blunt about Apple: "HLS is the only format supported by Apple devices."
  • Pick DASH when your audience is mostly Android, smart TVs or Chromecast, when you want VP9 or AV1 ladders, or when your DRM stack is built on Widevine and PlayReady.
  • Ship both when you serve every kind of device, which is what most large services do. CMAF makes that cheaper than it sounds (see below).

Latency is no longer a reason to pick one over the other, although the defaults differ. Standard HLS with 6-second segments runs well behind real time, but LL-HLS and low-latency DASH both cut that by sending partial segments. Our LL-HLS guide covers when the extra complexity pays off, and HLS vs WebRTC covers the sub-second cases neither format handles.

Can you use HLS and DASH together?

Yes, and the usual way is CMAF (the Common Media Application Format). RFC 8216 allows HLS segments in fragmented MP4 as well as MPEG-TS, and fragmented MP4 is DASH's usual container too. Package your renditions once as CMAF segments and write two small manifests, an .m3u8 and an .mpd, that point at the same files. You then store and cache one copy of the video instead of two, which halves the storage for a dual-format library.

DRM can follow the same path. Fora Soft's guide to Common Encryption (ISO/IEC 23001-7) says the current default is CMAF "packaged once, encrypted with cbcs, and signalled in both HLS and DASH" so one set of files serves every device. FairPlay accepts only the cbcs scheme, and Widevine and PlayReady now support it as well, as our Widevine vs FairPlay vs PlayReady guide explains.

How HLS and DASH players switch quality

Once the player has a manifest, HLS and DASH behave the same way. The player reads the list of renditions, measures recent download speed and how full its buffer is, and requests the next segment at the highest rendition it can sustain. Then it measures again and repeats the loop every few seconds for the whole session.

Diagram of the adaptive player loop: read the manifest, measure throughput and buffer, pick the highest sustainable rendition, fetch the next segment, repeat
The adaptive loop runs the same way for HLS and DASH.

Weighing both signals keeps one slow segment from triggering a downshift, and frequent switches hurt viewers even when nothing stalls. Our adaptive bitrate guide covers the throughput, buffer and hybrid algorithms players use to decide.

How the AIOZ Stream player handles HLS and DASH

The AIOZ Stream player docs say the player supports "HLS (HTTP Live Streaming) and MPEG-DASH, providing adaptive bitrate streaming." It also "automatically adjusts the video quality based on the viewer's internet connection." On the encoding side, you choose the format per rendition in the Video API's qualities array: type: 'hls' with an mpegts or mp4 container, or type: 'dash' with fmp4. When encoding finishes, the video detail returns both URLs, as these lines from the Video API docs show.

const detail = await client.media.getDetail(videoId)
console.log(detail.data.assets.hlsUrl)   // HLS playback
console.log(detail.data.assets.dashUrl)  // DASH playback
console.log(detail.data.assets.mp4Url)   // MP4 download

For a web page, the documented embed is one iframe, and its path plays HLS:

<iframe
  src="https://embed.aiozstream.network/vod/hls/video_id"
  width="100%"
  frameborder="0"
  scrolling="no"
  allowfullscreen="true"
></iframe>

Both snippets are quoted from the docs and weren't run for this article, and the docs don't describe a DASH embed path or say which format the player prefers when a video has both. If you need DASH on a page, play the dashUrl in your own DASH player, such as dash.js or Shaka Player.

To decide how much each format matters for you, check where your viewers watch. The Analytics API can break views down by operating-system or browser, which tells you how much of your audience is on iOS and Safari. You can match the player's colors to your brand through the dashboard or the Players API, as our player customization guide shows. To embed your first video, follow Player: getting started in the AIOZ Stream docs, which includes a live example.

FAQ

Does Safari support MPEG-DASH?
Not natively on iPhone, which is why HLS is the format to use when Apple devices are a large part of your audience.

Does MPEG-DASH give better video quality than HLS?
No. Picture quality comes from the encode, so the same renditions look the same whichever manifest points to them and whichever player reads it.

Which has lower latency, HLS or DASH?
In their low-latency modes they are close: LL-HLS and low-latency DASH both send partial segments to cut delay.

Can AIOZ Stream output both HLS and DASH?
Yes, because you set type per rendition when you create the video, and the finished video returns an hlsUrl and a dashUrl.

Do I need DASH to use Widevine?
Not anymore in most setups, because CMAF segments encrypted with cbcs can carry Widevine, PlayReady and FairPlay through either manifest.

Is HLS an open standard?
HLS is published as an informational IETF RFC (8216) and is widely supported, while MPEG-DASH is a formal ISO/IEC standard.

References

We only send updates when meaningful changes ship, and you can unsubscribe anytime

Related Content

blog thumbnail

Mobile Livestreaming with PRISM Live Studio on AIOZ Stream

Stream from your phone to AIOZ Stream with PRISM Live Studio: Custom RTMP setup, documented 1080p and 720p bitrates, Adaptive quality and mobile stability tips.

aioz-streamguide
6 min readOctober 20, 2026
blog thumbnail

Best OBS Encoder Settings for 1080p and 720p (AIOZ Stream)

Choose OBS encoder settings for AIOZ Stream: the documented 1080p30 values, the missing 720p figure, NVENC vs x264, keyframes, 60 fps and a test procedure.

aioz-streamguide
6 min readOctober 16, 2026
blog thumbnail

OBS Studio Setup for AIOZ Stream: RTMP URL and Stream Key

Set up OBS Studio for AIOZ Stream: choose a Custom service, paste the RTMP server URL and stream key, then stream CBR at 4500 to 6000 Kbps with 1 s keyframes.

aioz-streamguide
7 min readOctober 13, 2026
blog thumbnail

How to Start a Livestream on AIOZ Stream: OBS and Mobile Setup

Seven steps to go live on AIOZ Stream with OBS or PRISM: stream key, session form, RTMP credentials, bandwidth math, and the first two minutes after you start.

aioz-streamguide
6 min readOctober 09, 2026
blog thumbnail

Live Streaming on AIOZ Stream: The Complete Setup Guide

Live streaming on AIOZ Stream: a stream key, one session per broadcast, RTMP from OBS or PRISM, HLS playback, plus restreaming, stats and an opt-in archive.

aioz-streamguide
7 min readOctober 06, 2026
blog thumbnail

What Is a Web3 Streaming Platform? How Web3 Streaming Works

A web3 streaming platform delivers video through independent nodes and settles payments on a blockchain. How it differs from a CDN, and how AIOZ Stream does it.

aioz-streamguide
7 min readOctober 02, 2026