Grass Valley ProCoder 3.
* Intel or AMD 800MHz or faster CPU
* 256MB RAM (512MB RAM required for HD encoding)
* 80MB free HDD space
* DirectX 9.0 or later
* Windows XP Home or Windows XP Professional
* One free USB port (1.1 or higher)
Grass Valley ProCoder ($499) is a competent, high-performance multi-format encoding tool with lots of great automation features but some interface issues. Most users will prefer Squeeze's simplicity for casual use, but Squeeze can't match ProCoder's ability to create droplets and profiles with multiple presets, not to mention its jaw-dropping performance on multi-core systems.
As you may know, ProCoder is developed by the same team that produces Rhozet's Carbon Coder, a $5,000 encoding utility that I tested and liked earlier this year. At a basic level, the programs look and run similarly, though obviously Carbon Coder has more high-end functionality. For example, ProCoder doesn't do formats like MXF, GXF, LXF, Omneon, Quantel, Panasonic P2, or Sony XDCAM. You also don't get features like an XML-based programming interface, FTP transfers, closed-caption insertion and extraction, or an XML titler. Finally, ProCoder can't function as a node on a render farm controlled by Carbon Coder, which is a big issue for high-volume production houses.
Recommended system requirements are modest. For the record, I tested ProCoder on a Hewlett-Packard xw8400 workstation with two 2.66GHz Quad-Core Xeons with 3GB RAM running Windows XP Professional SP2. Quality comparisons were enhanced by the dreamy 30" Hewlett-Packard LP3065 LCD monitor, driven by the NVIDIA Quadro FX 1500 graphics card.
Functionality and Setup
Let's start with an overview of functionality, then dig in. During installation, Grass Valley installs four programs: ProCoder 3, the Job Queue Manager, the ProCoder 3 Wizard, and Watch Folder Manager. Briefly, ProCoder 3 is where you'll perform most pre-encoding activities, including file selection, the creation of compression presets and profiles (essentially groups of presets), and the creation of batch files, which you can encode within ProCoder or hand off to the Job Queue Manager for encoding.
The Watch Folder Manager (Figure 1) lets you create watch folders that trigger the encoding of files copied to that folder to selected parameters. Setting up watch folders is simple; you choose a directory for the watch folder, a target directory for the compressed files, then a preset or profile. When files appear in the watch folder, the Job Queue Manager starts encoding. For repetitive encoding tasks, you can also create a "droplet" from any preset or profile. Droplets sit on your desktop, and activate when you drag and drop a file onto them.
[FIGURE 1 OMITTED]
The ProCoder3 Wizard (Figure 2) walks you through converting a file and creating a watch folder, using a simple workflow where you answer one question per screen. While the Wizard will certainly help novices accomplish both tasks, results won't be optimal. For example, when encoding to QuickTime format for progressive delivery, the Wizard chose Sorenson Video 3, rather than the more widely used H.264, and produced a 512x384 resolution file, despite allocating close to 900Kbps to the video file. Either a larger resolution or lower data rate would be preferable.
[FIGURE 2 OMITTED]
More seriously, despite recognizing an input file as 16:9 resolution, the Wizard applied a 4:3 preset, though you could override this manually. When walking you through watch folder selection, the Wizard didn't provide access to previously created presets or profiles, which makes little sense. On the plus side, the Wizard does automatically deinterlace all streaming files, which is a nice touch. Overall, ProCoder is easy enough to use that most buyers should skip the Wizard and go directly to the main program.
ProCoder has three tabs that control loading source files, choosing target presets, and watching the conversion (Figure 3). In the Source tab, you can trim your video file, and add video and audio filters, with full preview over your adjustments. Key filters include adaptive deinterlacing, color correction (brightness/contrast/saturation/hue), gamma correction, fade in/out, cropping, temporal noise reduction, and an inverse telecine filter that I did not test. You can also add a bitmap or logo for overlay.
[FIGURE 1 OMITTED]
The program provides a before-and-after preview window that you can drag to as large a view as your monitor would support, which was quite large with my 30" HP LP3065 monitor. You can also zoom into the video for a better look. However, you can't actually play the video in real time when configuring your filters, which is acceptable for color, brightness, and similar adjustments, but less than optimal for noise reduction. There are only five audio filters (channel mixer, fade in/out, lowpass, normalize, and volume) and preview is limited to 2- to 15-second chunks of audio, which is less than optimal.
In addition, the Preview window always seems to display letterboxing of some kind, with both 4:3 and 16:9 source, even before you choose a preset (Figure 4). In fact, the only time you get an accurate preview of aspect ratio and letterboxing is while you're encoding, when it's too late to do anything about it. If you're working with custom frame sizes, this could drive you crazy. Note also that the preview function doesn't display the effect of your compression decisions; again, you have to actually encode to fine tune compression settings like data rate.
[FIGURE 4 OMITTED]
Setting and Applying Output Parameters
After loading all of your source videos, you click the Target tab, where you choose your target output parameters (Figure 5). Then you click Add to open the Target presets dialog, which has specific presets presented in categories like Handheld or Web, or general presets like QuickTime file or RealMedia. Choose any preset and ProCoder populates the Target parameters dialog, which contains basic parameters like resolution and data rate.
[FIGURE 5 OMITTED]
Click the Advanced button and you access the complete range of customizable parameters for each preset, and can even choose audio and video filters to be applied only for that target preset. For example, if you'd like to boost color saturation before encoding into H.264 format, but not for Windows Media, you can apply the saturation filter only for that target.
If you change any parameters, you can name and save the new preset for later use. You can save any group of presets into a target profile, for simple application to subsequent source files, and save any project file for later use. Overall, the range of parameters provided, and the ability to create custom presets and profiles, are two of the key strengths of the program.
There are a couple of caveats. First, ProCoder has issues with multi-pass H.264 encoding when encoding within the ProCoder program. Specifically, if you set up a batch routine that includes multi-pass H.264 encoding, ProCoder will encode only the QuickTime files and none of the others in the queue. You can work around this issue by encoding in Job Queue Manager or via a watch folder, but not within ProCoder itself. In addition, the Job Queue Manager frequently displayed an unspecified error when encoding multi-pass H.264 files, so I used single-pass encoding for all performance tests and encoded files for quality-related tests one at a time.
Second, the Flash encoder included with ProCoder uses a Flash 7 codec, while you'll almost certainly want two-pass VP6. You can get this via On2's $199 Flix Exporter, which works well once you understand the workflow. To access Flix Exporter, you choose the QuickTime Export File preset, then choose the On2 Technologies Flash Video-FLV in the Select Exporter, with settings available by clicking the Exporter Settings icon (Figure 6). This opens the Flix Exporter Window, which provides access to most basic parameters, but doesn't include the VBR fine-tuning options available in Flix Pro, or other options like the ability to produce Windows, Mac, and Linux projectors; export HTML; or add cue points to your Flash Video file.
[FIGURE 7 OMITTED]
Producing Your Files
Once you've selected all source and target files, you have two rendering options. You can click ProCoder's Convert tab and render inside of ProCoder, or send the project to the Queue Manager for encoding there. Given that the second option immediately frees ProCoder for additional use and renders more quickly than encoding within ProCoder, using the Queue Manager is the preferred option.
When sending the job to the Queue, be sure to click the One Job for Each Target checkbox in the Job Queueing screen, which tells ProCoder to open a different job for each encode (Figure 7). This is the poorly documented secret to maximizing compression efficiency on multi-core systems, since it allows each job to access separate cores.
For example, to test performance, I encoded a one-minute test file to five different presets. Four were 500Kbps presets at 640x480 resolution, 30fps, with 468Kbps video and 32Kbps audio, which I encoded into Adobe Flash (VP6), Apple H.264 QuickTime, Microsoft Windows Media, and RealNetworks RealVideo. The other preset was an iPod preset using H.264 encoding. I used multi-pass CBR encoding for all files except for the QuickTime files, which I encoded in a single pass for the reasons explained above.
ProCoder produced all five files in 11:22 (min:sec), really wringing the most out of the eight processors in the HP workstation. This is illustrated in Figure 8, which shows the Job Queue Manager in the background with five jobs started and Windows Task Manager in the foreground with all eight processors running at their max.
[FIGURE 8 OMITTED]
In contrast, Sorenson Squeeze, which encodes files sequentially rather than in parallel, took 16 minutes to encode the same file to the same parameters. I noticed while ProCoder was encoding that the Flash file took disproportionately long to encode, so I removed that preset from the group and tested again. This dropped encoding time to 3:25 (min:sec) while Squeeze came in at 10:03, nearly three times the duration.
Before discussing codec-specific results, let's address how well ProCoder performed at scaling and deinterlacing. Though it sounds minor, there's a significant qualitative difference between the various encoding tools, one that potentially affects all files produced by the encoder.
To test this, I prepared a one-minute interlaced DV file comprised of eight different scenes that had displayed scaling and deinterlacing artifacts in the past. I then deinterlaced and scaled this file to 640x480 resolution in ProCoder, Sorenson Squeeze, Telestream Episode Pro, and After Effects, using the AlgoSuite plugin as a ringer (www.algolith. com). I produced the files in QuickTime Pro's Animation codec to avoid any compression-related artifacts and grabbed the eight still images from the video, which I rated for comparison purposes.
As expected, the AlgoSuite video was the clear winner, amassing 21 points, with Episode second with 18. Then came ProCoder with 16 while Squeeze was at the bottom with 10 (Figure 9). How to use this information?
[FIGURE 9 OMITTED]
Obviously, it's an important data point if you're wondering whether to buy Squeeze or ProCoder. Remember, however, that you can always scale and deinterlace in your video editor before encoding, and if you own Squeeze, you should experiment with that workflow, particularly if you have After Effects and the AlgoSuite plugin. From what I've seen with ProCoder, it can hold its own against Premiere Pro and After Effects (without the AlgoSuite plugin) so if you edit in either of those programs, you can scale and deinterlace wherever it's most convenient.
Since noise reduction can be an important corrective tool, I also created a test file comprised of five scenes of noisy video that I've shot over the years, and ran it through ProCoder's noise reduction filter. Then I encoded the original noisy file and the filtered clip to 500Kbps in H.264 format, and compared the results.
The noisy test clip has five sequences. In two of the five scenes, ProCoder significantly improved the quality of the video, reducing background noise without blurring the subject's face and other detail. Two clips were about the same, while one had two issues. Specifically, in a clip of a marimba player, a slight image of the subject of the previous clip stayed in the frame for about 15 frames, which was very noticeable (Figure 10). I also noticed a slight shadow or ghosting following the musician as she moved around her instrument. I would definitely try ProCoder's noise reduction feature with noisy input video, but watch out for these two artifacts.
[FIGURE 10 OMITTED]
Now let's move on to ProCoder's codec-specific performance.
Codec Quality and Performance
In Windows Media encoding trials, ProCoder produced a file about 7% smaller than the expected bandwidth, which is better than exceeding the expected value but still an issue to watch when producing video for clients or for maximum quality. The program can produce multiple-bit rate files, and allows you to configure each selected profile. I used Sliq Media's WMSnoop to nose around in
ProCoder's Windows Media files and saw nothing amiss (Figure 11). Interestingly, the one real data spike in our 500Kbps test file, where frame size soared to a bandwidth-choking 39KB (as opposed to the expected 2KB per frame) was almost exactly mirrored by the file produced by the Windows Media Encoder, indicating that it was an issue with the underlying compression DLLs supplied by Microsoft, not Grass Valley. I played the file side by side against the file produced by the Windows Media Encoder and saw no significant differences.
[FIGURE 11 OMITTED]
ProCoder produced the Flash file to within 1% of the target data rate, which is always helpful. I compared quality against a file produced using On2's Flix Pro, and found the two to be more or less visually identical. No surprise given that I encoded from ProCoder using Flix Exporter, but still a good result.
The RealVideo file produced by ProCoder was 8% below the target file size--again, better than being too large but still a concern. I compared the file visually against a file produced by RealProducer, however, and found no significant differences.
When producing a streaming file using the Apple H.264 and multi-pass encoding, ProCoder undershot the target by nearly 28%. After adjusting the target data rate a few times, I produced a file within 5% of the target. Visually, the file was just a cut below the quality produced by Squeeze and QuickTime Pro, but without side-by-side comparisons, few if any viewers would notice.
ProCoder's iPod preset was pretty aggressive, targeting 720Kbps video and 128Kbps audio, in the required 320x240 resolution and using the Baseline profile option. The program undershot that target by 9%, though at these parameters, the video looked pristine.
Decoding the Results
What's all this add up to? Here are the categories I find most relevant when analyzing encoders.
Ease of use--ProCoder has a complex, multi-screen interface that's often perplexing and can be intimidating. It presents some codecs, particularly QuickTime codecs, using different windows than others, which is confusing when compared to Squeeze's approach, which predominantly uses a fixed set of windows and common controls. Preview functions are poor to fair, and Grass Valley needs to clean up the presentation of aspect ratio-related decisions. This is not a tool you want to hand to a beginner.
Automation--The tool offers a variety of automation options that make it simple for sophisticated users to simplify routine tasks for novices. This includes droplets, watch folders, and profiles that contain multiple presets.
Performance--ProCoder works exceptionally well on multi-core systems like our HP xw8400, and in some tests rendered the same content as Sorenson Squeeze in 30% of the time.
Input Support--Rhozet reserved high-end production formats like MXF, GXF, LXF, Omneon, Quantel, Panasonic P2, and Sony XDCAM for Carbon Coder, their high-end product, so it should come as no surprise that a product in ProCoder's price range and target market wouldn't support these broadcast and ENG-oriented input formats either.
Codec Support--Other batch encoding tools, like Squeeze and On2 Flix Pro, support Flash natively (without additional cost) and with more features. Also, ProCoder seems allergic to multi-pass H.264 encoding with the Apple codec. Other than that, it performed well with Windows Media and Real in my tests.
Quality--Scaling and deinterlacing quality was about average, better than Squeeze but inferior to Episode Pro. Other than the data rate issues discussed above, compression quality was generally on par with the native tools for producing that format, which is very good.
Integration and Scalability--You can't build rendering farms with ProCoder. If you want to do that but keep the familiarity of ProCoder, you'll have to switch to Rhozet's Carbon Coder, though at least the interface will be familiar. The program does support grid encoding, but that's just for MPEG-2 transport and program streams, not for any streaming formats. ProCoder works as a plugin for both Grass Valley EDIUS and Adobe Premiere Pro, though I didn't test performance in either application.
Jan Ozer (email@example.com) is a frequent contributor to industry magazines and websites on digital video-related topics and is the co-author of Focal Press's Hands-On Guide to Flash Video: Web Video and Flash Media Server.
Comments? Email us at firstname.lastname@example.org, or check the masthead for other ways to contact us.