Best Practices for Windows Media Encoding
Microsoft's Windows Media Video has been a leading web video format for many years, but good hands-on information for how to get the best results out of it hasn't always been easy to come by. Also, Windows Media has an enormous breadth of ways it's used, scaling from mobile phones to the PC to CE devices like the Xbox 360. This article strives to codify the most important best practices to get the optimum Windows Media encode, whatever the source and delivery environment.
Update to the Latest Codecs
The first and easiest best practice is to make sure that you have the current versions of the codecs installed on your encoding box. We've recently released a number of backwards-compatible enhancements to the codecs that offer broad improvements for anywhere Windows Media is used. The video codec has seen impressive, fully backwards-compatible improvements. Our codec is now 4-way threaded, meaning it can use all the cores in a dual-core, dual-socket workstation, or one of the new single-socket quad-core systems. Beyond that, there are a variety of general improvements in both performance and quality. More details can be found in "Using Windows Media Registry Keys," pp. 30–32 of the November 2006 issue of Streaming Media. Beyond video, there is also a new version of WMV 9 Advanced Profile, the new WMA 10 Pro, and enhancements to WMA 9, all detailed below.
This article refers to the new and updated versions of WMV 9 as "Version 11" or "v11." There are four ways to get the v11 codecs:
• Install Windows Media Player 11
• Install the Windows Media Format SDK 11
• Install a program that installs the Windows Media Format SDK 11 runtime
• Use Windows VistaVideo Codecs
First, a note on VC-1. There's been some confusion on the relationship between the Windows Media Video codecs and the SMPTE (Society of Motion Picture and Television Engineers) VC-1 spec. VC-1 is the SMPTE designation for their standardization of WMV 9. In essence, you can now think of Windows Media Video 9 as Microsoft's brand for our implementation of VC-1, as implemented for advanced streaming format (ASF) files.
The VC-1 Simple and Main Profiles are progressive, and hence part of the existing WMV 9 profile. The Advanced Profile requires the new WMV 9 AP implementation. Note that the older and rarely used WMV 9 Complex Profile was not included in the VC-1 spec, and should no longer be used (although files using it are still supported for playback).
Windows Media Video 9
Windows Media Video 9 (WMV 9) has been a popular, mainstream choice for web video applications since the WM 9 ("Corona") launch back in 2002. We've been able to provide several generations of backwards-compatible enhancements to both quality and performance, so today you can encode WMV 9 both faster and with higher quality than ever before.
In general, the only time you'd use a codec other than WMV 9 for web video use is if you were trying to stream native interlaced content (and hence using WMV 9 Advanced Profile, described below) or screen capture content (potentially using WMV 9.2 Screen, also below).
There are two profiles supported in WMV 9—Main Profile and Simple Profile. For computer playback, WMV 9 Main Profile is the optimum choice. Simple Profile is a simpler version of the codec that targets lower-powered mobile devices, like mobile phones. This simplicity means it requires less horsepower to play back, but it also requires more bits to provide equivalent quality to Main Profile since Main has so many more tools it can use to improve compression efficiency. That said, many mobile devices, including those running Windows Mobile 2003 or higher, will decode Main Profile, although they'll need a lower bit rate for it.
Many encoding tools don't provide a profile control, and only do Main Profile.