Presentation is loading. Please wait.

Presentation is loading. Please wait.

Windows Azure 4/15/2017 Building media streaming apps and sites without plug-ins using MPEG-DASH Daniel Schneider Senior Lead Program Manager, Microsoft.

Similar presentations


Presentation on theme: "Windows Azure 4/15/2017 Building media streaming apps and sites without plug-ins using MPEG-DASH Daniel Schneider Senior Lead Program Manager, Microsoft."— Presentation transcript:

1

2 Windows Azure 4/15/2017 Building media streaming apps and sites without plug-ins using MPEG-DASH Daniel Schneider Senior Lead Program Manager, Microsoft Anthony Park Vice President, Engineering - Netflix 3-089 © 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

3 Key questions this talk aims to answer
Build 2012 4/15/2017 Key questions this talk aims to answer What is MPEG-DASH and how does it help you to deliver a better video experience to your customers at a lower cost? How does Windows enable video services to build MPEG-DASH clients? Which tools are available to quickly get started developing an MPEG-DASH service on Windows? © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

4 Agenda Introduction The MPEG-DASH Standard W3C Media Source Extensions
Build 2012 4/15/2017 Agenda Introduction The MPEG-DASH Standard W3C Media Source Extensions W3C Encrypted Media Extensions Implementing an MPEG-DASH service in IE or a Windows Store app using JavaScript and HTML Summary © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

5 Why standardize video APIs in browsers?
TechReady 16 4/15/2017 Why standardize video APIs in browsers? Customers expect to be able to watch Netflix on any operating system or browser Common playback APIs reduce the burden of developers to have different implementations on different platforms Custom adaptive streaming algorithms can be written once in JavaScript and leveraged everywhere © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

6 Demo: Netflix in IE11 Preview on Windows 8.1 Preview
Build 2012 4/15/2017 Demo: Netflix in IE11 Preview on Windows 8.1 Preview © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

7 The Future of Netflix on Windows
TechReady 16 4/15/2017 The Future of Netflix on Windows HTML5 Video in the Web Browser Supports multi-tasking scenarios, multi-tab, etc. Windows Store App Touch-first design, great for tablet and touch-screen hardware Provides deep integration with platform features (share contracts, search integration, etc.) Rich app experience (ex: semantic zoom) Dolby Digital 5.1 audio support © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

8 Moving from Plugins to HTML5 video
TechReady 16 4/15/2017 Moving from Plugins to HTML5 video Improved battery/CPU efficiency GPU-acceleration means less work for the CPU Full-quality 1080p now possible within the browser on low to mid-range PCs New browsers shying away from plug-in support Internet Explorer in the new Windows UI, as an example, doesn’t support plug-ins No more installing plug-ins! Removes a hurdle for new customers HTML5 video just works, no plug-ins necessary © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

9 Adaptive HTTP Streaming
Build 2012 4/15/2017 Adaptive HTTP Streaming 480p Manifest 480, 720 1080 720p 1080p 01:03? 01:06? 01:09? © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

10 Relevant standards and proposals
Build 2012 4/15/2017 Relevant standards and proposals ISO/IEC “Dynamic Adaptive Streaming over HTTP (DASH)” Specifies manifest and media segment formats ISO/IEC “Part 12: ISO Base Media File Format, Edition 4” (aka MP4 container) Specifies data structures for packaging media ISO/IEC “Common Encryption in ISO Base Media File Format” Specifies how to package protected content for consumption by multiple DRM systems W3C Proposal “Media Source Extensions” Specifies an HTML extension API enabling the implementation of adaptive streaming in the browser W3C Proposal “Encrypted Media Extensions” Specifies an HTML extension API enabling access to DRM implementations on the system from the browser Formats Manifest 480, 720 1080 Web app or Windows Store app using JavaScript and HTML MSE and EME Client Trident / IE DRM MF © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

11 The MPEG-DASH standard
Build 2012 4/15/2017 The MPEG-DASH standard DASH stands for “Dynamic Adaptive Streaming over HTTP” Specifies an adaptive media-streaming model Control of the presentation lies exclusively with the client Uses HTTP and standard web servers Specifies formats for Media Segments (media files) Media Presentation Description (manifest) © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

12 ISO Base media file format Main (MP4)
Build 2012 4/15/2017 DASH Profiles Set of restrictions on the offered Media Presentation (MPD & Segments) Windows MSE implementation supports implementation of ISOBMFF based profiles: On-Demand Profile Segments are addressed as byte-range requests Suitable for VOD only Live Profile Segments can be addressed by index number or time stamp Can be used for Live and VOD delivery Full Profile ISO Base media file format Main (MP4) MPEG-2 TS Main ISO BMFF On Demand ISO BMFF Live MPEG-2 TS Simple © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

13 Typical DASH ISOBMFF (MP4) file
Build 2012 4/15/2017 Typical DASH ISOBMFF (MP4) file Mime Type (ftyp) Movie Metadata (moov) Segment Index (sidx) Movie Frag #1 (moof) Media Data #1 (mdat) Movie Frag #2 (moof) Media Data #2 (mdat) .... Initialization Segment Index Segment (not for live) Media (or Data) Segment Media (or Data) Segment © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

14 Typical DASH MP4 file PT: 0 PT: 3 PT: 6 Index Segment (not for live)
Build 2012 4/15/2017 Typical DASH MP4 file Mime Type (ftyp) Movie Metadata (moov) Segment Index (sidx) Movie Frag #1 (moof) Media Data #1 (mdat) Movie Frag #2 (moof) Media Data #2 (mdat) .... PT: 0 PT: 3 PT: 6 Index Segment (not for live) © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

15 Typical DASH MP4 file Initialization Segment Index Segment
Build 2012 4/15/2017 Typical DASH MP4 file Mime Type (ftyp) Movie Metadata (moov) Segment Index (sidx) Movie Frag #1 (moof) Media Data #1 (mdat) Movie Frag #2 (moof) Media Data #2 (mdat) .... Initialization Segment Index Segment (not for live) Media (or Data) Segment Media (or Data) Segment © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

16 DASH Manifest (MPD) high-level structure (live profile)
Build 2012 4/15/2017 DASH Manifest (MPD) high-level structure (live profile) Media Presentation Description Live.XML <MPD profiles="urn:mpeg:dash:profile:isoff-live:2011“> <Period> <ContentProtection schemeIdUri="urn:mpeg:dash…" value="cenc"/> <AdaptationSet mimeType=“video/mp4”> <SegmentTemplate media=“Level($Bandwidth$)/Fragment($Time$) initialization="Level($Bandwidth$)/Fragments(init)> <SegmentTimeline> <S d=3 r=430 /> </SegmentTimeline> </SegmentTemplate> <Representation bandwidth=" " width="1920" height="1080“/> <Representation bandwidth=" " width="1280" height="720“/> <Representation bandwidth=" " width="856" height="480“/> </AdaptationSet> <AdaptationSet mimeType=“audio/mp4”> <SegmentTemplate … <Representation bandwidth=“160000”/> <Representation bandwidth=“64000”/> Manifest 480, 720 1080 480p 720p 1080p © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

17 DASH Manifest (MPD) high-level structure (on-demand profile)
Build 2012 4/15/2017 DASH Manifest (MPD) high-level structure (on-demand profile) Media Presentation Description OD.XML <MPD profiles="urn:mpeg:dash:profile:isoff-on-demand:2011“/> <Period> <ContentProtection schemeIdUri="urn:mpeg:da…" value="cenc"/> <AdaptationSet mimeType=“video/mp4”> <Representation bandwidth=" " width="1920" height="1080“> <BaseURL>movie-high.mp4</BaseURL> <SegmentBase indexRange=“ ”> <Initialization range=“0-803”> </SegmentBase> </Representation> <Representation bandwidth=" " width="1280" height="720“> <BaseURL>movie-medium.mp4</BaseURL> <SegmentBase … <Representation bandwidth=" " width=“856" height="480“> <BaseURL>movie-low.mp4</BaseURL> </AdaptationSet> Manifest 480, 720 1080 480p 720p 1080p © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

18 W3C Media Source Extensions

19 W3C Media Source Extensions
Build 2012 4/15/2017 W3C Media Source Extensions W3C proposal extending the HTML standard Defines an API to control media getting to the media element Allows a web app to push init and media fragments into the video/audio tag The main objects are MediaSource and SourceBuffer SourceBuffer audio <video> MediaSource src sourceBuffers SourceBuffer video © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

20 Setup Create MediaSource and set it as src to the video tag
Add source buffers for audio and video Download and append init segments to each of them

21 Playback Download and append data segment to each source buffer
Build 2012 4/15/2017 Playback Download and append data segment to each source buffer Keep downloading and appending as content plays Also keep removing to control your buffer © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

22 Switch streams Download and append init segment for new quality level
Build 2012 4/15/2017 Switch streams Download and append init segment for new quality level Download and append data segments at the new quality level © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

23 Seek currentTime on video tag being set to new position
Map currentTime to data segments and download these Append data segments for the new position

24 Demo: Simple streaming client using Media Source Extensions
Build 2012 4/15/2017 Demo: Simple streaming client using Media Source Extensions © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

25 W3C Encrypted Media Extensions

26 W3C Encrypted Media Extensions
Build 2012 4/15/2017 W3C Encrypted Media Extensions W3C proposal extending the HTML standard Defines an API that allows the use of a DRM system in a web app entirely in JavaScript The main objects are MediaKeys and MediaKeySession The entry points to the API are prefixed with MS <video> MSMediaKeys MediaKeySession msKeys © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

27 Protected Content In response to msneedKey event, create MSMediaKeys object and set it on the video tag Create a MediaKeySession using init data from msneedkey event In resonse to mskeymessage event acquire license from server and update mediaKeySession with response

28 Implementation of MSE and EME in Windows
MSE and EME can be used in IE and “Windows Store app using JavaScript and HTML” Through MSE and EME, Windows can process/play DASH segments Only ISO Base Media File Format (no MPEG2-TS) Supported codecs: In IE: H264, AAC In HTML store apps: also Dolby Digital+ PlayReady key system is pre-installed on all Windows versions with media capabilities and can be invoked via: new MSMediaKeys(‘com.microsoft.playready’)

29 Implementing your MPEG-DASH streaming service in Internet Explorer or in a Windows Store app using JavaScript and HTML

30 Getting started: what you need
DASH sample app (e.g. DASH.js) A tool to inspect MP4 files (e.g. MP4 Explorer) Packaging tool/packaging pipeline (e.g. MP4 box, Windows Azure Media Services) Delivery Server (e.g. IIS, Windows Azure Media Services)

31 DASH.JS The DASH Industry Forum’s reference player.
Build 2012 4/15/2017 DASH.JS The DASH Industry Forum’s reference player. A JavaScript implementation of a DASH client in the browser using MSE and EME Player: Source code: © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

32 What are Media Services?
Functional Components for Building Custom Media Workflows in the Cloud

33 Begin today! Create a free Windows Azure trial account
Build 2012 4/15/2017 Begin today! Create a free Windows Azure trial account Get $200 of Windows Azure free with your 1-month trial. Scale your Media Services account to enable dynamic packaging and MPEG-DASH (On-Demand Streaming Reserved Units) Or use your MSDN account Create Windows Azure Media Services subscription using your existing account Use your credits to enable dynamic packaging and MPEG-DASH. © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

34 Things to note When fetching segments / acquiring license via XHR
Build 2012 4/15/2017 Things to note When fetching segments / acquiring license via XHR Observe Cross Origin Resource Sharing (CORS) Host the player page on an http (not https) URL For power efficiency To avoid unnecessary disk caching, set xhr.responseType = ‘ms-stream’ or xhr.msCaching = ‘disabled’ make use of the HTML Fullscreen API document.getElementById(“video”).msRequestFullscreen(); Monitor download speed and playback quality to determine when to change bitrate © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

35 Monitoring playback quality
partial interface HTMLVideoElement { readonly attribute VideoPlaybackQuality videoPlaybackQuality; }; interface VideoPlaybackQuality { readonly attribute DOMHighResTimeStamp creationTime; readonly attribute unsigned long totalVideoFrames; readonly attribute unsigned long droppedVideoFrames; readonly attribute unsigned long corruptedVideoFrames; readonly attribute double playbackJitter; Attributes likely to change

36 Build 2012 4/15/2017 Summary MPEG-DASH provides standardization in the area of adaptive streaming One format going to multiple clients In IE and Windows Store apps using JavaScript and HTML, the MSE and EME APIs can be leveraged Use the same code across app and site Take full advantage of the hardware Plugin-free in the browser End-to-end tools are available today to kick-start development of a DASH service © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

37 Resources DASH Specification (ISO 23009-1):
Media Source Extensions Specification: Encrypted Media Extensions Specification: ISO Base Media File Format Specification (ISO :2008/FDAM-3): Common Encryption Specification (ISO ): DASH.js: Reference Implementation of DASH in the browser by the DASH-IF. Adaptive Streaming SDK + Player Framework

38 4/15/2017 7:48 PM Required Slide *delete this box when your slide is finalized Your MS Tag will be inserted here during the final scrub. Evaluate this session Scan this QR code to evaluate this session and be automatically entered in a drawing to win a prize! © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

39 Build 2012 4/15/2017 © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.


Download ppt "Windows Azure 4/15/2017 Building media streaming apps and sites without plug-ins using MPEG-DASH Daniel Schneider Senior Lead Program Manager, Microsoft."

Similar presentations


Ads by Google