Posts Tagged ‘CBS’

Silverlight Video Quality is a Slam Dunk

John Hermansen
Posted by John Hermansen
on March 23rd, 2009 in Technology

Ahhh, March Madness. It’s one of my favorite times of the year, and I don’t even gamble (office pools are not gambling, just like Joe Lieberman is not a Democrat). Despite witnessing my alma matter, Wisconsin, lose perhaps the ugliest “basketball” game I have ever seen, and the fact that my bracket looks like Iggy Pop after flopping around onstage (picking WVU to go to the Elite 8 was not the smartest thing I have ever done), I have thoroughly enjoyed watching this year’s action. Perhaps the most pleasant surprise has been CBS Sports‘ online coverage.  While the hectic schedule of multiple games ending at the same time can make the TV broadcast maddening , CBS’ streaming coverage makes it easy to follow multiple games simultaneously. To top it off, the video quality is the most impressive streaming technology I have seen to date. blake-griffin

This last feature is courtesy of the new Microsoft Silverlight plugin, which, if what I have seen is any indication, could be a serious competitor to Flash.  It is difficult for me to say how CBS was able to achieve such high quality, but according to the Silverlight Wikipedia page, the Media Stream Source API supports a number of video codecs and can dynamically adjust bit rate to accommodate available bandwidth and CPU. This concept is also incredibly important to real-time audio and video coding, as it allows for maximum quality in the face of changing network conditions.

Another probable reason Silverlight’s video looks so good is that it does not need to approach delay very aggressively, which is a big difference between streaming and real-time applications.  For instance, I noticed about a one minute delay between the online coverage of yesterday’s Marquette-Missouri game and CBS’ TV broadcast. This is perfectly acceptable for most people, especially if they aren’t near a television. However, a one minute delay would render a real-time video conversation completely useless. Thus, a streaming solution is able to overcome packet loss and jitter by simply waiting for all packets to arrive at the receiving end, or even having the sending side resend any lost information, while real-time solutions must employ more clever techniques to maintain video quality while keeping delay as low as possible.