Upload
paulina-morris
View
213
Download
0
Tags:
Embed Size (px)
Citation preview
Mingfei Yan (@mingfeiy)[email protected] ManagerWindows Azure Media Services
APP205
Key technologies for building great video experience on Windows 8
Agenda
Challenges for providing good video experience
How could Windows Azure media services help
Overall Reach Story with SDKs and Player Frameworks
Stream media on Windows 8/Windows 8.1 Windows 8 player framework Advertisement solution
What changed for Media Industry?
100 M Household WW
OWN AT LEAST ONECONNECTED TV
50%SMARTPHONES
19%TABLETS
MULTITASKWHILE WATCHING TV
80% 10 BillionsMOBILE CONNECTED DEVICES
by 2016*Source: Cisco, Gartner
Fragmentation
WEB99% on DESKTOPSand LAPTOPS
sl
MOBILE
There is an app for it
APPLICATIONS
BROWSERVIDEO
NO PLUGIN
PROGRESSIVE DOWNLOAD
ADAPTIVE STREAMING
Philosophy
High Quality videos for any device
Anywhere and Anytime
format agnostic
Smooth Streamingmpeg-DASHFlash HTTP Dynamic StreamingApple HTTP Live StreamingProgressive Download
protocol agnostic
HTTPRTMP
DRM agnostic
PlayReadyAdobe Access
Reach any end point with best possible format, protocol and DRM for it
Reach Story – media playersW
EB Silverlight
Smooth Streaming Player FrameworkSmooth Streaming Client SDK
Flash
OSMF plugin for smooth streamingMPEG-DASH support (Not released)
HTML5
HTML5 Player FrameworkDASH.JS with IE11
AP
PS Windows 8
Smooth Streaming Player FrameworkSmooth Streaming Client SDKWith MPEG-DASH support
XBox
Smooth Streaming Player FrameworkSmooth Streaming Client SDK
TV/STBs
Smooth Streaming Porting KitPartner integrations
MO
BIL
E WinPhone
Player Framework for WinPhone 8Smooth Streaming Client SDK
Android
Partner SDKs and FrameworksOSMF plugin for smooth streaming
iOS
Player Framework for smooth streaming with PlayReadyPlayer Framework for HLS
More information please see here.
Media Services Architecture
REST APIs
“Build-On” Media Partners and Customers
Azu
re C
DN
Media Services
Adaptive StreamingPorting Kits
Part
ner
CD
Ns
Origin
Caching
Secure Media Ingest
Media Job Scheduling
Encoding
ContentProtection
On-DemandOrigin
Live Origin
Analytics Identity Management
Live Ingest
Live Encoding
Client Libraries
Android
HTML 5
Advertising
Flash
XBOX 360
WindowsPhone
iOS
Released
Coming Soon
Partners
Partner Technologies (Media Processors, Origin Servers, Live Encoders etc.)
Static/Dynamic Packaging
(Fabric, Storage, Compute, Database)
IE10IE10 on theDesktop
IE10 on theDesktop on Windows RT
IE for Windows 8
Progressive Download
Adaptive Streaming
Streaming Media to Windows 8.1
IE 11 starts to support adaptive streaming (MPEG-DASH) through HTML5 <video> with content protection
What is MPEG-DASH?Currently there are three major vendor-centric streaming formats (all takes H.264 as input)
Smooth Streaming Http Live Streaming Http Dynamic Streaming
Dynamic Adaptive Streaming over HTTP (DASH) also called MPEG-DASH
MPEG-DASH is the first adaptive bit-rate HTTP-based streaming solution that is an international standard (ISO/IEC 23009-1)
Which client supports DASH?
Browser ( HTML5 )Media Source Extension (MSE) APIs : Enable DASH adaptive streaming
Encrypted Media Extension (EME) APIs : DRM license acquisition <Video>
DASH.JS : A JavaScript-based library which enables DASH playback via HTML5
Windows 8 for DASHMicrosoft player framework: http://playerframework.codeplex.com/
Flash OSMF Plugin for DASHRelease soon
The DASH Industry Forum’s reference player
A JavaScript implementation of a DASH client in the browser using MSE and EME
DASH IF reference Client:http://dashif.org/reference/players/javascript/index.html
Source code: https://github.com/Dash-Industry-Forum/dash.js
DASH.JS
Contributors:
Demo
MPEG-DASH with IE 11http://ie.microsoft.com/testdrivehttp://dashif.org/reference/players/javascript/0.2.4/index.html
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
References for MPEG-DASH• DASH-IF reference player http://dashif.org/reference/players/javascript/0.2.4/index.html
• Demos:IE11 test drive (http://ie.microsoft.com/testdrive)Netflix player through IE 11 (http://www.netflix.com/)
• Blog post:MPEG DASH preview from Windows Azure Media Services by John Deutscher Dynamic Packaging with MPEG-DASH live profile streaming support by Mingfei YanMS Open Tech early contributor to open source dash.js community by Microsoft Open TechMPEG-DASH: Making Tracks Toward Widespread Adoption by Streamingmedia.com
• Sessions:Building Media Streaming Apps and Sites Without Plug-Ins Using MPEG-DASH by Daniel Schneider
Building Windows Store application
Player Applications(Customer’s app)
Player Frameworks(HTML5/XAML Player Framework)
Client SDK(SS Extension SDK)
Media Pipeline(Windows 8 MF)
Platform(Windows 8)
Using Player Frameworks and Client SDK:
Light up support for video element in modern style applicationsHTML 5 Modern style applications
XAML Modern style applications
C++ Modern style applications
Provide an easy way to Consume Smooth Streaming and MPEG-DASH
Port existing video apps to windows 8
Monetize apps with in-built Ad support and rich Analytics
Get started with VS templates and client frameworks
Smooth Streaming Extension SDK
Decoder Renderer Decrypter(DRM)
Media foundationInterface
Media Engine in Windows 8 platform
PLAYBACK PIPELINE
Native codec support: H.264, WMV, VC-1 and etc.
Application with Smooth Streaming Sourceurl : …/manifest
Smooth StreamingExtension SDK
Application with video sourceurl : …/a.mp4
Player FrameworksShipped as Open source at playerframework.codeplex.comBuilds on capabilities of Smooth Streaming ClientAvailable for multiple platform
Windows 8 Player• HTML/JavaScript Modern style applications• XAML/C# Modern style applications
HTML5 player for browserSilverlight & Windows Phone player
Well established player frameworkPlugin Architecture – import what you need
Player Applications(e.g., NBC, Comcast)
Player Frameworks(e.g., MMPPF, HTML5 framework)
Client SDK / Porting Kits(e.g., SSME, SSPK)
Media Pipeline(e.g., Silverlight,
GStreamer)
Platform(e.g.,
Windows/ Linux)
Windows 8 Features
Smooth Streaming (VOD and live)
Closed captioning
Advertising
LoggingProgressive Video
Player styling
DVR controls
PlayReady DRM
Analytics
Offline
Multiple Audio MPEG-DASH
Trick Play
Advertising DefinitionLinear Ads: presented before, between or after video content. Linear Ad takes over the full view of video.
Advertising DefinitionNon-linear Ads: runs parallel to the video content so the user still has the option of viewing the content.It could be text, graphical banner/buttons or video overlays
Advertising DefinitionCompanion Ad: Pairing with Linear Ad or Non-Linear AdIt offers sustained visibility of the sponsor throughout the video content
After 5 sec when linear ad is over
Advertising StandardsVAST (Video Ad Serving Template) 3.0 / 2.0
It tells video player what to playRecommended by IABBased on XMLServed by majority of ad serversFive Ads formats:
Skippable Linear AdsAd Pods (a sequenced group of ads)Linear AdsNon-linear AdsLinear Ads with Companions
Advertising StandardsVAST (Video Ad Serving Template) 3.0 / 2.0<VAST version=“3.0”>
<Ad><InLine><AdSystem>My Ad Server</AdSystem><AdTitle>Car Company</AdTitle><Impression>...</Impression>
<Creatives><Creative>
<Linear>...</Linear></Creative><Creative>
<CompanionAds>...</CompanionAds></Creative>
</Creatives></InLine>
</Ad></VAST>
Advertising Standards
<Creative id="video" sequence="0" AdID=""><Linear>
<Duration>00:00:32</Duration><TrackingEvents>...</TrackingEvents><VideoClicks>...</VideoClicks><MediaFiles>
<MediaFile apiFramework="Windows Media" id="windows_progressive_200" maintainAspectRatio="true" scaleable="true" delivery="progressive" bitrate=“200” width="400" height="300" type="video/x-ms-wmv"><![CDATA[
http://smf.blob.core.windows.net/samples/ads/media/XBOX_HD.wmv]]>
</MediaFile></MediaFiles>
</Linear>
VAST (Video Ad Serving Template) 3.0 / 2.0
Advertising StandardsVMAP (Digital Video Multiple Ad Playlist) 1.0
Recommended by IABIt is very useful when content owner doesn’t have control over playerUsed by content owner to describe ad breaks
Timing for each breakHow many breaks are availableWhat types of adsHow many are allowed in each break
Advertising StandardsVMAP (Digital Video Multiple Ad Playlist) 1.0<vmap:VMAP xmlns:vmap="http://www.iab.net/vmap-1.0" version="1.0">
<vmap:AdBreak breakType="linear" breakId="mypre" timeOffset="start"><vmap:AdSource allowMultipleAds="true" followRedirects="true" id="1">...</vmap:AdSource><vmap:TrackingEvents>...</vmap:TrackingEvents>
</vmap:AdBreak><vmap:AdBreak breakType="linear" breakId="myrelative" timeOffset="5%">
<vmap:AdSource allowMultipleAds="true" followRedirects="true" id="2">...</vmap:AdSource><vmap:TrackingEvents>...</vmap:TrackingEvents>
</vmap:AdBreak><vmap:AdBreak breakType="linear" breakId="myabsolute" timeOffset="00:00:15.001">
<vmap:AdSource allowMultipleAds="true" followRedirects="true" id="3">...</vmap:AdSource><vmap:TrackingEvents>...</vmap:TrackingEvents>
</vmap:AdBreak>……
</vmap:VMAP>
What happened behind the scene?
VMAP.xmlAt 5 Seconds Play
At 15 Seconds Play
Post roll Play
Vast.xml
Vast.xml
Vast.xml
Advertisement 1
Advertisement 2
Advertisement 3
VMAP.xml
Upload
5 S 15 S Post Roll
Develop
Content Provider
Player developer
Streaming Media in Xpreshon
Platform.Web Platform.Worker
Contract
Domain
Rights
Platform.Data
IngestionBillingAnalyticsContentAdmin
Storage
xpreshon xpreshonmediasvc
Server Side Client Applications
Infrastructure Technology
Portal
XBRPSDKWIF
I am a Developer: Tell Me How it’s DoneDownload Microsoft Media Platform Player frameworkhttp://playerframework.codeplex.com/releases/view/96091
Microsoft Smooth Streaming client SDK for Windows 8http://visualstudiogallery.msdn.microsoft.com/04423d13-3b3e-4741-a01c-1ae29e84fea6?SRC=Home
Microsoft PlayReady Client SDK for Windows 8http://visualstudiogallery.msdn.microsoft.com/e02ccac7-f3eb-4b53-b11a-c657d5631483
Microsoft Smooth Streaming Client SDK 8.1http://visualstudiogallery.msdn.microsoft.com/0170c67c-c183-4fee-8dd4-c2b44d710d40
Microsoft PlayReady Client SDK for Windows 8.1http://visualstudiogallery.msdn.microsoft.com/59be4d26-7f00-463e-9d61-2803c36b576b
Where to get started:Download MMPPF sample app and learn from sample code
http://playerframework.codeplex.com/releases/view/92745
Getting to know about Windows Azure Media Serviceshttps://www.windowsazure.com/en-us/home/features/media-services/
Reach Story – media playersW
EB Silverlight
Smooth Streaming Player FrameworkSmooth Streaming Client SDK
Flash
OSMF plugin for smooth streamingMPEG-DASH support (Not Released)
HTML5
HTML5 Player FrameworkDASH.JS with IE11
AP
PS Windows 8
Smooth Streaming Player FrameworkSmooth Streaming Client SDKWith MPEG-DASH support
XBox
Smooth Streaming Player FrameworkSmooth Streaming Client SDK
TV/STBs
Smooth Streaming Porting KitPartner integrations
MO
BIL
E WinPhone
Player Framework for WinPhone 8Smooth Streaming Client SDK
Android
Partner SDKs and FrameworksOSMF plugin for smooth streaming
iOS
Player Framework for smooth streaming with PlayReadyPlayer Framework for HLS
More information please see here.
© 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.