Dynamic AdaptiveStreaming over HTTP (DASH)Christian Timmerer and Christopher MüllerAlpen-AdriaUniversität Klagenfurt (AAU)  Faculty of Technical Sciences (TEWI)Institute of Information Technology (ITEC)  Multimedia Communication (MMC)http://research.timmerer.com  http://blog.timmerer.com  mailto:christian.timmerer@itec.uni-klu.ac.at02 May 2011Acknowledgment: Thomas Stockhammer (QUALCOMM), Mark Watson (Netflix) – reused their presentations from MMSys’11 accessible via http://www.mmsys.org/
User Frustration in Internet VideoVideo not accessibleBehind a firewallPluginnot availableBandwidthnot sufficientWrong/non-trusted deviceWrong formatFragmentationDevicesContent FormatsDRMsLow Quality of ExperienceLong start-up delayFrequent Re-bufferingLow playback qualityNo lip-syncNo DVD quality (language, subtitle)ExpensiveSucks my bandwidthNeed a dedicated devicesOther costs…2010/05/02Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria2One way to build confidence ➪ Open StandardsAck & ©: Thomas Stockhammer
What is DASH?2010/05/02Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria3http://en.wikipedia.org/wiki/Dash_(disambiguation)
HTTP Streaming of Media2010/05/02Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria4ServerClient1MFMF2DFDFISOBMFFISOBMFFeasyconversioneasyconversionM2TSM2TSISOBMFF … ISO Base Media File Format (e.g., mp4 – others: avi)M2TS … MPEG-2 Transport Stream (e.g., DVB, DMB)MF … Manifest Format (e.g., MPD, FMF)DF … Delivery Format (e.g., F4F, 3gs)
Adaptive Streaming in Practice2010/05/02Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria5Ack & ©: Mark Watson
Dynamic Adaptive Streaming over HTTP (DASH)2010/05/02Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria6Int’l Standard Solutions V1Int’l Standard Solutions V2Proprietary SolutionsApple HTTP Live Streaming 3GPP Rel.9 Adaptive HTTP Streaming 3GPP Rel.10 DASHAdobe HTTP Dynamic Streaming Microsoft Smooth StreamingOIPF HTTP Adaptive StreamingMPEG DASHNetflixAkamaiMovenetworks’ MovestreamingAmazon. . .timehttp://multimediacommunication.blogspot.com/2010/05/http-streaming-of-mpeg-media.html
OutlineIntroductionDASH Design PrinciplesScope: What is specified – and what is not!DASH Data ModelMedia Presentation DescriptionSegment IndexingDynamic & AdaptiveVideo on Demand vs. LiveThe Adaptation ProblemConclusions & Future Work2010/05/02Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria7
DASH Design PrinciplesDASH is notsystem, protocol, presentation, codec, interactivity, client specificationDASH is an enablerIt provides formats to enable efficient and high-quality delivery of streaming services over the InternetIt is considered as one component in an end-to-end serviceSystem definition left to other organizations (SDOs, Fora, Companies, etc.)Design choicesEnable reuse of existing technologies (containers, codecs, DRM etc.)Enable deployment on top of HTTP-CDNs (Web Infrastructures, caching)Enable very high user-experience (low start-up, no rebuffering, trick modes)Enable selection based on network and device capability, user preferencesEnable seamless switchingEnable live and DVD-kind of experiencesMove intelligence from network to client, enable client differentiationEnable deployment flexibility (e. g., live, on-demand, time-shift viewing)Provide simple interoperability points (profiles)2010/05/02Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria8Ack & ©: Thomas Stockhammer
What is specified – and what is not?2010/05/02Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria9Ack & ©: Thomas Stockhammer
DASH Data Model2010/05/02Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria10Period, start=0s…Period, start=295s…Segment InfoInitialization Segment http://www.e.com/ahs-5.3gpMedia PresentationPeriod, start=100
baseURL=http://www.e.com/Media Segment 1start=0shttp://www.e.com/ahs-5-1.3gsRepresentation 1bandwidth=500kbit/s
width 640, height 480…Media Segment 2start=10shttp://www.e.com/ahs-5-2.3gs…Representation 1500kbit/sSegment Infoduration=10sTemplate:./ahs-5-$Index$.3gsMedia Segment 3start=20shttp://www.e.com/ahs-5-3.3ghPeriod, start=100s…Representation 2100kbit/s……Media Segment 20start=190shttp://www.e.com/ahs-5-20.3gsAck & ©: Thomas Stockhammer
Media Presentation DescriptionRedundant information of Media Streams for the purpose to initially select or reject Groups or RepresentationsExamples: Codec, DRM, language, resolution, bandwidthAccess and Timing InformationHTTP-URL(s) and byte range for each accessible SegmentEarliest next update of the MPD on the serverSegment availability start and end time in wall-clock timeApproximated media start time and duration of a Media Segment in the media presentation timelineFor live service, instructions on starting playout such that media segments will be available in time for smooth playoutin the futureSwitching and splicing relationships across RepresentationsRelatively little other information2010/05/02Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria11Ack & ©: Thomas Stockhammer
DASH Groups & SubsetsGroup by codec, language, resolution, bandwidth, views, etc. – very flexible (in combination with xlink)!Ranges for the @bandwidth, @width, @height and @frameRate2010/05/02Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria12Group id="grp-1"Representation id="rep-1"Representation id="rep-2"Subset id="ss-1". . .Contains group="grp-1"Representation id="rep-n"Contains group="grp-4"Group id="grp-2"Contains group="grp-7"Representation id="rep-1"Representation id="rep-2". . .SubsetsMechanism to restrict the combination of activeGroups
Expresses the intention of the creator of the Media Presentation Representation id="rep-n". . .Group id="grp-m"Representation id="rep-1"Representation id="rep-2". . .Representation id="rep-n"
Segment IndexingProvides binary information in ISO box structure onAccessible units of data in a media segmentEach unit is described byByte range in the segments (easy access through HTTP partial GET)Accurate presentation duration (seamless switching)Presence of representation access positions, e.g. IDR framesProvides a compact bitrate-over-time profile to clientCan be used for intelligent request schedulingGeneric Data Structure usable for any media segment format, e.g. ISO BMFF, MPEG-2 TS, etc.Hierarchicalstructuring for efficient accessMay be combined with media segment or may be separate2010/05/02Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria13Ack & ©: Thomas Stockhammer
Segment Indexing2010/05/02Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria14seg1.mp4Segment Index in MPD only<MPD> ... <URL sourceURL="seg1.mp4"/><URL sourceURL="seg2.mp4"/></MPD>seg2.mp4...<MPD> ... <URL sourceURL="seg.mp4" range="0-499"/><URL sourceURL="seg.mp4" range="500-999"/></MPD>seg.mp4Segment Index in MPD + Segment <MPD> ... <Index sourceURL="idx.mp4"/><URL sourceURL="seg.mp4"/></MPD>idx.mp4seg.mp4Segment Index in Segment only <MPD> ... <BaseURL>seg.mp4</BaseURL></MPD>seg.mp4idx
Switch Point Alignment2010/05/02Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria15Ack & ©: Mark Watson
Adaptive Streaming SummaryFor on demandChunks are unnecessary and costlyByte range requests have caching and flexibility advantagesSeparate audio/video essential for language support2010/05/02Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria16For liveChunks are unavoidableStill value in decoupling request size from chunk sizeMultiple language audio tracks are rareMay need manifest updatesFor bothSwitch point alignment required for most CE decoding pipelinesAck & ©: Mark Watson and Thomas Stockhammer
Adaptation ProblemChoose sequence and timing of requests to minimize probability of re-buffers and maximize quality2010/05/02Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria17Ack & ©: Mark Watson
ConclusionsAsynchronous delivery of the same content to many users is a first-class network serviceHTTP CDNs may not be the “perfect” architecture, but it’s working pretty well at scaleMany variations on HTTP Adaptive Streaming theme in deployed systems and emerging standardsDASH provides sufficient flexibility hereDASH is rich and simple at the same timeUnderstand more detailed market needsCreate profiles as considered necessaryCollaborate with system creators on how to integrate DASH2010/05/02Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria18Ack & ©: Mark Watson and Thomas Stockhammer

Dynamic Adaptive Streaming over HTTP (DASH)

  • 1.
    Dynamic AdaptiveStreaming overHTTP (DASH)Christian Timmerer and Christopher MüllerAlpen-AdriaUniversität Klagenfurt (AAU)  Faculty of Technical Sciences (TEWI)Institute of Information Technology (ITEC)  Multimedia Communication (MMC)http://research.timmerer.com  http://blog.timmerer.com  mailto:christian.timmerer@itec.uni-klu.ac.at02 May 2011Acknowledgment: Thomas Stockhammer (QUALCOMM), Mark Watson (Netflix) – reused their presentations from MMSys’11 accessible via http://www.mmsys.org/
  • 2.
    User Frustration inInternet VideoVideo not accessibleBehind a firewallPluginnot availableBandwidthnot sufficientWrong/non-trusted deviceWrong formatFragmentationDevicesContent FormatsDRMsLow Quality of ExperienceLong start-up delayFrequent Re-bufferingLow playback qualityNo lip-syncNo DVD quality (language, subtitle)ExpensiveSucks my bandwidthNeed a dedicated devicesOther costs…2010/05/02Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria2One way to build confidence ➪ Open StandardsAck & ©: Thomas Stockhammer
  • 3.
    What is DASH?2010/05/02ChristianTimmerer, Alpen-Adria-Universität Klagenfurt, Austria3http://en.wikipedia.org/wiki/Dash_(disambiguation)
  • 4.
    HTTP Streaming ofMedia2010/05/02Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria4ServerClient1MFMF2DFDFISOBMFFISOBMFFeasyconversioneasyconversionM2TSM2TSISOBMFF … ISO Base Media File Format (e.g., mp4 – others: avi)M2TS … MPEG-2 Transport Stream (e.g., DVB, DMB)MF … Manifest Format (e.g., MPD, FMF)DF … Delivery Format (e.g., F4F, 3gs)
  • 5.
    Adaptive Streaming inPractice2010/05/02Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria5Ack & ©: Mark Watson
  • 6.
    Dynamic Adaptive Streamingover HTTP (DASH)2010/05/02Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria6Int’l Standard Solutions V1Int’l Standard Solutions V2Proprietary SolutionsApple HTTP Live Streaming 3GPP Rel.9 Adaptive HTTP Streaming 3GPP Rel.10 DASHAdobe HTTP Dynamic Streaming Microsoft Smooth StreamingOIPF HTTP Adaptive StreamingMPEG DASHNetflixAkamaiMovenetworks’ MovestreamingAmazon. . .timehttp://multimediacommunication.blogspot.com/2010/05/http-streaming-of-mpeg-media.html
  • 7.
    OutlineIntroductionDASH Design PrinciplesScope:What is specified – and what is not!DASH Data ModelMedia Presentation DescriptionSegment IndexingDynamic & AdaptiveVideo on Demand vs. LiveThe Adaptation ProblemConclusions & Future Work2010/05/02Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria7
  • 8.
    DASH Design PrinciplesDASHis notsystem, protocol, presentation, codec, interactivity, client specificationDASH is an enablerIt provides formats to enable efficient and high-quality delivery of streaming services over the InternetIt is considered as one component in an end-to-end serviceSystem definition left to other organizations (SDOs, Fora, Companies, etc.)Design choicesEnable reuse of existing technologies (containers, codecs, DRM etc.)Enable deployment on top of HTTP-CDNs (Web Infrastructures, caching)Enable very high user-experience (low start-up, no rebuffering, trick modes)Enable selection based on network and device capability, user preferencesEnable seamless switchingEnable live and DVD-kind of experiencesMove intelligence from network to client, enable client differentiationEnable deployment flexibility (e. g., live, on-demand, time-shift viewing)Provide simple interoperability points (profiles)2010/05/02Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria8Ack & ©: Thomas Stockhammer
  • 9.
    What is specified– and what is not?2010/05/02Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria9Ack & ©: Thomas Stockhammer
  • 10.
    DASH Data Model2010/05/02ChristianTimmerer, Alpen-Adria-Universität Klagenfurt, Austria10Period, start=0s…Period, start=295s…Segment InfoInitialization Segment http://www.e.com/ahs-5.3gpMedia PresentationPeriod, start=100
  • 11.
  • 12.
    width 640, height480…Media Segment 2start=10shttp://www.e.com/ahs-5-2.3gs…Representation 1500kbit/sSegment Infoduration=10sTemplate:./ahs-5-$Index$.3gsMedia Segment 3start=20shttp://www.e.com/ahs-5-3.3ghPeriod, start=100s…Representation 2100kbit/s……Media Segment 20start=190shttp://www.e.com/ahs-5-20.3gsAck & ©: Thomas Stockhammer
  • 13.
    Media Presentation DescriptionRedundantinformation of Media Streams for the purpose to initially select or reject Groups or RepresentationsExamples: Codec, DRM, language, resolution, bandwidthAccess and Timing InformationHTTP-URL(s) and byte range for each accessible SegmentEarliest next update of the MPD on the serverSegment availability start and end time in wall-clock timeApproximated media start time and duration of a Media Segment in the media presentation timelineFor live service, instructions on starting playout such that media segments will be available in time for smooth playoutin the futureSwitching and splicing relationships across RepresentationsRelatively little other information2010/05/02Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria11Ack & ©: Thomas Stockhammer
  • 14.
    DASH Groups &SubsetsGroup by codec, language, resolution, bandwidth, views, etc. – very flexible (in combination with xlink)!Ranges for the @bandwidth, @width, @height and @frameRate2010/05/02Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria12Group id="grp-1"Representation id="rep-1"Representation id="rep-2"Subset id="ss-1". . .Contains group="grp-1"Representation id="rep-n"Contains group="grp-4"Group id="grp-2"Contains group="grp-7"Representation id="rep-1"Representation id="rep-2". . .SubsetsMechanism to restrict the combination of activeGroups
  • 15.
    Expresses the intentionof the creator of the Media Presentation Representation id="rep-n". . .Group id="grp-m"Representation id="rep-1"Representation id="rep-2". . .Representation id="rep-n"
  • 16.
    Segment IndexingProvides binaryinformation in ISO box structure onAccessible units of data in a media segmentEach unit is described byByte range in the segments (easy access through HTTP partial GET)Accurate presentation duration (seamless switching)Presence of representation access positions, e.g. IDR framesProvides a compact bitrate-over-time profile to clientCan be used for intelligent request schedulingGeneric Data Structure usable for any media segment format, e.g. ISO BMFF, MPEG-2 TS, etc.Hierarchicalstructuring for efficient accessMay be combined with media segment or may be separate2010/05/02Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria13Ack & ©: Thomas Stockhammer
  • 17.
    Segment Indexing2010/05/02Christian Timmerer,Alpen-Adria-Universität Klagenfurt, Austria14seg1.mp4Segment Index in MPD only<MPD> ... <URL sourceURL="seg1.mp4"/><URL sourceURL="seg2.mp4"/></MPD>seg2.mp4...<MPD> ... <URL sourceURL="seg.mp4" range="0-499"/><URL sourceURL="seg.mp4" range="500-999"/></MPD>seg.mp4Segment Index in MPD + Segment <MPD> ... <Index sourceURL="idx.mp4"/><URL sourceURL="seg.mp4"/></MPD>idx.mp4seg.mp4Segment Index in Segment only <MPD> ... <BaseURL>seg.mp4</BaseURL></MPD>seg.mp4idx
  • 18.
    Switch Point Alignment2010/05/02ChristianTimmerer, Alpen-Adria-Universität Klagenfurt, Austria15Ack & ©: Mark Watson
  • 19.
    Adaptive Streaming SummaryForon demandChunks are unnecessary and costlyByte range requests have caching and flexibility advantagesSeparate audio/video essential for language support2010/05/02Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria16For liveChunks are unavoidableStill value in decoupling request size from chunk sizeMultiple language audio tracks are rareMay need manifest updatesFor bothSwitch point alignment required for most CE decoding pipelinesAck & ©: Mark Watson and Thomas Stockhammer
  • 20.
    Adaptation ProblemChoose sequenceand timing of requests to minimize probability of re-buffers and maximize quality2010/05/02Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria17Ack & ©: Mark Watson
  • 21.
    ConclusionsAsynchronous delivery ofthe same content to many users is a first-class network serviceHTTP CDNs may not be the “perfect” architecture, but it’s working pretty well at scaleMany variations on HTTP Adaptive Streaming theme in deployed systems and emerging standardsDASH provides sufficient flexibility hereDASH is rich and simple at the same timeUnderstand more detailed market needsCreate profiles as considered necessaryCollaborate with system creators on how to integrate DASH2010/05/02Christian Timmerer, Alpen-Adria-Universität Klagenfurt, Austria18Ack & ©: Mark Watson and Thomas Stockhammer