Date post: | 12-May-2015 |
Category: |
Technology |
Upload: | goodfriday |
View: | 413 times |
Download: | 0 times |
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.