A Crash Course in Flash Video
This article first appeared in the August/September issue of Streaming Media magazine. Click here for your free subscription.
If you work with video on the web, someone has undoubtedly asked you to deploy video in the Flash format. If they haven’t yet, they likely will, and soon. Unlike other video playback methods, Flash is more than just a "video player"—it’s a robust development platform. Its flexibility and powerful features make it an ideal tool for deploying rich media of all kinds.
Flash Video is more than just a buzzword; it’s a necessary tool for internet video delivery. Whether you’re a content producer, filmmaker, designer, web developer, or media executive, you need to be familiar with how video in Flash works. (Note that in this article, Flash will refer to the multimedia authoring program, while Flash Video will refer to the video format.)
In this article, I’ll start with the basics and give you a quick, concise overview of what Flash Video is, what it can and can’t do, and why you’d want to choose it over other formats. I’ll give you all the information you need to make informed decisions and speak intelligently about this ubiquitous format—even if you’re talking with your company’s IT geeks.
Ready? Let’s get started at, well, the beginning!
What is Flash Video?
The extension ".flv" is always at the end of a Flash Video file. If it doesn’t end in ".flv", it’s not a Flash Video file. Other video players (such as Riva, VLC, and Windows Media) can play FLVs, but the Flash player can only play videos in FLV format.
To complicate things just a bit, there are two types of FLVs; Spark and VP6. Spark uses the Sorenson Spark codec, and is compatible with Flash Player 7 and greater. VP6 uses the On2 VP6 codec, and is compatible with Flash Player 8 and greater.
Now, you’re likely wondering why you’d choose one format over another. Good question! Unfortunately, there’s not one definitive answer. Your choice will depend on the specific requirements of your application. Let’s look at each option in a bit more detail.
VP6, the latest and greatest codec that is supported in the more recent Flash players, is likely going to be your first choice. It provides better compression (smaller file sizes and better image quality) than the older Spark codec. It also supports alpha-channel video, which you’d need if you wanted to composite video with a scene (i.e., video shot on a blue or green screen). That’s the effect you’ve likely seen where a person walks across the website content, or is superimposed on a dynamic background. This is a feature that’s only available in the VP6 codec.
All that being said, sometimes you may need to accommodate older Flash Player versions, or may want to record live video from a webcam in Flash. In either of these cases, the Spark codec will be your choice. You will notice a quality difference (YouTube currently uses the Spark codec) but your video will play in Flash Player versions 7 and newer, giving you close to 100% player penetration.
What Do I Need to Know About the Newest Version of Flash?
We’ve been talking so far about Flash Player 8 and above. You may be aware that the Flash Player is now up to version 9. Is there anything new in the new version you should know about? When it comes to video, not really. It still plays both types of FLVs, and doesn’t have any new video features per se. However, the new Flash authoring tool, Flash CS3, does offer some videocentric features that are worth noting.
Flash CS3 ships with a completely re-engineered set of components. These are pre-built widgets that you can drag and drop into your applications, potentially saving you many, many hours of development time. Luckily, Adobe has included some nice video widgets in there for us to use: FLVPlayback, FLV Captioning, and playback user-interface widgets. These new components have been optimized to allow for simplified skinning, quick color changes, and much smaller file sizes.
The FLVPlayback component gives you a video player that’s ready to go, right out of the box. It features several pre-built skins to choose from that feature the standard video controls as well as a scrubber/progress bar—and even support for full-screen video. The FLV Captioning component is a handy-dandy addition that lets you feed in standard timed-text files to add closed-captioning to your video. Then there are the individual user-interface playback elements that you can just drag and drop, arrange however you like, and easily link to your video, allowing you to create completely custom playback UIs in minutes.
Coupled with the completely rewritten virtual machine (the "guts" of the player . . . a good term to throw around when chatting with those IT guys) the new video components can really speed up both the development and the performance of your Flash Video applications.