Microsoft Silverlight Media End-to-End

Preview:

DESCRIPTION

Hear how Silverlight and the Microsoft Web Platform make it easier to create compelling and engaging media experiences including optimizing and delivering content in a flexible and cost-effective way. Learn about the tools and out-of-box templates that make it easier than ever to get started in the Media space, to get the most out of your existing media deployments, and to enable designers, developers, and media experts to work together.

Citation preview

Microsoft Silverlight MediaEnd-to-EndAlex ZambelliMedia Technology EvangelistMicrosoft Corporation

Goals

Demonstrate different ways of delivering a rich end-to-end Silverlight media experienceCreate, Encode, Deliver

Three examplesEasy: Expression Encoder 2Intermediate: CTV.ca HDAdvanced: Accenture Business TV

The Silverlight 3 media story

Silverlight Media Deep-Dives

Recommended deep-dive sessionsJames Clarke (Microsoft): “Creating Media Content for Microsoft Silverlight Using Microsoft Expression Encoder”

Wednesday, 4:00 PM, Delfino 4105

John Bocharov (Microsoft): “Delivering Media with Microsoft IIS Media Services and Microsoft Silverlight”

Thursday, 1:00 PM, Delfino 4105

Nicholas Brookins (Akamai):“Delivering Ads to a Silverlight Media Player”

Friday, 9:00 AM, Lando 4201

Smooth StreamingUser Experience SimulatorAlex ZambelliMedia Technology EvangelistDeveloper & Platform Evangelism

demo

CTV.ca HD

Alex ZambelliMedia Technology EvangelistDeveloper & Platform Evangelism

demo

Accenture Business TV by Origin DigitalAlex ZambelliMedia Technology EvangelistDeveloper & Platform Evangelism

demo

Expression Encoder

2

Capture Create UXEncode

Deliver Experience

Silverlight Media Ecosystem

Expression Encoder

2

Capture Create UXEncode

Deliver Experience

Create

Fastest Path to Silverlight

Microsoft Expression Encoder 2

Supports encoding to Windows Media and Smooth Streaming formatsIncludes Silverlight 2 player templates with Smooth Streaming supportCan publish directly to IIS7

Encoding for Silverlight

Expression Encoder 2On-demand and live encodingTranscode from a variety of media formats (AVI, MPEG, MP4, QuickTime, etc.) into Windows Media format

SMPTE VC-1 videoWMA Standard and Professional audio

Simple cuts editingLeader, trailer and dynamic ad insertionRich metadata, markers and captionsDirect WebDAV publishing to Web

Encoding for Smooth Streaming

Expression Encoder 2 Service Pack 1Adds support for encoding to Smooth Streaming on-demand file formatEncode video to multiple bitrates/resolutionsNew Silverlight 2 player templates with Smooth Streaming support

Also available as an SDK for deep integration into automated workflows

Configuring Expression Encoder

EE2 Silverlight Templates

Expression Encoder can automatically generate a Silverlight player application

SL2 Template Features

Default Silverlight 2 template featuresTransport, volume and seek controlsFull-screen mode with overlay controlsClosed caption (subtitle) supportPlaylist supportMetadata and thumbnail displayChapter (marker) access panelIIS Smooth Streaming support

Creating a Player

Jump Start Your Development

All SL2 templates come with source codeFree to use, modify, deploy – Ms-PLModular player design

Allows full integration into custom SL projectsDiscrete Smooth Streaming component

Use as base player, build up

Content and Player Creation with Expression Encoder 2Alex ZambelliMedia Technology EvangelistDeveloper & Platform Evangelism

demo

Expression Encoder

2

Capture Create UXEncode

Deliver Experience

Deliver

Silverlight Media Delivery

Silverlight media delivery methodsTraditional streaming

withIIS Media Services

Progressive downloadSmooth Streaming

Movie

Media Delivery Methods

Packet Packet Packet Packet Packet

Traditional Streaming

Movie

Progressive Download

Play SeekPaus

e

Windows Media Services 2008

For streaming of Windows Media contentFree download for all editions of Windows Server 2008Double scalability compared to WMS9 (Server 2003 x86)Reduced footprint – Server Core installIncludes WMS Cache/Proxy Plug-In

Reduces load on origin server and network

IIS Media Services

IIS7 extensions that enhance delivery of media over HTTP networkshttp://iis.net/MediaBit Rate Throttling

Cost-saving bandwidth controlDetects encoded bit rate of media files and throttles the download speed accordingly

Web PlaylistsHide the location of media assets from client by obfuscating the URLs in the returned playlist

Streaming or Progressive Download?

Traditional Streaming• Responsive

User Experience

• Bandwidth Use• User Tracking

Progressive Download• Works from a

Web Server• World-wide

scale w/HTTP

Challenges• No

cacheability• Separate,

smaller streaming networks

Challenges• Limited User

Experience• User tracking• Bandwidth

Use (20% watched)

Smooth Streaming:Best of both approaches

Traditional Streaming• Responsive

User Experience

• Bandwidth Use• User Tracking

Progressive Download• Works from a

Web Server• World-wide

scale w/HTTP

IIS Media ServicesSmooth Streaming

Smooth Streaming for on-demand and liveBeta available now

http://iis.net/extensions/SmoothStreaming

Available with Web Platform Installer

Smooth Streaming

Microsoft’s implementation of HTTP-based adaptive streamingA hybrid media delivery method that acts like streaming but is in fact a series of short progressive downloadsLeverages existing HTTP cachesClient can seamlessly switch video quality and bit rate based on perceived network bandwidth and CPU resources

Movie

Smooth Streaming Basics

Packet Packet Packet Packet Packet

Traditional Streaming

Smooth Streaming

Movie

Progressive Download

Play SeekPaus

e

Video @ 01:04?Video @

01:06?Video @ 01:08?

Adapting Bit Rate in Real-Time

2.4M

300K

Bit Rate Heuristics

300K @ 00:00?700K @ 00:02?

2.4M @ 00:04?1.5M @

00:06?2.4M @ 00:08?

00:00

00:02

00:04

00:06

00:08

300K (start quickly)700K (good

network)2.4M (great network)1.5M (glitch)

2.4M (play on…)

Smooth Streaming Design

Smooth Streaming File Format based on MP4 (ISO Base Media File Format)Video is encoded and stored on disk as one contiguous MP4 file

One file per bit rateEach video Group of Pictures (GOP) is stored in a Movie Fragment box

This allows easy fragmentation at key frames

Contiguous file is virtually split up into chunks when responding to a client request

Content Provider Benefits

Cheaper to deployCan utilize any generic HTTP caches/proxiesDoesn’t require specialized servers at every node

Better scalability and reachReduces “last mile” issues because it can dynamically adapt to inferior network conditions

Audience can adapt to the content, rather than requiring the content providers to guess which bit rates are most likely to be accessible to their audience

End User Benefits

Fast start-up and seek times Start-up/seeking can be initiated on the lowest bit rate before moving up to a higher bit rate

No buffering, no disconnects, no playback stutter

As long as the user meets the minimum bit rate requirement

Seamless bit rate switching based on network conditions and CPU capabilities.A generally consistent, smooth playback experience

Expression Encoder

2

Capture Create UXEncode

Deliver Experience

Experience

Silverlight 2 Media Features

Windows MediaVC-1, WMV8, WMV7 videoWMA Standard, WMA Pro, MP3 audio

Stream from Windows Media ServicesProgressive download from IIS

Smooth StreamingVC-1 Advanced ProfileWMA Standard, WMA Pro

HTTP-based adaptive streaming from IIS7

Silverlight DRM, Powered By PlayReady

Silverlight 3 Media Features

New media features:H.264 / AAC / MP4 playbackExtensible media format supportGPU accelerated video scalingCustom effects – Pixel shadersPerspective 3D transforms

Also comingBroad encoding support for Smooth Streaming

Silverlight MPEG-4 Support

File FormatISO Base Media File (*.mp4, *.3gp, *.mov)Progressive download from Web server

Video CodecH.264 (MPEG-4 AVC)

Baseline, Main and High profiles

Audio CodecAdvanced Audio Coding (AAC)

Low Complexity (LC)

Silverlight Format Extensibility

Raw A/V supportSilverlight media engine can play back raw YUV video and PCM audio

Developers can write custom video and audio decoders, and custom format parsers in .NET code

Can include 3rd party codec support in Silverlight applicationTransparent and safe

Also good for video/audio synthesis

CTV.caBuilding Up the Silverlight Media Ecosystem

Silverlight Player Design

UI mockups first designed in PhotoshopSilverlight XAML UI then built in Expression Blend 2 based on mockups

Silverlight Player Development

Media player engine built on Open Video Player frameworkhttp://www.openvideoplayer.com Akamai-lead open source community project

Content Creation

HDCAM

Encoding for Smooth Streaming

Used Expression Encoder 2 in command line mode

Batch job automationProduced 6 bitrates for 720p video8-core encoding workstations4x real-time turnaround time

Publishing

Content uploaded to Akamai CDN

PIPEProprietary Content Management SystemDeveloped in-house at CTV

Tag content for publishingDelivers RSS feeds to Silverlight clients

Uses Media RSS (MRSS) extension format

Expression Encoder

2

Capture Encode Deliver Experience

Silverlight Media Ecosystem

Expression Blend 2

Design Develop

Visual Studio 2008

Accenture Business TVby Origin Digital

Player Design and Development

Origin Digital worked with Schematic creative agency to create UI mockupsSchematic built the Silverlight player UI in Expression Blend 2 based on mockupsMedia player functionality was built ground up in Visual Studio 2008

C# programming language

Content Creation

Video transcodingOrigin Digital used their in-house Odaptor service to capture, encode, transcode and manage rich media contentCan ingest digital (file, fiber, satellite) and physical (tape, disc) sources

Time synchronizationTime stamps inserted into live streams as script commandsTime stamps stored in XML files for on-demand content

Content Creation

Slide synchronizationPowerPoint slides exported to bitmap imagesImages converted to Deep Zoom presentations using Deep Zoom Composer

Download it from http://silverlight.net/GetStarted

Each page tagged in XML to achieve slide synchronization

XML-based tagging system allows any document type to be assigned to timeline

Publishing

Odaptor also handles content management

Edit metadataManage playlistsPublish to CDN (Akamai) via FTP

Call to Action - Summary

Learn moreJames Clarke: Content and UX CreationJohn Bocharov: Content DeliveryNick Brookins: Ad Delivery

TryMicrosoft Silverlight http://silverlight.netExpression Studio http://microsoft.com/expression

IIS Media Services http://iis.net/Media Bookmark

http://alexzambelli.com/blog/

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

Recommended