HLS vs DASH

Choosing the right adaptive bitrate streaming protocol for your stack.

Core Differences

HLS (created by Apple) and DASH (an international standard) both slice video into small chunks and serve them via standard HTTP servers. However, their manifest structures and ecosystem support differ wildly.

FeatureHLSDASH
Manifest FormatM3U8 (Text-based)MPD (XML-based)
Default CodecH.264 / H.265Codec Agnostic (Often VP9/AV1)
Apple EcosystemNative SupportRequires Custom Player (MSE/WASM)
DRMFairPlay nativelyWidevine, PlayReady (CENC)

Common Mistakes

  • Not using CMAF: Historically, HLS required TS containers and DASH required fMP4. Today, CMAF (Common Media Application Format) allows a single fMP4 media chunk to be referenced by both an HLS m3u8 and a DASH MPD, saving 50% of origin storage.
  • Excessive Segment Sizes: 10-second segments were the Apple recommended default in 2015. Today, 4-second segments balance reasonable caching overhead with faster ABR switching.