T43F: Silverlight Media End-to-End

T43F: Silverlight Media End-to-End

Microsoft Silverlight Media End-to-End Alex Zambelli Media Technology Evangelist Microsoft Corporation Goals Demonstrate different ways of delivering a rich end-to-end Silverlight media experience Create, Encode, Deliver Three examples Easy: Expression Encoder 2 Intermediate: CTV.ca HD

Advanced: Accenture Business TV The Silverlight 3 media story Silverlight Media Deep-Dives Recommended deep-dive sessions James 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 demo Smooth Streaming User Experience Simulator Alex Zambelli Media Technology Evangelist Developer & Platform Evangelism

demo CTV.ca HD Alex Zambelli Media Technology Evangelist Developer & Platform Evangelism demo Accenture Business TV by Origin Digital Alex Zambelli Media Technology Evangelist Developer & Platform Evangelism Silverlight Media Ecosystem

Capture Create UX Encode Expressio n Encoder 2 Deliver Experienc e

Create Capture Create UX Encode Expressio n Encoder 2 Deliver

Experienc e Fastest Path to Silverlight Microsoft Expression Encoder 2 Supports encoding to Windows Media and Smooth Streaming formats Includes Silverlight 2 player templates with Smooth Streaming support

Can publish directly to IIS7 Encoding for Silverlight Expression Encoder 2 On-demand and live encoding Transcode from a variety of media formats (AVI, MPEG, MP4, QuickTime, etc.) into Windows Media format SMPTE VC-1 video WMA Standard and Professional audio Simple cuts editing Leader, trailer and dynamic ad insertion

Rich metadata, markers and captions Direct WebDAV publishing to Web Encoding for Smooth Streaming Expression Encoder 2 Service Pack 1 Adds support for encoding to Smooth Streaming on-demand file format Encode video to multiple bitrates/resolutions New 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 features Transport, volume and seek controls

Full-screen mode with overlay controls Closed caption (subtitle) support Playlist support Metadata and thumbnail display Chapter (marker) access panel IIS Smooth Streaming support Creating a Player Jump Start Your Development All SL2 templates come with source code

Free to use, modify, deploy Ms-PL Modular player design Allows full integration into custom SL projects Discrete Smooth Streaming component Use as base player, build up demo Content and Player Creation with Expression Encoder 2 Alex Zambelli Media Technology Evangelist

Developer & Platform Evangelism Deliver Capture Create UX Encode Expressio n Encoder 2 Deliver

Experienc e Silverlight Media Delivery Silverlight media delivery methods Traditional streaming Progressive download Smooth Streaming with IIS Media Services Media Delivery Methods

Movie Traditional P P P Seek Streaming aPlay a a c k e t

c c k k e e t t Progressive Download Movie

P aPause c k e t P a c k e t Windows Media Services

2008 For streaming of Windows Media content Free download for all editions of Windows Server 2008 Double scalability compared to WMS9 (Server 2003 x86) Reduced footprint Server Core install Includes WMS Cache/Proxy Plug-In Reduces load on origin server and network IIS Media Services

IIS7 extensions that enhance delivery of media over HTTP networks http://iis.net/Media Bit Rate Throttling Cost-saving bandwidth control Detects encoded bit rate of media files and throttles the download speed accordingly Web Playlists Hide the location of media assets from client by obfuscating the URLs in the returned playlist

Streaming or Progressive Download? Smooth Traditional User Tracking Streaming Streaming: Responsive User Responsive Best of Experience User Traditional

Streaming both Experience Bandwidth Use approache Bandwidth Use User Tracking s No Challenges Separate, smaller streaming networks Progressive Works from a Web

Download Server Server Works from a World-wide scale w/ Web Server HTTP World-wide Progressive Download scale w/HTTP

User tracking Challenges Bandwidth Use (20% watched) Limited User Experience IIS Media Services Smooth Streaming Smooth Streaming for on-demand and live Beta available now

http://iis.net/extensions/SmoothStreamin g Available with Web Platform Installer Smooth Streaming Microsofts implementation of HTTPbased adaptive streaming A hybrid media delivery method that acts like streaming but is in fact a series of short progressive downloads Leverages existing HTTP caches Client can seamlessly switch video quality and bit rate based on perceived network bandwidth and CPU

resources Smooth Streaming Basics Movie Smooth Streaming Video @ Video @ 01:04? Video @ 01:06? 01:08?

Traditional P P P Seek Streaming aPlay a a c k e t c

c k k e e t t Progressive Download Movie P aPause

c k e t P a c k e t Adapting Bit Rate in Real300K @ 00:00? Time

700K @ 00:02? 2.4M @ 00:04? 1.5M @ 2.4M @ 00:06? 00:08? 2.4 M 00:0 0

00:0 2 00:0 4 00:0 6 00:0 8 300K (start quickly)

700K (good network) 2.4M (great network) 1.5M (glitch) 2.4M (play on) 300 K Bit Rate Heuristics

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 rate Each 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 deploy Can utilize any generic HTTP caches/proxies Doesnt require specialized servers at every node Better scalability and reach Reduces 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 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 Experience Capture Create UX Encode Expressio n Encoder

2 Deliver Experienc e Silverlight 2 Media Features Windows Media VC-1, WMV8, WMV7 video WMA Standard, WMA Pro, MP3 audio Stream from Windows Media Services Progressive download from IIS

Smooth Streaming VC-1 Advanced Profile WMA 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 playback Extensible media format support GPU accelerated video scaling Custom effects Pixel shaders Perspective 3D transforms

Also coming Broad encoding support for Smooth Streaming Silverlight MPEG-4 Support File Format ISO Base Media File (*.mp4, *.3gp, *.mov) Progressive download from Web server Video Codec H.264 (MPEG-4 AVC) Baseline, Main and High profiles

Audio Codec Advanced Audio Coding (AAC) Low Complexity (LC) Silverlight Format Extensibility Raw A/V support Silverlight 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 application Transparent and safe Also good for video/audio synthesis CTV.ca Building Up the Silverlight Media Ecosystem Silverlight Player Design UI mockups first designed in Photoshop

Silverlight XAML UI then built in Expression Blend 2 based on mockups Silverlight Player Development Media player engine built on Open Video Player framework http://www.openvideoplayer.com Akamai-lead open source community project Content Creation XDCAM / MXF

HDCAM Encoding for Smooth Streaming Used Expression Encoder 2 in command line mode Batch job automation Produced 6 bitrates for 720p video 8-core encoding workstations 4x real-time turnaround time

Publishing Content uploaded to Akamai CDN PIPE Proprietary Content Management System Developed in-house at CTV Tag content for publishing Delivers RSS feeds to Silverlight clients Uses Media RSS (MRSS) extension format Silverlight Media Ecosystem

Capture Encode Expressio n Encoder 2 Design Develop Expressio n Blend 2

Visual Studio 2008 Deliver Experienc e Accenture Business TV by Origin Digital Player Design and Development

Origin Digital worked with Schematic creative agency to create UI mockups Schematic built the Silverlight player UI in Expression Blend 2 based on mockups Media player functionality was built ground up in Visual Studio 2008 C# programming language Content Creation Video transcoding Origin Digital used their in-house Odaptor service to capture, encode, transcode and

manage rich media content Can ingest digital (file, fiber, satellite) and physical (tape, disc) sources Time synchronization Time stamps inserted into live streams as script commands Time stamps stored in XML files for on-demand content Content Creation Slide synchronization PowerPoint slides exported to bitmap images

Images 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 Publishing Odaptor also handles content management

Edit metadata Manage playlists Publish to CDN (Akamai) via FTP Call to Action - Summary Learn more James Clarke: Content and UX Creation John Bocharov: Content Delivery Nick Brookins: Ad Delivery Try Microsoft Silverlight http://silverlight.net Expression 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.

Recently Viewed Presentations

  • Videoconferencing Open Day Agenda (Draft) January ?? 2007 ...

    Videoconferencing Open Day Agenda (Draft) January ?? 2007 ...

    Videoconferencing in Nurse Education Heather Wharrad School of Nursing University of Nottingham The University of Nottingham, School of Nursing - East Midlands, England Courses 4000 students (pre and post registration, undergraduate and postgraduate); 200+ staff Pre-registration diploma 300 students (2...
  • The Roman Republic and Empire Chapter #1 / Section #2

    The Roman Republic and Empire Chapter #1 / Section #2

    The Roman Republic and Empire Chapter #1 / Section #2 Establishing A Republic Read pg. 20-21 Answer: 1. How did Rome begin? ... "The beasts of the field and the birds of the air have their holes and their hiding...
  • Raspberry Pi Projects - Manasquan Public Schools

    Raspberry Pi Projects - Manasquan Public Schools

    Raspberry Pi Projects. 1 Button. 2 Buttons. Light Emitting Diodes. LED and Buttons
  • Part I: Introduction - CSE at UNT

    Part I: Introduction - CSE at UNT

    MobileIP MobileIP Goal: Allow machines to roam around and maintain IP connectivity Problem: IP addresses => location This is important for efficient routing Solutions?
  • The Great Gatsby

    The Great Gatsby

    Establish a THESIS - this is your main argument; your answer/ position in response to the essay question. Your introduction should be around 4-6 lines in length. In exam conditions you should spend no longer than 5 minutes writing it....
  • Diapositiva 1 - bvsalud.org

    Diapositiva 1 - bvsalud.org

    El lugar de la BVS dentro de una ciberinfraestructura basada en componentes Pedro Urra CNICM-Infomed Cuba, Director Pedro Urra Infomed-CNICM Cuba
  • March Chapter Meeting - central-indiana.iiba.org

    March Chapter Meeting - central-indiana.iiba.org

    Agile Frameworks XP is based on communication, simplicity, feedback, courage, and respect (pair programing, peer reviews, swarming) Scrum framework is based on the Empirical Process. This principle emphasizes the core philosophy of Scrum . based on the three main ideas...
  • ¡Yo Soy Yo!

    ¡Yo Soy Yo!

    then find spanish (spain, traditional sort) select keyboard under spain, traditional sort and. click on spanish. at the bottom ribbon of your computer, you will see . en --- that is for english. if you click on es below it,...