Accessibility

Table of Contents

Web video template: Dynamic video playlist

Choosing between progressive and streaming video

Comparing the pros and cons of streaming and progressive video is beyond the scope of this article. (Read the Video Learning Guide for Flash for an overview of Flash video delivery options.) Even so, you should decide which method of delivery to use before you begin. As a quick review, let's outline the major benefits and pitfalls of each.

Progressive delivery

  • A standard web server is all you need. You don't need any special server software to deliver video progressively. It is transferred via HTTP, just like any other file into your browser (such as a JPEG, GIF, HTML, or SWF).
  • No Internet connection? No problem! For stand-alone usage such as a CD-ROM, where an Internet connection may not be available, progressive video is the only option for dynamic playlists. For video delivered offline, streaming video in Flash Player is not possible because it requires a connection to Flash Media Server.
  • Caught in the cache. Unlike streaming video, progressive video is actually downloaded to the viewer's hard drive. This can be a good thing (if the viewer wants to replay the clip, it will play from the local cache) or a bad thing (a copy of the video resides on the viewer's computer, which could be an issue for material with strict copyrights). Streaming is a better option if you want to control who watches your video and what happens with it.
  • Seek and you may not find. One limitation of progressive delivery is that you can seek only to downloaded keyframes. You may have experienced this if you ever started to watch a video and wanted to jump ahead to the middle right away—sometimes it just hangs there. This occurs because your browser hasn't yet received that portion of the file. You must download the video file up to the point you're trying to access. If the video hasn't yet downloaded, you can't jump ahead. You may also have noticed that the seek bar jumps forward or backward a bit from where you placed it; it jumps because there isn't a keyframe at that spot. You can seek only to keyframes—frames that contain 100% of the pixel data for that frame. (All other frames in a video contain only the data that has changed from the previous frame; this is how videos are compressed.)

Streaming delivery

  • No cache. Unlike progressive delivery, streaming video is never downloaded to the viewer's hard drive. The video data is displayed as it is received, and then it is discarded. This is great for copyright-protected video, as there is never a copy of the file saved in the browser cache.
  • Seek anywhere, anytime. You won't encounter any of the seek problems seen in progressive delivery when you stream your video. If you want to jump right to the end, no problem. You just start receiving data from that point, with a keyframe created by Flash Media Server on the fly.
  • Trim your bandwidth budget. Another benefit to streaming is a potential savings in bandwidth costs. Unlike progressive delivery, only the content watched is transferred. For example, with progressive delivery, someone may start watching a video, have it completely download in the background, and then close the browser halfway through—effectively wasting all that downloaded data. With streaming, however, users download only the portion of the video that they watch.
  • Hosting choices. Video is streamed to Flash Player through Flash Media Server. To stream your video, you'll need to purchase a license or work with a Flash Video Streaming Service. For testing purposes and small-scale deployments, you can use the free Flash Media Development Server 3. (For more information on that, read Tom Green's article, Beginner's guide to streaming video with Flash Media Server.)