March Madness: Silverlight on YouTube and encoding settings

As mentioned previously, the NCAA March Madness college basketball tournament is going on at the moment, being covered by CBS Sports using Silverlight. For readers not from North America, it’s hard to explain how crazy people are for this event. In an extra bonus , a bunch of games are being held here in Portland, Oregon in the first couple rounds. And of course, we’re doing it in Silverlight. The official player is at http://mmod.ncaa.com/video/. Make sure to hit the “HQ” button for the full Silverlight experience.

Silverlight on YouTube

As it’s such a big event, everyone wants in on it. Which has led to what’s the first use of Silverlight on YouTube that I know of. I don’t know why people find this remarkable, but I’ve heard “yeah, but YouTube would never use Silverlight” more the once. So it’s nice to share this screenshot from www.youtube.com/marchmadness.

March-Madness-screenshot

 

March Madness Encoding settings

My master compressionist colleague Alex Zambelli and I worked on the March Madness encoding settings and workflow, with him doing all the heavy lifting getting the Inlet Spinnaker encoders configured before the event. He’s included the details in his big Mix news roundup blog post. It’s as worth reading as all his other stuff. I’ll quote the March Madness specific stuff below:

CBS Sports has launched a Silverlight-based March Madness video player that lets you watch all NCAA Basketball Tournament games live. Visit http://mmod.ncaa.com/video to launch the March Madness video player. If you are using Internet Explorer on Windows, the default player will actually be an old-school WMP player, so you’ll need to click on the HQ Player button to launch the new Silverlight player.

The live video for the tournament is being streamed using Windows Media Services. Obviously, we couldn’t use Smooth Streaming because the server technology is still in beta and the encoders aren’t yet commercially available. But CBS did the next best thing! All live streams are available in 4 video quality levels:

Total Bitrate
(kbps)

Video Bitrate
(kbps)

Audio Bitrate
(kbps)

Video Width

Video Height

Pixel Aspect Ratio

1500

1450

48

784

432

1:1

1000

950

48

512

384

4:3

650

615

32

368

272

4:3

350

315

32

240

176

4:3

Video codec used is VC-1 Advanced Profile. Audio codec used is WMA Professional at 44.1 kHz 16-bit stereo.

All March Madness games are being encoded by MLB.com’s encoding facilities using Inlet Spinnaker 7000 encoders. The Spinnakers were configured based on my own recommendations in order to provide maximum quality at all bitrates.

The March Madness Silverlight player uses preroll ad download statistics to estimate available client bandwidth and tries to make an appropriate first choice of bitrate level. Of course none of this would be necessary with Smooth Streaming, but we really tried to make the best of the Windows Media Streaming experience anyway. The player also has built-in heuristics to detect quality-of-service issues, such as frequent rebuffering or low frame rate rendering, at which point it can suggest to the user to choose a lower bitrate. Users can manually switch between available bitrates using the “-” and “+” buttons in the button of the player UI.

Note that we used anamorphic encoding for the lower bitrates. Due to the strong bias towards horizontal motion in basketball, that makes for both more efficient compression (as motion blur is concentrated horizontally, and thus there’s more real detail vertically) and for more efficient encoding, as a smaller motion search range can be used more often. The highest bitrate was encoded as square pixel at the exact size of the MediaElement in the player, so that we are able to use every pixel we have access to. That also mean the highest bitrate doesn’t get scaled, which gives us the Fast Path for better performance.

No Comments