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.
|Direct encoding of interlaced|
|Yes||Possible||Most 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|
|Low||Average||VC-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||Mandatory||Mandatory|
|Video Quality||Better for high quality videos||Better for |
low bandwidth videos
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.
Use my contact form to contact me directly.