A Crash Course in Flash Video
The only potential downside to using these new tools is that they require Flash Player 9 to view. As of this writing, however, the penetration of this version is up to 83.4% (according to Adobe) and growing daily. Adobe also has an Express Install feature available for you to implement, which makes the upgrade quick and seamless for most visitors.
Why Would I Want to Use Flash Video?
Why choose Flash Video over other video formats for your project? There are a few good reasons:
• Good video quality. Sure, proponents of other video formats say their format has Flash Video beat. However, when encoded well, the quality is quite good and is even being adopted for high-quality movie trailers and full-length online features. Besides, most viewers don’t expect HD-quality video over the web (though Flash Video can deliver near HD-quality at high bit rates).
• Interactivity. Buttons, overlays, dynamic features, user-applied bookmarks, playlists—all of these things can be programmed into a Flash Video player. Anything you can do in Flash, you can add into a video application. Try that with RealPlayer, QuickTime, or Windows Media. Even with the introduction of Microsoft’s Silverlight for video and interactivity, Flash still offers a much richer toolset for developers today.
• It just works. Nothing beats Flash for ubiquity. With a 98.7% penetration rate for video-enabled player versions 7 and higher, no special codecs or plugins to download, and fully cross-platform compatibility, Flash is the clear winner in transparency and ease of use.
Since Flash Video players can be skinned so easily, it’s not always clear that you’re viewing a Flash Video file. There’s one easy way to find out, however. If you right-click (or ctrl-click on a Mac) on the video playing in your browser, and the dialog box says "About Adobe Flash Player . . . " you know that it’s Flash. (See Figure 1 for an example.)
Figure 1 (below). You can tell that a video is Flash by right-clicking on the video in your browser.
How Do I Encode FLVs?
There are many options for encoding video into the FLV format. The commercial-grade solutions are:
• Sorensen Squeeze
• On2 Flix Pro
• Adobe Flash Video Encoder
These applications are available for both PC and Mac, and offer a full set of features. You can add cue points, enter custom metadata, set up encoding profiles, and much more with these applications. Sorensen Squeeze and On2 Flix Pro are very similar in functionality and encoding speed, but offer some specific benefits that may sway you to choose one over the other. Squeeze has robust batch encoding and profiling, for example, and On2 is slightly less expensive. Both offer two-pass encoding, which gives you better overall quality and file size optimization than single-pass encoding. The Adobe Flash Video Encoder, which ships with the Flash authoring tool, only offers single-pass encoding but can be fine for most small-scale video projects.
For those just getting started with Flash Video, or who have a limited budget, there is a free tool called RIVA encoder that allows you to transcode AVI, MPEG, QuickTime, and WMV formats into FLV. Unfortunately RIVA encoder is only available for Windows, and it encodes using single-pass encoding. But, hey, you can’t beat the price!
There are also two command-line encoders currently available that transcode video into FLV format on the server side: ffmpeg (PC) and ffmpegX (Mac). These are widely used by user-generated video sites such as YouTube to automatically convert uploaded videos to FLV. Both of these tools are open source, and free.
How Do I Serve Flash Video?
There are two ways to serve Flash Video to your audience: progressive download or streaming.
• Progressive Download. Progressive video is served from a standard web server. Like any other file viewed in a browser, it is cached and viewed as it downloads. You don’t need any special software or server technologies to deploy Flash Video via progressive delivery.
• Streaming. Streaming delivery uses RTMP (Real Time Messaging Protocol), rather than the standard HTTP, to send over the video file. This sounds complicated, but it’s really just a different way of sending data to the browser. It’s real time, as the name states, which means that the video data is displayed as it is received, rather than cached.
There are currently three choices for deploying streaming Flash Video:
• Adobe’s Flash Media Server
• Wowza Media Server
The obvious first choice is Adobe’s Flash Media Server (FMS). FMS runs on Windows or Linux servers, and provides video and audio streaming, and two-way data sharing capabilities. With FMS and Flash, you can create applications such as live videoconferences, text chat, or pre-recorded video feeds. There’s even an edge-origin server available to handle large-scale, high-traffic video streaming.
The Wowza Media Server is a commercial competitor to FMS. It has a fewer bells and whistles, but also allows for live or pre-recorded audio, video and data streaming. It’s more affordable than FMS, and is gaining ground with companies who are getting into streaming but may not have a need for all of FMS’s features and want to save a buck or two. It also runs on Windows and Linux, as well as additional platforms such as Mac OS X.
Red5 is an open-source solution for streaming Flash Video. It’s also a whole lot more. It streams FLVs, yes, but it also opens up the server-side development to customization, which the other two options don’t do. There’s also a stripped-down version, called Red5-minimal that just provides streaming capabilities if that’s all you need. Red5 and Red5-minimal can be compiled to work on virtually any operating system. Red5 could be a good solution for you if you’re a server geek (or have one on staff). The best part? It’s free.
So, Should I Use Streaming or Progressive Download?
The answer depends on several factors:
• How long are your videos? Progressive download is best for short videos, generally five minutes or less. Streaming video is most efficient for delivery of longer videos such as seminars, feature-length films, or shorts.
• Do you need to allow your viewer to navigate smoothly through the video? Progressive download has some limitations when it comes to navigation. You can only seek forward in a video if the point you’re seeking has been downloaded into your browser cache. This means that you can’t jump to the middle of a video as soon as it loads; you have to wait until that video data is downloaded first. Streaming video, however, doesn’t have this restriction. Since you’re displaying the video data as it’s received, you can jump around as much as you like, and you’ll start receiving the video data right at the point you’ve chosen.
Companies and Suppliers Mentioned