Progressively Downloading FLV Video from a Web Server
Progressively downloading a video clip from a web server doesn’t provide the same real-time performance that streaming the video from the Flash Communication Server does. However, progressively downloading video does have several distinct advantages over the embed delivery option:
- This method is almost as easy as the embedding option.
- You can use much larger and longer video clips
- This method uses linked files (as does streaming), keeping file sizes to a minimum.
With the progressive download option, you still enjoy the benefits of downloading video from an external source without the need for Flash Communication Server. As with the streaming option, you use the FLV Playback component or ActionScript to control video playback.
The ActionScript method enables developers to use Script commands to feed external FLV files into a Flash movie and play them back during runtime (see Figure 2). In this method, the video content (FLV file) is kept external to the other Flash content and the video-playback controls (the video player) in the SWF file.
Figure 2 ActionScript commands for progressively downloading an external FLV file
The file is served from a normal web server through an HTTP request just like a normal web page or any other downloadable document. The video file must be downloaded to the client’s hard drive before it will play back. However, unlike traditional download-and-play methods of video delivery, with progressive download, the file starts playing before it has completely downloaded.
Pros of Using Progressive Downloading
Keeping the video external and separate to the SWF file offers a number of benefits over embedded video, including the following:
- Easier updates: It’s relatively easy to add or change content independently of the video player and without the need to republish the SWF file. During authoring, you need to publish only the SWF interface for previewing or testing part or all of your Flash content. This results in faster preview times and quicker authoring turnaround. In addition, the frame rate of the video file can be different from the frame rate of the SWF file, providing greater authoring flexibility.
- Smaller SWF file sizes: Your SWF file can remain very small for fast page loads and the video is delivered only when the user requests it.
- Better performance: Because the FLV and SWF files are separate, video files are loaded from the computer’s disk drive into the SWF file, with no limitation on file size or duration. As such, the performance and results of your video playback will typically be better. Also, sync issues between the fps rate of the video and the fps rate of the SWF file are no longer a problem. During delivery, video begins playing as soon as the first segment has been downloaded and is cached to the local computer’s hard drive.
These benefits apply to both progressive download and streaming video and are compelling enough that Adobe recommends that embedded video be used only as a last resort.
Cons of Using Progressive Downloading
When compared with streaming video, there is really only one benefit of progressive download: You don’t need streaming server software to deliver your video. Progressive download video can be served from any normal web server. For example, it can be served off the same machine that is running Apache and serving your HTML pages.
Although this convenience is nice, it does present some problems, including these:
- Limited seek and navigation capabilities: Viewers cannot seek forward through the video; they need to wait until the video is downloaded entirely before navigating to a particular spot in the clip. Streaming video is the better choice if you are delivering longer clips that require the ability to skip quickly around.
- User-accessible content: Because the file is downloaded, the media physically resides on the viewer’s machine. Savvy users can access the content by searching their browser caches or temporary Internet files. This might not be a bad thing if the content owner has no concerns about rights management for his or her content. For some users, it might actually be a benefit because the file can be played back from the local cache without the user having to access the web again. However, if maintaining more control or digital rights are concerns, streaming video is a better option.
When to Use Progressive Download
Progressive download is a perfect use for hobbyists and students, or for websites that have low traffic requirements that need to deliver only short videos. Developers who want to offer the best video experience and better control over their video delivery, or those who need advanced features (such as displaying video to large audiences, tracking, and reporting video viewing statistics) should consider streaming video.