In December, 2008, I reviewed a number of streaming video encoders, and one of the tested criteria was encoding speed. Fortunately, I had some pretty peppy hardware around, specifically two dual processor, quad-core systems, one a 2.8 GHz Hewlett Packard xw6600 with 3 GB of RAM running Windows XP, and the other a 3.2 GHz Apple Mac Pro with 8 MB of RAM running Leopard.
To get a complete picture of encoding performance, I decided to test both single and five file encodes for VC-1, H.264 and VP6. One surprising early result was how inefficiently most encoding tools utilized the eight cores available to them when used in their default configuration. For example, only one tool, Canopus ProCoder, encoded multiple files simultaneously. The rest encoded them serially.
With some codecs, like H.264, this wasn’t too bad, because a glance at Windows Task Manager or Apple Activity Monitor revealed decent processor utilization, say in the 30-50% range depending upon the program. For VP6 encoding, however, no tool other than ProCoder ever utilized more than one of the eight available processor cores, leading to glacial multiple file encoding times.
For example, on the HP workstation, it took ProCoder 11:56 (min:sec) to render five one-minute test files into VP6 format, while On2 Flix Pro took 48:10 and Sorenson Squeeze took 50:40. On the slightly faster Mac computer, it took Compressor 32:20 to complete the same task via Flix Exporter, while Squeeze took 43:30.
Naturally, I started wondering whether these tools could work more efficiently on a multiple core system. So, I started checking user forums and blogs and other articles and here’s what I found, neatly divided into Windows and Macintosh results.
First let me tell you the bad news. If you’re encoding with Adobe Media Encoder (CS3 or CS4, Mac or Windows) or Telestream Episode Pro (Mac or Windows), you’ll find no joy below – I couldn’t find any way to accelerate the performance of these apps. Second, for the most part, the techniques that I discuss below accelerate multiple file encoding, not single file encoding. The exception is the technique I used to improve performance with Apple Compressor, which accelerates multiple file encodes and some single file encodes.