- Streaming production
- Streaming fundamentals
- Encoding your video
- Choosing production tools
- Distributing your video
- Video tutorials
- Peer review
Microsoft Should Adopt H.264
One of the more intriguing rumors to come out of Streaming Media East was that Microsoft was going to add H.264 playback to Silverlight and/or the Windows Media Player. The idea made so much sense that it was instantly believable, but Microsoft has denied the rumor’s veracity, repeatedly saying “I have not had sex with that woman” in a vaguely southern accent. Or at least that’s what I keep hearing. In this column, I’ll lay out the reasons that Microsoft should consider adding H.264 support in Silverlight and Media Player and dropping continued development of VC-1.
First, in every codec quality test I’ve performed since ’06, VC-1 has rated last, often by a significant margin. Note that in each instance, Microsoft has overseen some aspect of the tests, including actually producing the comparative files for the tests I performed back in 2006 (when VC-1 was still WMV). In my most recent tests, which involved SD, HD, and screencam-based video, H.264 quality was noticeably higher than VC-1, as was the quality of VP6, particularly with the quality updates that On2 announced at the show. You can see some of the results in the downloadable presentation available http://www.streamingmedia.com/east/program/.
As part of these tests, I also measured the CPU utilization consumed during playback of these files on several relatively low power platforms, both Windows and Macintosh. With SD videos, the horsepower required to playback H.264 video producing using the Main profile didn’t significantly vary from that required for VC-1.
When testing 720p video, I recommended producing H.264 with the Baseline profile to minimize the required playback horsepower, and H.264 quality was still higher than VC-1. On two of three computers, processor utilization recorded while playing back these files was within 2-3% of the processor power utilized by VC-1. In short, in most tests, H.264 produced better quality and didn’t require significantly more processor horsepower to display.
If VC-1 was a superior technology that offered Microsoft customers a substantial advantage over H.264, I’d say keep competing and let the best technology win. On the other hand, given these facts, and those presented below, I don’t see any reason for Microsoft to continue to attempt to advance VC-1.
The second reason Microsoft should adapt H.264 is because the mobile device market will thrive best with a single standard and H.264 makes the most sense, having been adapted by both International Standards Organization (ISO) and International Telecommunications Union (ITU), which pretty much guarantees dominance in the broadcast and video conferencing markets. Success in these markets lets chip vendors focus their efforts on producing inexpensive H.264 decoders, decreasing the cost of video enabled phones and ultimately driving competing technologies out of the market.
Since VC-1 will likely fail in the device market, why continue to push in streaming? All this does is force publishers seeking to stream to both computers and devices (like NBC and the upcoming Olympics) to encode using two different codecs, needlessly increasing production costs. Since video playback in the device market is currently scattered among H.264, Flash Lite, and WMV, supporting multiple codecs is necessary today, but should it be in the future?
Third, Silverlight looks like a very promising technology, and it’s a shame to saddle it with a codec that can’t match the quality of either of the two codecs available in Flash. This is especially true given that the success of Silverlight is much more strategically important to MS than the success of VC-1. Why make Silverlight’s success dependent upon VC-1? Would anyone think less of Silverlight if it used H.264 instead of or in addition to VC-1? If anything, the reverse is true; the market would laud Microsoft for adapting open standards.
And puh-leeze, don’t even tell me that VC-1 is “standard” itself since it’s been adapted by SMPTE for HD set top players. True, VC-1 playback is required in all Blu-ray players. On the other hand, I’ve reviewed every consumer and prosumer Blu-ray authoring program available, and none of them enable VC-1 HD encoding, while all use both the H.264 and MPEG-2 codec.
Why not VC-1? I’ve spoken to several product managers in the authoring space who reported that they haven’t enabled VC-1 because customers haven’t been asking for it. Which brings me to my last point.
I’ve been comparing codecs in the streaming space since the market began, a tempest in teapot often fueled by outrageous vendor claims and enthusiast opinions. But the great unwashed, those who pay our bills, couldn’t care less. If anything, they would prefer not to need the five or six players that are today required to play Internet-based and other video content. After all, when was the last time you heard TV viewers even comment about the MPEG-2 codec that fuels most cable TV.
Back in the day, the streaming market was the Wild, Wild West and codec gunfights were popular contests enjoyed by a majority of those who actually watched streaming video. Today, streaming is mainstream, and should be less about the technology and more about the experience. Agreeing on a single codec for all streaming—computer and device—would simplify life for consumers and producers alike, and advance the streaming market.