Decoding the Truth About Hi-Def Video Production
One of the enduring beliefs about H.264 video is that it requires more CPU horsepower to decode than competitive technologies. This is particularly relevant when streaming high-definition (720p) video, and proving or disproving this truism was the initial focus of this article.
However, in testing 720p playback on a range of low-powered computers, it quickly became evident that many had problems smoothly playing video encoded using one or more of the current big three codecs (H.264, VP6, WMV-9/VC-1). So, I expanded my scope to examine whether any encoding or player options could improve this performance. Along the way, I learned several essential truths about encoding and displaying Flash and Silverlight videos that should prove useful to anyone currently deploying or planning to deploy high-definition video.
Benchmarking the Big Three
As mentioned, the initial test focused on assessing the required CPU horsepower to decode 720p files encoded in H.264, VP6, and WMV-9/VC-1 formats. To ensure that the test was fair, I contacted Kevin Towes, product manager for Flash Media at Adobe, and Ben Waggoner, Microsoft’s principal video strategist for Silverlight, to assist with the encoding and player creation tasks. I produced the VC-1 file in Expression Encoder 2 using parameters supplied by Waggoner that he configured with the VC-1 Advanced Profile and multiple Advanced Codec Settings. I encoded the H.264 file in Sorenson Squeeze using the MainConcept codec, choosing the High Profile with all quality options set to the max, since this would create the highest quality file that was the hardest to decode.
In these initial tests, I used a VP6-S file encoded in On2 Flix Pro. Later, I’ll discuss the differences between VP6-S and VP6-E and make some recommendations regarding their respective use. I produced all files at 2Mbps with variable bitrate encoding and used Inlet Semaphore to analyze the files and make sure that their maximum data rates were similar, since Waggoner was concerned that extraordinary peaks in any file would unfairly increase the decompression and playback load.
Waggoner produced the Silverlight Player that I used in my test for reasons I’ll explain later, and you can download the bits he created at www.doceo.com/silverlight/SLplayer.zip. I used a stock skin from Adobe Flash CS3 to produce the vanilla player that I used for both VP6 and H.264 playback. You’ll note, if you play the files, that the features map evenly with similar controls on both players. I uploaded all files to my own website, www.doceo.com, where they exist to this very day for your viewing pleasure.
Incidentally, I created the test file from HDV footage primarily shot with my Canon XH A1 over the past 18 months. As you’ll note if you view the file, the content ranges from low-motion talking heads at the start of the video to high-motion twirling ballerinas at the end with some stops in the middle for quick-fingered piano and banjo players. I produced the file in Premiere Pro, then scaled, deinterlaced, and filtered the file in Adobe After Effects using the now off-the-market Algosuite set of plug-ins from Algolith, outputting the resulting file using the lossless Apple Animation codec. This file was the starting point for all compressed files discussed in this article.
I tested playback on the following computers:
—An Apple PowerMac Dual-Processor 2.7 GHz PowerPC G5 running OS 10 and using the Firefox browser with Flash Player 184.108.40.206 and Silverlight Player 1.0.30401.0. This was one of the last PowerPC boxes manufactured by Apple sometime before November 2005.
—A Hewlett-Packard xw4100 workstation with a 3.0 GHz Pentium 4 processor with Hyper-Threaded Technology (HTT) running Windows XP and using the Firefox browser with Flash Player 9.0.124 and Silverlight Player 1.0.30401.0. This was one of the fastest pre-Core 2 Duo workstations available back when I acquired it in August 2003.
—An Apple iMac with a 2.0 GHz Core 2 Duo processor running OSX and using Firefox with Flash Player 220.127.116.11 and Silverlight Player 1.0.30401.0. This is my daughter’s computer that I acquired in January 2007.
Companies and Suppliers Mentioned