New Video Codec with Alpha-Channel Support
One of the most talked about new features is a video codec, developed by On2
, called VP6. (There is a new version of the codec called VP7, but it is currently available only for Video for Windows.) The new codec offers near-DVD quality at even smaller file sizes. Obviously, mileage may vary. The tradeoff of quality and file size is a never-ending battle.
Even more interesting, however, is that VP6 supports alpha channels making it much easier to composite the video stream with other assets. This makes video of glass, chroma key knockouts, fire, smoke, etc., much more realistic (see Figure 1).
|Figure 1. The Elements: The VP6 alpha-enabled video from which this still was taken renders fire and stone with surprising realism and even more surprising performance.|
Frankly, I am surprised at how good the performance is when using this new codec. Every additional processor task affects performance, but don't make the mistake I did and assume that you should use it sparingly. As always, test your intended use in your application; this isn't something you should automatically reserve for high-end applications.
Creating the video assets is similar to creating video files for prior versions of Flash. You can embed video in Flash (not recommended except possibly for very specific uses of tiny files), or create an external FLV file. When embedding the video, a new wizard that includes the VP6 codec (in addition to the existing Sorenson Spark codec, which has not been replacedyou can use either) makes the task simple.
Rendering external FLV files can, as in prior versions, be accomplished in a variety of ways. The Flash Video Exporter add-on will allow any QuickTime-savvy application to export to FLV, and Flash 8 Professional now ships with its own external encoding application called Flash 8 Video Encoder. It works the same way as the exporter but also supports batch processing.
This means that no additional third-party application is required to create FLV files. In the past, however, such third-party apps have offered enhanced features. Sorenson Squeeze, for example, improved video compression over Flash's built-in Sorenson Spark codec. On2 may offer the same thing for its VP6 codec in the future (VP7, perhaps?), as they have purchased Wildform's Flix video encoder as an entrée in this market. However, at press time, this could not be confirmed.
In both cases, enabling support for an existing alpha channel is as simple as checking a checkbox. Creating the alpha channel is the task of your video editing software. This means that video applications such as FinalCut Pro and AfterEffects, as well as 3D applications capable of creating alpha channel capable files, can render videos that will really make your Flash files pop.
Improved Video Cue Points
Cue pointstime markers within the video can now be embedded in FLV files. Unfortunately, as near as I can tell, this is not an automatic process. The cue points must be manually inserted at encoding time, similar to the way they were created in the MX 2004 Pro Media Playback component. A named cue point is inserted at a specific time code. However, they are embedded in the FLV file, so you only have to do this once no matter how many times you use the FLV asset.
Further, the cue points are more powerful than before. When you set a cue point, you can designate its type as "Event" or "Navigation." Navigation cue points are used for navigating within the video. When such a cue point is created, a corresponding keyframe is created in the video and used as a destination point. Event cue points are used to trigger ActionScript events, and can even pass user-defined name value pairs along with the cue point, in a parameters object. You can then use these names and values in your scripting.
The new FLVPlayback component offers a dozen or so ActionScript methods to use with these cue points. You can add or remove them, as well as enable and disable them, with ActionScript. You can differentiate between embedded cue points and those added via ActionScript, and you can also differentiate between event and navigation cue points. Finally, you can find the different cue point types or seek to the nearest relevant cue point.
Expanded Video ActionScript
The FLVPlayback component offers additional ActionScript beyond working with cue points, for improved playback control when creating your own controller interfaces. Further, a dozen or so standard properties, such as alpha, rotation, width and height, x- and y-coordinates, x- and y- scale, etc., have been added directly to the Video class to make compositing of the video assets even easier. Additional On2-specific deblocking filters have also been added for use with low-bandwidth videos.
Easily Skinnable New Media Component
The FLVPlayback component is also easily skinnable. The provided controller comes in seven different button/position configurations, in four different themes. You can create your own skins relatively easily by modifying external files that the component can load at runtime. You can also build your own discreet controller elements with individual playback controls (rather than using a single controller bar).