The Right Profile
Main vs. Advanced Profile
Once you update your codecs, you can produce files using either the Main Profile or Advanced Profile, either within the Windows Media Encoder or using the command-line script. Unless you’re currently producing via a command-line process or using the Windows Media Encoder, you’ll probably have to change your workflow to produce files using the Advanced Profile. In addition, all target viewers—both PC and Mac—will have to upgrade their players to view the files. Is it worth it?
To test this, I compared two sets of files. The first were two files produced using the Windows Media Encoder, one using the Main Profile, the other using the Advanced Profile. Then I tweaked Waggoner’s command-line script, which originally produced files using the Advanced Profile, to produce a file using the Main Profile.
In the first set—those encoded via the Windows Media Encoder—I saw very little (if any) benefit to the Advanced Profile over the Main Profile. Given the potential production hassle and required codec upgrade, I would not automatically choose the Advanced Profile when using the Windows Media Encoder.
Interestingly, with comparable files produced via the command-line encoder, the Advanced Profile was noticeably better in many sequences. That’s because, according to Waggoner, one of the critical options—DQuant mode, which helps limit blockiness on smooth or gradient backgrounds—works better in AP mode than in MP. For this reason, it appears that if you’re going to tweak, you should use the AP codec.
Will Tweaking the Settings Deliver Improved Quality?
Preliminaries aside, let’s get to where the rubber meets the road. Specifically, did Waggoner’s batch file deliver improved quality over a file produced by the Windows Media Encoder? Here, I compared the files encoded using Waggoner’s script to those produced by the Windows Media Encoder using the Windows Media Video 9 Advanced Profile codec.
The results were mostly very good, but there were some concerns. Starting with the positive, in low motion clips, background noise is often the most annoying artifact, especially if the background contains large, uncluttered spaces. This is shown in Figure 4, with the file produced by the Windows Media Encoder codec on the left, and the command-line file on the right.
As you can see, the wall and floor on the right are more homogenous, and the improvements are much more noticeable during real-time playback. In general, in low-motion sequences with spacious, uncluttered backgrounds, the tweaks contained in Waggoner’s command-line script worked amazingly well. In most other instances of low- to even mid-motion, the script also produced less overall blockiness in the image.
On the other hand, when the going got particularly rough, quality could drop well below that provided by the default encoding profile. For example, on the right in Figure 5 (p. 80), the man is blocky and terribly distorted, while on the left in the same figure, using the Windows Media Encoder, the man is reasonably smooth.
To a degree, this performance disparity makes perfect sense. Intuitively, we understand that there are certain encoding tweaks, like extending the search for interframe redundancies that take more time but improve quality across the board. In contrast, other parameters may improve certain types of videos at the expense of another. For example, inserting additional I-Frames may improve high-motion videos but degrade low-motion videos.
What these results suggest is that if your video is relatively homogenous, like talking-head training videos, or even primarily high-motion, like sports videos, you can derive parameters that improve quality across the board, and customization is well worth exploring. On the other hand, if your video is a mix of low and high motion, default settings may be the best option.