MPEG-DASH

DASH (Dynamic Adaptive Streaming over HTTP, ISO/IEC 23009-1) — 2011, MPEG. Открытый стандарт для стриминга, идейный конкурент HLS. Похож концептуально: манифест + сегменты. Не работает в Safari нативно — только через MSE.

MPD (Media Presentation Description)

<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" type="dynamic"
     minBufferTime="PT2S" mediaPresentationDuration="PT30M">
  <Period>
    <AdaptationSet mimeType="video/mp4">
      <Representation id="1080p" bandwidth="5000000" width="1920" height="1080">
        <SegmentTemplate media="1080p/seg-$Number$.m4s" 
                         initialization="1080p/init.mp4"
                         startNumber="1" duration="4000" timescale="1000"/>
      </Representation>
    </AdaptationSet>
    <AdaptationSet mimeType="audio/mp4" lang="en">
      <Representation bandwidth="128000"/>
    </AdaptationSet>
  </Period>
</MPD>

Отличия от HLS

HLSDASH
Манифестm3u8 (text)MPD (XML)
КонтейнерTS или fMP4только fMP4/CMAF
Кодекилюбыеcodec-agnostic
Safariнативнотолько через MSE
DRMFairPlayPlayReady, Widevine, ClearKey
СтандартApple (IETF)ISO/MPEG

CMAF

Common Media Application Format — единый контейнер (fMP4), одобрен и HLS (v7+) и DASH. Позволяет держать один набор сегментов и два манифеста (m3u8 + mpd) → CDN cost -50%.

Low-latency DASH

Chunked transfer + короткие сегменты + hints (SegmentTemplate с $Time$). Достигает 2-4 сек end-to-end.

Кто использует

Плееры

См. также

← на главную