Successfully reported this slideshow.
Your SlideShare is downloading. ×

Using DASH and MPEG-2 TS

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 15 Ad

More Related Content

Slideshows for you (20)

Similar to Using DASH and MPEG-2 TS (20)

Advertisement

Recently uploaded (20)

Using DASH and MPEG-2 TS

  1. 1. Using DASH and MPEG-2 TS for Adaptive Multiplatform Delivery Alex Giladi
  2. 2. MPEG DASH Dynamic 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 Taxonomy Representation – “Encoding profile” of an asset – Multiplexed or non-multiplexed Media Segment – Time-delimited part of an asset – Addressable via HTTP GET MPD – 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 Model MPD 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.com MPD.BaseURL=http://cdn2.example.com Period.BaseURL=“/MovieName/” SegmentInfo.BaseURL=“seg_00001.ts” SegmentInfo.BaseURL=“seg_00002.ts” http://cdn2.example.com/MovieName/seg_00001.ts http://cdn1.example.com/MovieName/seg_00001.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 Segment Benefits – fine-grain random access and switching; – efficient trick modes Format – Separate file, URL provided via MPD; – Per-representation or per-segment; – Extensible syntax – additional items can be added Segment Index (`sidx`) – Defines subsegments (byte ranges within a segment) – Provides timing and random access information Subsegment 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 Segment Initialization 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 features Content 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 level Quality Metrics – Set of metrics for QoS/QoE monitoring and reporting MPD 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 Cases Live – Multiple short segments; – Per-segment index file (if used); – Templated MPD’s – Limited segment availability window – Larger window allows time-shift TV On Demand – Single or multiple segments per period; – Per-representation index file; – Additional languages in separate representations;
  14. 14. Dual TS-based deployments HLS – 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. Summary Using 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;

×