44
Mingfei Yan (@mingfeiy) [email protected] Program Manager Windows Azure Media Services APP205 Key technologies for building great video experience on Windows 8

APP205 Key technologies for building great video experience on Windows 8

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)

Demo

Using Windows Azure Media Services Portal

Streaming Media to Windows 8

2 ways to delivery media to Windows 8

IE10IE10 on theDesktop

IE10 on theDesktop on Windows RT

IE for Windows 8

Progressive Download

Adaptive Streaming

Media Applications for Windows 8

WINDOWS STORE APPLICATION

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

hello world video application

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

What to play - VAST

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>

DemoWhen to play an ad - 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

Smooth Streaming for Windows 8

Demo

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.

“Make everything as simple as possible, but not simpler.”

- Albert Einstein

Thank you!

Q&A

Evaluate this session and you could win instantly!

Head to...aka.ms/te

© 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.