Building video application for windows 8 with Windows Azure Media Services Mingfei Yan Program Manager Microsoft Corporation WCL332
Media Industry trend What Microsoft media platform offers Windows Azure Media Services Microsoft Media Platform Player framework for Windows 8 Smooth streaming support Closed caption Advertising (VAST and VMAP) Sample Windows 8 applications
Faster Internet connection increases the popularity of streaming “For 1 st time, Online movie viewing in the U.S. will exceed digital video disc and Blu-ray use this year” - IHS
More video-capable smart devices “Mobile video traffic exceeded 50 percent for the first time in Two-thirds of the world's mobile data traffic will be video by 2016.“ Resources provided by Cisco white paperwhite paper
Http-based Adaptive Bitrate Streaming Define good view experience Watch online videos anywhere, anytime on any devices They want videos to be streamed without interruption in the highest resolution possible
Http-based Adaptive Streaming 200 kbps 2 mbps Video Http server HTTP Chunk Size: 2 sec video it allows the stream to actually adapt the video experience to the quality of the network and the device’s CPU. Encoding with Multiple Bit Rates 5 mbps
Http-based Adaptive Streaming Why this is good? Best viewing experience Real cost cutting Scalability Where you watch How much video loaded Dynamic Adaptive Streaming over HTTP (DASH) Also called MPEG-DASH Smooth Streaming Http Live Streaming Http Dynamic Streaming Currently there are three major streaming formats (all takes H.264 as input)
Jobs, “yeah I meant it: Flash sucks”
Adobe’s response
Plugin-free Will HTML5 be the cross browser, cross platform solution? Apple’s (implied) response
The Status of HTML5 video Resources provided by longtail videolongtail Apple iOS implemented Http Live Streaming but it is not the standard No Digital Right management (DRM) solution for HTML5
Broadcasters Network Operators Content Owners Enterprises Private Rental Purchase Ad-Supported Free IngestEncoding Format Conversion Content Protection On-Demand Streaming Live Streaming Analytics Windows Azure Media Services Multiple end points Multiple delivery options Multiple monetization models
Media Players Microsoft End Points Non- Microsoft End Points Flash (Smooth, DASH) iOS (Smooth, HLS) (Smooth, DASH) XBOX (Smooth, DASH) Silverlight (Smooth, DASH) Windows Phone (Smooth, DASH) Android (HLS & 3 rd party) Porting Kit for Devices (Smooth, DASH)
Player Applications (Customer’s app) Player Frameworks (HTML5/XAML Player Framework) Client SDK (SS Extension SDK) Media Pipeline (Windows 8 MF) Platform (Windows 8) Primary media delivery platform for Windows 8 Light up support for video element in modern style applications HTML 5 Modern style applications XAML Modern style applications C++ Modern style applications Provide and easy way to Consume Smooth Streaming and other formats in future (e.g., 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 Early developer bits already available
Decoder RendererDecrypter (DRM) Media Source Interface PLAYBACK PIPELINE Native codec support: H.264, WMV, VC-1 and etc. Application with Smooth Streaming Source url : …/manifest Smooth Streaming Extension SDK
Shipped as Open source at playerframework.codeplex.complayerframework.codeplex.com Builds on capabilities of Smooth Streaming Client Available for multiple platform Windows 8 Player HTML/JavaScript Modern style applications XAML/C# Modern style applications HTML5 player for browser Silverlight & Windows Phone player Well established player framework Plugin 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)
Smooth Streaming (VOD and live) Closed captioning Advertising Logging Progressive Video Player styling DVR controls PlayReady DRM Analytics Offline Multiple Audio MPEG-DASH Trick Play
Demo hello world video application
Encoding Analytics Windows Azure Media Services Live Streaming Format Conversion Content Protection On-Demand Streaming Advertising Ingestion
Demo Smooth streaming asset from cloud
Demo Closed caption support
After 5 sec when linear ad is over
It tells video player what to play Recommended by IAB Based on XML Served by majority of ad servers Five Ads formats: Skippable Linear Ads Ad Pods (a sequenced group of ads) Linear Ads Non-linear Ads Linear Ads with Companions VAST (Video Ad Serving Template) 3.0 / 2.0
My Ad Server Car Company
00:00:32... <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[ ]]> VAST (Video Ad Serving Template) 3.0 / 2.0
Demo What to play - VAST
VMAP (Digital Video Multiple Ad Playlist) 1.0 Recommended by IAB It is very useful when content owner doesn’t have control over player Used by content owner to describe ad breaks Timing for each break How many breaks are available What types of ads How many are allowed in each break
VMAP (Digital Video Multiple Ad Playlist) ……
Demo When to play an ad - VMAP
Download Microsoft Media Platform Player framework Install Smooth Streaming client SDK Install Microsoft PlayReady Client SDK Where to get started: Download MMPPF sample app and learn from sample code Getting to know about Windows Azure Media Services All the sessions materials are available at :