Primary third-party options
Primary third-party options
If you want the advantages of a dedicated Flash 8 video encoding application, your primary options are On2 Flix Pro 8 and Sorenson Squeeze 4.3. These third-party encoding software packages offer two-pass VBR encoding. Results from both products look great. In fact, it is difficult to see much difference between video clips encoded with them.
Contrast and color differences in the samples are primarily due to encoder presets, rather than encoding, and shouldn’t be considered when comparing the quality of the encoded videos. Instead, look for fewer compression artifacts—such as blockiness in the video—to identify the better-encoded video.
Minimal quality differences won’t help you decide which encoder is right for you, but pricing and availability may, so here’s a snapshot of the current state of affairs. You can purchase Sorenson Squeeze 4.3 with the optional On2 encoder for $348. On2 Flix Pro 8.5 costs $249. The Flash Video Encoder comes free with Flash Professional 8. All are available for Mac OS and Windows platforms.
Beyond output quality, price, and platform availability, a good encoder also provides tools to optimize image quality and makes batch encoding convenient.
Sorenson Squeeze is built for batch processing. Multiple encoding settings can easily be applied on a job-wide basis or on a per-video basis. The flexible batch-encoding workflow of Sorenson Squeeze is perhaps its greatest advantage. On2 Flix batch processing is more limited because you have to apply a single encoding setting to each batch of clips. This means you must run sequential batch processes for each encoding setting you want to apply to your videos. Batch encoding clips with the Flash Video Encoder is even more awkward; you must import a clip multiple times and apply settings to each imported instance to encode clips with multiple encoding settings.
Sorenson Squeeze is the only application of the group to offer watch-folder encoding. Watch folders allow you to apply encoding settings to a folder, so that when clips are subsequently added to the folder, Squeeze immediately begins compressing the new clips in the folder using the applied settings. In addition, Squeeze’s watch folders are a handy way to circumvent the 100 source file restriction of the Squeeze authoring environment (which you can also get around by creating multiple jobs).
Proportional settings control is very handy for batch processing. You may want to run a batch process and output each FLV in the batch with the same specs as its source file instead of conforming each file in the batch to the same specs. All three packages offer 1:1 ratio-based frame rate control, allowing output of each video in a batch with the same frame rate as the source file. For example, when applied to a batch with a mix of 24 fps and 30 fps clips, the 1:1 setting encodes the 24 fps source clips at 24 fps and the 30 fps source clips at 30 fps. Squeeze offers you two additional frame rate ratios from which to select—2:1 and 3:1—which are handy for easily encoding multiple versions of the same file at reduced frame rates to save file size.
In addition to proportional frame rate control, Flix allows you to output each video in a batch at the same height and width dimensions as the source clip instead of conforming all files to the same dimensions. The Flash Video Encoder provides the same ability using a percentage setting, enabling a wide range of proportional outputs. Squeeze doesn’t have the ability to apply ratio-based dimension constraints; you must explicitly set numeric dimensions for your height and width, although common settings are provided. Flix and the Flash Video Encoder also allow explicit numeric dimension settings, but they don’t help beginners by providing common defaults from which to select.
Another important concept to consider when doing video conversion is aspect ratio. DV camera footage and all footage for North American television display have pixel dimensions of 720 x 486. The pixels on a television are not square—they are tall rectangles—so when 720 x 486 footage is displayed on a television, it appears with an aspect ratio of 4:3. If the same footage is displayed on computer screens with square pixels, the footage appears about 11% too wide (aspect ratio of approximately 4.4:3). When you compress video for Flash, it is often necessary to compensate for this difference by adjusting the aspect ratio of your source footage before compressing it! This is not an intuitive move for most beginners.
Squeeze makes an educated guess about your footage and attempts to adjust it to the right aspect ratio. The newest version of Squeeze also gives you the ability to override the automatic aspect ratio adjustment and select one from a list of defaults, or specify your own. When you adjust the aspect-ratio settings in Squeeze, the on-screen preview adjusts itself and it becomes clear which one is the proper aspect ratio for your footage (see Figure 2). Flix and the Flash Video Encoder don’t have aspect-ratio detection, automatic conversion, or default dimension settings to guide beginners. You are simply expected to know or calculate the necessary aspect ratio adjustments. If you fall into the habit of using the Maintain Aspect Ratio option available in both applications, you can easily end up with video that’s encoded with the wrong aspect ratio.
With all the dimension adjustments you will be making to your footage, you may find that you want to retrieve information about your source footage after importing it. Flix displays visual properties for your source footage such as dimensions, frame rate, file format, and color depth; and audio properties such as audio format, number of channels (stereo/mono), sample rate, and bit rate. Sorenson and Adobe leave you guessing about the specs of your source footage.
Flix offers good controls for customizing the output names for files, allowing you to set a prefix and suffix for all the files in a given batch. File naming in Squeeze is a little more restrictive. You apply filename prefix and suffix information at the program-wide level rather than per batch or per file. Suffixes are limited to the name of the encoding setting you applied. The Flash Video Encoder allows you to specify a name for each file but doesn’t offer prefix/suffix settings.
Each encoder provides you with different progress information. The Flash Video Encoder shows a thumbnail preview of the footage during encoding, while Sorenson can display a full-resolution preview. None of the tools offer a prediction of the remaining time to complete a batch, although they each offer some information about the progress of the encoding for each individual clip in a batch, such as time elapsed, time remaining, and average frame data size.
The Flash Video Encoder maintains the most thorough information about completed encoding processes. It automatically saves an activity log of all applied settings and data about the encoding process for each clip in a batch. On2 is the runner-up in this category, allowing you to save and view similar data only when encoding one clip at a time. Sorenson doesn’t provide the ability to view or save encoding data about completed encodings.
In my encoding speed testing, I processed two clips of different lengths (10 and 25 seconds) and measured the time it took to output each of them at 720 x 480 and 320 x 240 resolutions, respectively. (The 720 x 480 size was chosen to optimize the encoding speed by preventing any processor drag due to image resizing.) In all my tests, encoding time increased dramatically as the dimensions of the output FLV increased. On2 has a significant speed edge over Squeeze. Two-pass VBR Flash 8 encoding with Flix required 2–8 seconds per second of source footage. Sorenson’s range was broader (6–50 seconds).
Image quality control
The process of encoding often results in video with color and density shifts. Many encoding applications offer image preprocessing to control these shifts and stabilize the image quality of the output. Squeeze has default image processing presets called filters, which you can also customize. You can apply Squeeze filters to individual video clips or to all clips in a batch. Basic contrast and brightness controls are augmented with white/black restore and gamma controls to adjust mid-values independently of the darks and lights. While Squeeze offers advanced image density controls, Flix offers control over the color of the image with hue/saturation sliders (fundamental contrast/brightness controls are also included). The Flash Video Encoder does not offer controls for adjusting density or color.
Squeeze and Flix both offer a live preview as you configure preprocessing settings. Flix updates the entire preview image, and Squeeze gives you a split-screen display with before-and-after-comparisons. Squeeze is the only tool in the bunch to offer zooming, enabling close inspection of your video.
Most video that you encode for Flash should be deinterlaced before being encoded. Interlacing is common in video created for display on television. It is not visible when presented on televisions, but interlaced video presented on a computer screen often has visible and distracting horizontal comb-like lines around fast-moving parts of video content (see Figure 3). Additionally, video that is converted from film to video is put through a telecine process to expand its frame rate from 24 fps to the standard North American television frame rate of 29.97 fps. It is optimal to undo the telecine process before encoding video for Flash. Squeeze offers both deinterlacing and telecine removal, Flix offers only deinterlacing, and the Flash Video Encoder offers neither.
Another feature of video for television is that the borders of the image are sloppy (see Figure 4). You never see sloppy borders on TV because they crop the images they display. When video with sloppy edges is displayed on computers, the whole ugly truth is revealed. The solution is to crop the sloppy borders before encoding the video. Squeeze and Flix offer mouse-draggable control of the cropping boundaries, but neither offers Shift-constraint to maintain a proper aspect ratio while resizing. Squeeze offers constraints based on standard or customizable height/width ratios. None of the encoders offer a simple edge-crop option to remove just a few pixels from all sides to eliminate the sloppy borders common in a lot of video.
You can trim the length of your footage with all three tools. Sorenson offers the best variety of controls for playhead positioning, and video editors will feel at home with J/K/L and I/O keyboard control of the playhead and in/out points. The left and right arrows also move the playhead incrementally. Flix doesn’t have keyboard-based playhead adjustment but it does have advantages, such as a scalable timeline for fine timeline adjustments and numeric input for playhead and in/out point positioning. Both Flix and the Flash Video Encoder display the duration of a trimmed clip, while Squeeze users have to do the math on their own (subtract the displayed start time from the end time). An interesting feature of Squeeze is the ability to create multiple “pseudo clips” from one master clip by setting new in/out points and then clicking the Duplicate Source button.
Note: I use the term “pseudo clip” to describe the situation where you create a copy of a video in your job, maintaining in/out points specified in the copied-from clip, without actually creating second copies of the source media on your media drive. The unique part about this is maintaining the in/out points so they don’t have to be reset in a copied instance. The application tooltip for the button reads, “Creates a new source like the selected source with the in and out points.”
After you preprocess, crop, trim, and resize, your clips are finally ready to be encoded! Squeeze offers the most precise control of the new Flash 8 VP6 video codec. All three encoders offer alpha-channel encoding for transparency, and both Flix and Squeeze allow you to customize the quality of the alpha channel.
Note: In addition to the three color channels that make video (Red/Green/Blue), Flash 8 video includes an optional fourth channel for 8-bit alpha channel transparency. In other words, each pixel of your video can now have a degree of transparency applied to it—from opaque to transparent with 256 levels in between.
When using Squeeze or the Flash Video Encoder, you must prepare the video in an external application to create the alpha channel. The recent update to Flix includes a built-in chroma key tool (see Figure 5). Keying is the process of turning the background of your video transparent by removing the background color (usually green or blue). The Flix keyer works well for casual users but doesn’t have a zoom control for close inspection of your work or other fine-tuning features—such as spill color suppression and fine mask-edge control—which distinguish the good keying tools from the great. If you find that the Flix keying tool leaves an unnatural blur or green fringing around your subjects, you will need to pull your key (apply a keying filter) using another tool such as the excellent Keylight plug-in bundled with Adobe After Effects Professional 6.5 and later to pull your keys before importing your footage.
Back to the VP6 controls, Flix has the ability to control the automatic keyframe frequency, and Squeeze adds the ability to specify a threshold of how different a frame must be from the previous frame before a new keyframe will be inserted. Both applications can be set to drop frames when necessary to maintain a minimum quality level in hard-to-compress parts of clips. Squeeze even allows you to flag individual frames to be encoded as keyframes. Squeeze was the first tool to expose all of the available VP6 controls, but the recently upgraded Flix includes a similar set of VP6 controls (see Figure 6).
Flix and Sorenson allow uncompressed audio in FLV output. All the encoders offer MP3 audio encoding at a variety of data rates. Flix adds a Stereo/Mono toggle and Sorenson goes a bit further with a basic audio normalization feature.
Flix offers the best audio and video fade controls, giving you precise frame-level control, with the audio fading decoupled from the video fading. Squeeze audio and image fading controls are coupled and the duration is specified in whole-number seconds, resulting in less precise control over audio/video fading.
Of the three encoders, Squeeze offers the best solution for saving custom encoding presets. You can even save and export settings for maximum portability. The Flash Video Encoder settings must be configured for each video and cannot be saved or applied to other clips. Flix users with an adventurous streak can manually configure the XML presets file (see Figure 7). This is a hack that allows users to create encoding presets. With no way to revert to factory settings, XML novices may find this manual editing process intimidating.