Choosing a Streaming Encoding Tool
Meet the Candidates
I tested the most recent version of each encoding tool that I could obtain (Table 1). For Adobe Media Encoder, this meant version 184.108.40.206 on both platforms. With Apple Compressor, it was version 3.5.3. For Microsoft Expression Encoder 4, I tested version 4.0.1650.0. With Sorenson Squeeze, I tested a beta version of Squeeze 7 (220.127.116.11 Beta), while with Episode Pro, it was version 18.104.22.1686.
Regarding Episode, note that there are three versions: Episode ($495), Episode Pro ($995), and Episode Engine ($3,995). Episode supports the fewest high-end formats and encodes each file one at a time, or serially, which is the least efficient technique, particularly on multiple-core computers. Episode Pro can input and output more professional formats such as MXF, GXF, IMX, and MPEG-2/4 Transport Streams; it can also encode two files in parallel. Engine can encode as many files simultaneously as you make available in the preferences, which is usually limited by the number of CPU cores on the system. I tested Episode Pro, encoding two files in parallel during multiple file encoding trials.
Let’s start with quality and performance testing, starting on the Windows platform.
Quality and Performance Testing
With each file I tested, I checked file size to ensure that the encoded bitrate was within 5% of the target encoding parameter listed previously. Then I checked the files for dropped frames in Inlet Semaphore, played them back in real time to check for motion artifacts and audio/visual synchronization, and loaded the files into an Adobe Premiere Pro sequence for both still-frame and real-time playback comparisons.
On the Windows platform, I tested using an HP Z800 with two 3.33 GHz six-core Nehalem Xeon processors, 24GB of RAM running 64-bit Windows 7, and an NVIDIA Quadro FX4800 graphics card. I ran Mac benchmark tests on a Mac Pro running Snow Leopard with two 2.93 GHz quad-core Nehalem Xeon CPU with 12GB of RAM and an NVIDIA Quadro FX4800 graphics card. Don’t draw any conclusions about Mac versus Windows encoding speed based upon the results presented here because of the configuration differences between the two platforms.
Windows Testing—Test Parameters
In H.264 testing, I set quality options to the max, which meant the highest supported profile, CABAC-enabled, and the like, enabling B-frames and using a B-frame interval of three with five reference frames when these controls were available. I used two-pass encoding for Sorenson Squeeze rather than multipass because I saw little or no quality difference between the two alternatives, and it shaved about 50% off the encoding time. Squeeze 7 also enables GPU acceleration of H.264 encoding, which I did not use because the quality was noticeably degraded as compared to CPU-only encoding, a situation that Sorenson is aware of and plans to resolve. Whenever quality versus encoding time options were available, I used the highest possible quality option.
With VP6 testing, I used two-pass VP6-E encoding (when available) with quality options set to maximum. With Windows Media, I used the main profile, when available, and the advanced profile when it wasn’t. With Episode, I tried both profiles and used the main profile, which produced better quality than advanced. When a program made B-frame interval available, I used an interval of three.
Table 2 shows the results of the qualitative testing.
At a high level, there were no showstoppers—the quality of all the encoding tools at the test parameters was at least good. With H.264 and Windows Media, however, Episode Pro was slightly behind the other encoding tools in quality. The difference was potentially more serious with H.264, where—very infrequently and only at major scene changes—Episode Pro quality took a few moments to catch up. You can see this in Figure 1, which is the first scene of a major scene change on my old test clip.
How serious is this problem? On my old SD test clip, which has 42 scenes that cut straight from one to another with no dissolve or other transition, it occurred once. In the new test clip, which has 26 test clips, each separated by short dissolves, it didn’t appear at all. So it’s not surprising that the problem didn’t crop up during Telestream’s prerelease quality control testing.
Interestingly, this is the same exact problem that Sorenson experienced when it first implemented the MainConcept codec in Squeeze, which it resolved about 6 months after it was first noticed. Telestream is aware of the problem and expects to resolve it in early 2011.
Otherwise, VP6 results were too close to call, leaving performance as the main differentiator for VP6 producers. With that crafty segue, let’s look at performance.
Hour-long online master class guides new users through the basics of offering live video with Smooth Streaming.
Companies and Suppliers Mentioned