Using DASH and MPEG-2 TS


Published on

Presentation on use of DASH with MPEG-2 TS

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Using DASH and MPEG-2 TS

  1. 1. Using DASH and MPEG-2 TSfor Adaptive Multiplatform Delivery Alex Giladi
  2. 2. MPEG DASHDynamic Adaptive Streaming over HTTP – ISO/IEC 23009-1, expected in Dec. 2011 – Defines manifest and segment formats  Manifest (MPD) – Media description using a hierarchical data model; – Timing and segment availability – Segment and MPD location  Segments – Media Segment (ISO-BMFF and MPEG-2 TS) – Index Segment – Initialization Segment
  3. 3. DASH System Model DASH client HTTP GET Content DASH MPD Access Media, Media CDN preparation Engine Timing Engine HTTP GET DASH Segment Unspecified interface DASH specifies on-the-wire interface – No “DASH server”: only HTTP 1.1 assumed; – No normative client
  4. 4. DASH TaxonomyRepresentation – “Encoding profile” of an asset – Multiplexed or non-multiplexedMedia Segment – Time-delimited part of an asset – Addressable via HTTP GETMPD – Description of representations; – Derivation of segment URL’s<Representation id="A" bandwidth="3600000“ width=“1280” height=“720” samplingRate=“48000” mimeType="video/mp2t" codecs="avc1,mp4a"> <SegmentList duration="10"> <SegmentURL media="BBB_3600_00001.ts"/> <SegmentURL media="BBB_3600_00002.ts"/> <SegmentURL media="BBB_3600_00003.ts"/> </SegmentList> </Representation>
  5. 5. Hierarchical Data ModelMPD Period Period Period Period Time-limited subset of a presentation Adaptation Adaptation Adaptation Set Set Set Switchable group of representations Same components, same timeline Representation Representation Representation Subrepresentation Segment Subrepresentation Segment Representation Subrepresentation Segment Representation
  6. 6. URL construction – Segment URL’s are resolved relative to BaseURL’s – Allow URL diversity by using several BaseURL’s;MPD.BaseURL=http://cdn1.example.comMPD.BaseURL= Period.BaseURL=“/MovieName/” SegmentInfo.BaseURL=“seg_00001.ts” SegmentInfo.BaseURL=“seg_00002.ts” – URL templates allow printf-style variable substitution • Important in case of small segments<SegmentTemplate > ls *.ts media=“seg_$Index%05$.ts" seg_00001.ts seg_00002.ts seg_00003.ts duration="4" seg_00004.ts seg_00005.ts seg_00006.ts startNumber="1"/> seg_00007.ts seg_00008.ts seg_00009.ts
  7. 7. Index SegmentBenefits – fine-grain random access and switching; – efficient trick modesFormat – Separate file, URL provided via MPD; – Per-representation or per-segment; – Extensible syntax – additional items can be addedSegment Index (`sidx`) – Defines subsegments (byte ranges within a segment) – Provides timing and random access informationSubsegment Index (`ssix`) – Defines byte ranges for extracting “levels”
  8. 8. Index Segment Example`sidx`: maps GOP’s to subsegments`ssix`: maps temporal subsequences L0: I frames + ECM’s, 8x trick mode L1: P frames, depends on L0, 4x trick mode
  9. 9. Initialization SegmentInitialization Segment – Contains data that does not change between segments • PAT • PMT (if same version is used in all segments) • ECM’s (if cryptoperiod doesn’t change) – May contain other program data; – May not contain playable media – Is optional  media segments can be “self-initializing”;
  10. 10. Bitstream Switching@segmentAlignment=“true”: segment borders are time-aligned – bitstream switching feasible at segment borders@startWithSAP=N: segments start with a RAP – IDR for N=1-2 , Open GOP for N=3@bitstreamSwitching=“true”: segment concatenation is a valid MPEG-2 TS – seamless bitstream switching w/o overlapped downloading – some decoders may have problems at resolution changes in valid sequences
  11. 11. More featuresContent Protection – DASH is DRM-agnostic, DRM signaled in MPD; – Any DRM schema (and number of schemas) can be supported – MPEG-2 CA explicitly supported • ECM behavior specified at media segment levelQuality Metrics – Set of metrics for QoS/QoE monitoring and reportingMPD Assembly – Elements can be stored remotely and loaded on demand …
  12. 12. Profiles – “Claim and permission”  MPD and segments claimed to be compliant;  Client permitted to ignore some MPD elements; – Defined for ISO-BMFF and MPEG-2 TS; – Can be combined within same MPD;MPEG-2 TS profiles – Main: segments are time-aligned – Simple: seamlessly switchable subset of Main  Segments start with PAT, PMT, ECM, PCR  Segments contain only complete AU’s
  13. 13. Use CasesLive– Multiple short segments;– Per-segment index file (if used);– Templated MPD’s– Limited segment availability window – Larger window allows time-shift TVOn Demand– Single or multiple segments per period;– Per-representation index file;– Additional languages in separate representations;
  14. 14. Dual TS-based deploymentsHLS – Simple TS profile content  Main profile if HLS content is reused – Templated MPD, if naming convention is followed – Index file (per-representation for VoD)Legacy VoD – Per-representation index file – Can be also used for CDN’ized traditional VoD
  15. 15. SummaryUsing DASH with MPEG-2 TS – Standardized solution, avoids vendor lock-in; – DRM-agnostic – no restrictions on DRM – No server-side support needed; – No need to replace equipment or workflows; – Existing VoD and HLS content can be reused; – Simple client implementation with Simple TS profile;