370 likes | 522 Views
Microsoft Silverlight Moving at 60fps MIX10-CL25. Eric Schmidt Sr. Director Microsoft Corporation March 2010. Key Messages for Today. The media stack in and for Silverlight rocks We are building frameworks to help you reduce cost, complexity and caffeine
E N D
Microsoft SilverlightMoving at 60fpsMIX10-CL25 Eric Schmidt Sr. Director Microsoft Corporation March 2010
Key Messages for Today • The media stack in and for Silverlight rocks • We are building frameworks to help you reduce cost, complexity and caffeine • The media stack in and for Silverlight rocks
Mindmap of Session • Point of reference • Fast, cheap, robust • Please install my app • Protecting your investment • Beyond the browser • I’m OK are you OK? • A few more things…
Delivering Video and Audio to Silverlight • Progressive download • Windows Media live streaming • Windows Media on-demand streaming • Smooth Streaming live streaming • Smooth Streaming on-demand streaming • MediaStreamSource 00:00 00:02 00:04 00:06 00:08 2.4M … 300K
Microsoft Silverlight Media Framework • http://www.codeplex.com/smf • Open source media framework for Silverlight • Efficient and robust “out of the box” player creation • Optimized for Smooth Streaming • Iterative real-world engineering
Microsoft Silverlight Media Framework • 1.0 (PDC) • Silverlight 3 • Smooth Streaming only • DVR • Inline and full screen • 1.1 (1/2010) • Silverlight 3 • Added progressive download • Slo-mo • Bit-rate meter • Off live detection • Logging • Chapter markers • Themeing • 2.0 (4/2010) • Silverlight 4 • Blend 4 design time integration • Improved API • Documentation (API and guidance) • Advertising scheduling • Plug in model • Closed captioning • Auto and raw development model • …
Microsoft Silverlight Media Framework DEMO • A simple Progressive, WMS w/multi-cast, Smooth Streaming VC-1 and h.264 player • Playlist support • Styling • Retry agent • Chapter marker support • Closed-captioning support • Ad scheduling • Reference players • http://livesmooth.istreamplanet.com/mix10ces/player.htm • http://player.smooth.vertigo.com/
Microsoft Silverlight Install Logging Framework • http://mediaevangelism.com/silf/silf.html • Drop-in replacement for standard Silverlight.js • Uses simple JavaScript variables to automatically control Install and Upgrade experience • Optional integration with logging frameworks to track installs/upgrades • Exposes Silverlight version via JavaScript • Supports Windows (including Chrome), OSX and Linux (Moonlight)
Microsoft Silverlight Install Logging Framework • Integrate the call to action
Microsoft Silverlight Install Logging Framework • Notify progress
Microsoft Silverlight Install Logging Framework • Inline refresh
Microsoft Silverlight Install Logging Framework • Discreet, session based tracking for • install screen shown to user • upgrade screen show to user • unsupported platform shown to user • "restart required" after upgrade shown to user • user chose to install • user chose to upgrade • user selected a "no thanks" option • user abandoned (navigate away / close browser) • successful installation • Async HTTP logging • parms?u=0f741eb9-b36e-429d-bf77-40b9768e333b&a=1&i=0&t=1268451113857&an=YourApp&av=10.0
Microsoft Silverlight Install Logging Framework DEMO • Instrumentation for live site • Entry flow • Slate flow
Content Access and Proctection • Important background framing • Smooth Streaming Transport Protocol • Protected Interoperable File Format • PlayReady enables encrypted content • PlayReady enables Silverlight to provide the following scenarios • Purchase, subscription, pay per view, rental • PlayReady enabled Silverlight 4 capabilities • On and offline support • Persistent Licenses (multi use based on time) • Non-persistent licenses (single use) • Output protection • Domain support • Chained licenses
Content Access and Proctection • PlayReady with Silverlight 101 • Implement PlayReady server • Build or “lease” • Encrypt content • Windows Media • Smooth Streaming (VC-1 and H.264) • Implement license issuing handler on PlayReady server • Configure Silverlight license request
Content Access and Proctection DEMO • Smooth Streaming manifest with PIFF encrypted header • LicenseAquirer with CustomData (non-persistent license) • Output protection
Extending to the Phone • Facts • Fragmented mp4 and H.264 is the future • IIS Media Services and Smooth Streaming provide a seamless mechanism for targeting multiple playback devices • Silverlight provides a cross platform application development environment • Windows Phone 7 supports • Live and on-demand Smooth Streaming playback for VC-1 and H.264 • Silverlight 3 feature including PlayReady • *No dynamic scaling • Nokia supports • Silverlight 2 feature set
Extending to the Phone - DEMO • Smooth Streaming on Windows Phone 7 • Smooth Streaming and PlayReady on Windows Phone 7
Monitoring Quality and Telemetry • Facts • Humans do not like poor quality • Advertising impressions require human targets • Publishers lose money when humans abandon media experiences • HD delivery requires a consistent set of factors (encoding, delivery, playback) • HD is the new baseline for online media • Silverlight and Smooth Streaming provide a turn key solution to deliver the highest quality video on the web
Monitoring Quality and Telemetry • Anatomy of Quality • Encoder • Quality of encode • Latency and reliability of encode to origin server • Origin Server • Efficient stream “packing” • Availability • CDN • Efficiency of cache filling • Efficiency of edge distribution • Client • Heuristics monitoring • “I/O” monitoring
Monitoring Quality and Telemetry • What’s important? • Stream start up time • Time spent in buffering • Consistent bit rate switching • Dropped to targeted frames per second • HTTP errors • Transient media failures • Catastrophic media failures • CPU utilization • Five ways to get the data you need • Smooth Streaming Advanced Logging • Low level traces from Smooth Streaming • 3rd Party providers • Microsoft Silverlight Media Framework (Diagnostics) • Microsoft Silverlight Analytics Framework
Monitoring Quality & Analytics Your Application Silverlight Analytics Framework Silverlight Media Framework Silverlight Media Framework (Diagnostics) Smooth Streaming Media Element Silverlight Media Framework (Diagnostics)
Monitoring Quality and Telemetry - DEMO • Self service • Smooth Streaming config & Tracing • Silverlight Media Framework Diagnostics • http://mediaevangelism.com/ssmonitor/ • Filter, collect, remote, filter, persist, report • 3rd Party • Conviva • …
Webcam and Microphone Support • Building a Webcam application • Check if user has “AllowedDeviceAccess” • If not “RequestDeviceAccess” (this must been done on user initiated action) • Start the CaptureSource • CaptureImage or set source of VideoBrush
Demo • Steal the egg…
3D Made Easy • Pixel shaders + math = Fun • Implementing stereoscopic 3D with Silverlight • Create a stereoscopic video source (side by side of over/under) • Use Pixel Shaders to transform your stereoscopic image into an anaglyph • Wear funny glasses Red Cyan
Converting to Anaglyph Start with stereoscopic source encoded side-by-side or over-under Take the left half of the image and keep only the green and blue channels Start with stereoscopic source encoded side-by-side or over-under Take the left half of the image and keep only the green and blue channels Resize the composited half to its native full size Resize the composited half to its native full size Composite the two halves together into a single image Take the right half of the image and keep only the red channel Take the right half of the image and keep only the red channel
3D Made Easy • Set media element to no stretch • Set media element size to native video source size • Apply effect to media element • Turn bitmap on media element’s parent (e.g. canvas) • Apply transform to media element’s parent • Effect order matters (set on media element) • _Rendering element • CacheMode (use bitmap cache) • OpacityMask • Opacity • Effect • Clip • Perspective • Transform • _Parent element
Demo • Put on glasses
Wrap Up • The media stack in and for Silverlight rocks • VC-1, H.264, … • Live, on-demand • Multi-cam, Webcam • Play Ready • IIS Media Services 3.0 • Smooth Streaming Client SDK • Expression Encoder • Windows Phone 7 • We are building frameworks to help you reduce cost, complexity and caffeine • Microsoft Silverlight Media Framework • Microsoft Silverlight Analytics Framework • Microsoft Silverlight Install Framework
Thank You • eschmidt@microsoft.com © 2009 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.