Low‐Latency HLS DASH (LL‐HLS & LL‐DASH) - devrath/MediaAlchemySuite GitHub Wiki

About

  • Protocol extensions to reduce end-to-end latency of live streaming to as low as 2–5 seconds.
  • Useful for real-time events like auctions, sports, gaming, etc.

🧠 Why Low-Latency?

  • Traditional HLS/DASH adds delay due to larger segments and waiting for each segment to be encoded completely before it's delivered to the player for delivery
  • Low latency solves this problem using small segments(Ex: 1s or less) and grouping them together.
  • It also helps in preloading.

📦 LL-HLS / LL-DASH: Segment Delivery Diagram

                    Traditional HLS/DASH                  Low-Latency HLS/DASH
                (Segment-based Delivery)             (Partial Segment Delivery)

Time ▶         ┌──────────────┐                     ┌───┐┌───┐┌───┐┌───┐┌───┐
               │ Segment #1   │                     │P1 ││P2 ││P3 ││P4 ││P5 │
               └──────────────┘                     └───┘└───┘└───┘└───┘└───┘
               ┌──────────────┐
               │ Segment #2   │       ▶▶▶            Player receives **partial chunks**
               └──────────────┘                       as soon as they are encoded.

Latency ▶      Higher (~10–30s)                     Lower (~2–5s)

🔧 LL-HLS Sample Playlist (partial segment)

#EXTM3U
#EXT-X-TARGETDURATION:2
#EXT-X-PART-INF:PART-TARGET=0.333
#EXTINF:2.000,
file123.ts
#EXT-X-PART:DURATION=0.333,URI="file123.part1.ts"
#EXT-X-PART:DURATION=0.333,URI="file123.part2.ts"

🔄 Summary

Feature Traditional HLS/DASH LL-HLS / LL-DASH
Segment Duration 6–10s 1–2s
Transfer Waits for full segment Starts sending partial data immediately
Latency High (10–30s) Low (2–5s)
Use Case VOD, non-urgent live Sports, eSports, Auctions, News