Smooth Streaming Live in HDFrom Camera to ScreenScott Stanfield [email protected]
Mike Hanley VP of [email protected]
Smooth Streaming Live in HD: From Camera to ScreenThe Olympics video team offers you a rare chance to witness an HD production set up, step-by-step, from scratch.
Starting with an HD camera, we push the signal through an encoder with a tuned Smooth Streaming configuration, into Internet Information Services (IIS) 7.0, and then out through a Microsoft Silverlight 4 player using File | New and the Silverlight Media Framework. See the same techniques behind Sunday Night Football and the 2010 Winter Olympics, only on a smaller scale. This is a one-of-a-kind session including specialized hardware; not to be missed if you're curious about HD Internet broadcast.
Session EX32
1. Setup the shot2. Setup the IIS 7.5 Server3. Setup the video encoder4. Build a video player in Visual Studio
Smooth Streaming “Hello World”
• Camera, connected to a• Video encoder, connected to a• IIS 7.5, connected to a• CDN, connected to a• Vertigo video player, inside• My browser
What’s On Stage?
Frame Size 1280 x 720, or1920 x 1080
Scanning SystemProgressive orInterlaced
Frame Rate 24 or 30 fps
720p30
What is HD?
What is HD
1. Acquire the video source2. Convert signal to a connection type that the Inlet encoder supports3. Preview window on the encoder4. Profile preset on the encoder to do IIS Smooth Streaming
• IIS ingest server• IIS 7.5 with IIS Media Services 3.0• IIS Publishing Point
• Pick the bitrates on the encoder • Alex’s Smooth Streaming calculator• 16:9 (divisible by 16)
5. Pick the “in page” player size6. Start encoder
Video Acquisition and Encoding
1. Writing a simple Video Player using the SMF2. Wire up the manifest URL3. Hit F5 and run the player
• Watching the live audience (with a 6 delay second)4. SMF sites on top of the Microsoft Smooth Streaming Media Element
• Available at CodePlex (http://smf.codeplex.com)• SMF opens in Expression Blend• SMF 1.1 out now and 2.0 coming soon• Support for Progressive and Adaptive Streaming
Silverlight 4 Player Development
JOHN BISHOPFounder, Inlet Technologies
Live Adaptive StreamingSpinnaker Management Console
HOOK UP ENCODER
Smooth Streaming Multi-Bitrate Calc
Divisible by 16 for optimal path on the encoding algorithm
Video Window Size
Start with width (Vimeo) in page 656Multiply by 9/16 (0.5625) 369Divide by 16 23.0625Round to 23 and multiply by 16 368
Final Width x Height 656 x 368
IIS Ingest Server Setup
IIS Ingest Server Setup
IIS Ingest Server Setup
IIS Ingest Server Setup
SMF v2 – Step 1: Add Assemblies
<?xml version="1.0" encoding="utf-8" ?><LiveSmoothStreamingSettings> <BufferingEngineSettings ForceAccurateSeeks="true" LiveBufferTimeMilliseconds = "16000" /> <HeuristicsEngineSettings SwitchingFrequencyChunksBeforeUpgrade = "2" SwitchingFrequencyStepSizeForUpgrade ="3" WindowSizeHeuristicsMinimumPercentageOfNextLargestTrack = "0.8" FrameRateHeuristicsSuspendTrackIfMoreThanXPercentDroppedFrames = "0.30" FrameRateHeuristicsFlushBufferIfMoreThanXPercentDroppedFrames = "0.40“ FrameRateHeuristicsSuspendNextLowestTrackIfMoreThanXPercentDroppedFrames = "0.50" /></LiveSmoothStreamingSettings>
SMF v2 – Step 2: config.xml
xmlns:smf="clr-namespace:Microsoft.SilverlightMediaFramework;assembly=Microsoft.SilverlightMediaFramework" xmlns:smf_Media="clr-namespace:Microsoft.SilverlightMediaFramework.Media;assembly=Microsoft.SilverlightMediaFramework.Media"
SMF v2 – Step 3: Add Namespaces
<smf:Player d:LayoutOverrides="Height"> <smf:Player.Playlist> <smf_Media:Playlist> <smf_Media:Playlist.Items> <smf_Media:PlaylistItem DeliveryMethod="AdaptiveStreaming" MediaSource="http://server/mix10.isml/Manifest"/> </smf_Media:Playlist.Items> </smf_Media:Playlist> </smf:Player.Playlist></smf:Player>
SMF v2 – Step 4: Add Code
Microsoft Silverlight Media Framework (SMF) v2
Our Partners
Your Feedback is Important!Please fill out the session evaluation form provided and drop it off with the staff at the exit.
Thank You!