Kudzu World

"Programming is an art form that fights back"

Kudzu World  »  Blogspace  »  Kudzu's Tech Blog
English - Română - Русский - عربي

RSS Feed

If you want to more easily stay informed of updates etc you can subscribe to the RSS feed. Just point your RSS reader at this page, auto discovery is enabled.

Video: Silverlight versus Flash


Recently Flash announced upcoming better video support in the form of H.264. I welcome this change as it will improve vastly on Flash's and thus the web's video offerings by far. Obviously this is in response to the Silverlight threat. However there are still some important differences between Silverlight's video support and Flash's planned video support.

In this post I discuss just the video aspects of Silverlight versus Flash. If you are interested in the other aspects please see SilverLight, Flash, and SVG

When I first started playing with Silverlight I expected it to support MPEG4. When I found out it supported something called VC-1 instead, I was initially dismayed. But after looking into what VC-1 is, I understand why. One reason is that VC-1 is better suited to High Definition (HD) video playback on personal computers.

Video Codec

H.264 MPEG4
Direct encoding of interlaced
YesPossibleMost H.264 encoders require interlaced video first to be converted to progressive before being encoded. This adds potentially adds additional steps for those encoding video. See comments section for more details.
1080p HD decoding
processing requirements
LowAverageVC-1 requires more processing to encode, but is designed for lightweight decoding. This allows more computers to play back video. With the YouTube and normal quality videos there is generally no difference. However HD videos require significantly more processing power and the difference is significant.
HD-DVD support
Blu-ray support
Software support
Video Quality
Better for high quality videos
Better for
low bandwidth videos
Source: Wikipedia

Silverlight and H.264

Some have asked if Silverlight will also add support for H.264. The official response from Microsoft is that it will depend on customer demand. Adding H.264 adds more code to Silverlight and will grow the installation size. Potentially it might be better to simply use VC-1. I am planning on experimenting with VC-1 with some non HD videos over the web. Initial tests show that it will suffice, and if this holds true then in my opinion it does not make sense to increase Silverlight's size and complexity by adding H.264 support.

But wouldn't adding H.264 allow the millions of Xvid and Divx videos to be playable by Silverlight? No. MPEG4 supports a lot of formats, of which H.264 is just one. Xvid and Divx can produce H.264 content, however the vast majority of Xvid and Divx files on the internet today are not H.264 compliant. This is based on personal experience of living abroad in non Englsh speaking countries. This makes BitTorrent my prime channel for watching television series. At one time I had a media player which supported only H.264, and like all other surprised users I was then introduced into the worst case scenario of transcoding.

Flash and H.264

It is obvious that Flash's sudden attention to standards based video support is in response to Silverlight. But moving to standards based video is a good thing, and I welcome it. Flash in my opinion has been a bit stagnant in too many areas for too long. Silverlight is putting pressure on Flash, and Flash will return to keep the pressure on Silverlight. Healthy competition is a good thing.

So, Silverlight or Flash?

If in the end I have to have Flash and Silverlight installed to move around the web, that is fine by me. It is much better than having to have Windows Media Player, QuickTime, Real, Java, and so on all installed. All of these in my opinion have sizable side effects, and are not light weight. I avoid every product listed there for web use, while on the other hand I am comfortable having both Silverlight and Flash installed. They are lightweight, low impact, reliable, and non invasive technologies.

For me as a developer Silverlight wins hand down because I can use C#, XAML, and Visual Studio. But I am also an end user. As an end user I welcome both Silverlight and Flash as they both enhance the browser experience for me in a way that other existing technologies do not offer.

Additional Resources

<< Previous Entry    Next Entry >>


John Dowdell on 11.06.2009 wrote: "It is obvious that Flash's sudden attention to standards based video support is in response to Silverlight... Flash in my opinion has been a bit stagnant in too many areas for too long." This codec has clearly been under evaluation for years: http://www.kaourantin.net/2005/08/quest-for-new-video-codec-in-flash-8.html It's more defensibly obvious that Windows Media Player was refactored into a chromeless browser plugin in response to Flash Video. Situation is difficult to see as "stagnant". jd/adobe
Chad Hower on 11.06.2009 wrote: Im glad and not surprised to see its been tossed around for quite some time in the Flash developers minds. But the sudden announcement of it is just way too close to the competitive pressures from Silverlight. If not for Silverlight, when would if ever H.264 been announced for Flash? Whatever the reason, Silverlight or not, Im glad dto see Flash adopt H.264 as the end result is good for users. And its no doubt Silverlight is in response to Flash. I think *anyone* can see that. Its a lot more than a simple dechroming of WMV though.
Chad Z. Hower on 11.06.2009 wrote: BTW - Thanks for properly identifying yourself. Its a welcome relief to see this when so many other companies use fake names or proxies instead of full disclosure.
Tinic Uro on 11.06.2009 wrote: "H.264 requires interlaced video to first be converted to progressive before being encoded. This makes VC-1 very attractive to many broadcasters." Just one clarification: that is only the case if you use QuickTime or x264 to encode into the H.264 bitstream format. Apple did not implement the required parts of the ISO specification and neither did the open source community. One working software implementation with interlacing support is actually Mainconcepts encoder. Most hardware based encoders, f.ex. in cameras, support this. If there would be no field coding support in the H.264 standard it would be unlikely broadcasters would adopt it all. They overwhelmingly adopt it for DigitalTV in Europe.
Rosyna on 11.06.2009 wrote: "Obviously this is in response to the Silverlight threat." I would have said (probably more correctly), "Obviously this is in response to YouTube recoding their video library to H.264 for Apple." If flash supports H.264, there's no need to keep three copies of the video at hand in two different formats. They can push out one video for flash and YouTube specific applications.
Chad Z. Hower on 11.06.2009 wrote: It appears to be a dual blow then. :) YouTube or not - its obvious Flash is seeing significant pressure from Silverlight. All for the best - they will keep each other on their toes.
Terence Tsang on 11.06.2009 wrote: Nice comparison. My blog Shine Draw also has a lot Silverlight vs Flash comparison with free source codes. If you have time, just take a look: http://www.shinedraw.com
Yachtcharter Griechenland on 11.06.2009 wrote: That's great, I never thought about Silverlight versus Flash like that before.
Yachtcharter Griechenland on 11.06.2009 wrote: Good post, but have you thought about Silverlight versus Flash before?

Post a comment

Use my contact form to contact me directly.