Accessibility

Table of Contents

Overview of streaming with Flash Media Server 3

Streaming vs. HTTP delivery

When determining a method of delivery for video over the Internet in the Adobe Flash Player, you have three choices:

Embedded video is rarely used except in very specialized applications with low-quality, short video clips, so I'll just discuss streaming vs. progressive here.

In both progressive and streaming delivery, the video content is kept external to the SWF file. To deploy to the web, the SWF file and the video file would both be uploaded to a server.

Keeping the video external and separate offers a number of benefits over the embedded video method, including:

Note: Although the focus in this section is on the delivery of video files, the same methods can be used to deliver audio files. In other words, audio files can also be embedded, progressively downloaded, or streamed.

Progressive download video delivery

Since Flash MX 2004, progressive download has been supported for video delivery. This method allows developers to load external video files into a Flash or Flex interface and play them back during runtime. This can be accomplished using ActionScript commands with the Video object or playback components, or by setting parameters for the playback components in the authoring environment (see Figure 2).

Figure 2

Figure 2. Parameters set for an FLVPlayback component to STREAM an external video file into a SWF

When the video is played, the video file first begins to download to the viewer's hard drive, then playback starts. The video will begin to play when enough of it has downloaded to the viewer's hard drive. The file is served from a standard web server through an HTTP request, just like a normal web page or any other downloadable document.

In comparison to streaming video, there's really only one consistent benefit to progressive download—you don't need a streaming server to deliver the video. Progressive download video can be served from any normal web server.

While this can be convenient and potentially cost-effective, the following potential issues should be noted:

Progressive download is a perfect use for hobbyists or websites that have low traffic requirements, don't mind if their content is cached on the viewer's computer, and only need to deliver shorter length videos (under 10 minutes). Customers who need advanced features and control over their video delivery, and/or those who need to display video to larger audiences (e.g. several hundred simultaneous viewers), need to track and report usage or viewing statistics for the video, or want to offer the best interactive playback experience, will need to stream their video. Streaming delivery also consumes less bandwidth than progressive delivery, because only the portion of the video that is watched is actually delivered.

Streaming video delivery

When you use streaming delivery, as is the case with progressive download, the video files are kept external to the other content. Developers can use ActionScript commands (and parameter settings with media components) to load external video files into a SWF and play them back at runtime. In fact, the ActionScript code needed for streaming is almost identical to that for progressive download.

This is where the similarities between progressive download and streaming delivery end. In the case of streaming video, each client opens a persistent connection to the streaming server, and the server streams the video bits to the client. Those bits are displayed by the viewer and then immediately discarded.

This tight connection between the server and the client, and the server's ability to precisely control and deliver any portion of a stream as requested, enables the developer to take advantage of some advanced capabilities. These include the following:

If progressive download is a "dumb" method of video delivery with very little control—it's basically a simple HTTP download call—then streaming is a very "smart" method of media delivery that enables publishers to control every aspect of the video experience.

Why streaming is better

The advantages of streaming video from Flash Media Server are numerous:

While streaming may be perceived as being more difficult than progressive download, they're actually extremely similar—they both use the same components and the same ActionScript commands. Streaming just gives the developer more power to create rich, interactive video applications.

The only potential downside to streaming is that it requires special server software. Just as a robust data application would require you to install an application server in addition to your web server, robust media delivery applications require a streaming server in addition to the web server.

Customers with high-volume streaming needs, popular content, or critical uptime requirements who don't want to build their own infrastructure can get the benefits of streaming video in Flash Player by utilizing a Flash Video Streaming Service (FVSS). These Adobe partners offer load-balanced, redundant deployment of FMS over a reliable content delivery network.

When to choose streaming

Streaming with Flash Media Server should be used in any situation where you want or need to do the following:

If your website or blog relies heavily on video, audio, or real-time data sharing for delivering your message, you will want to present it in the best possible manner by utilizing the features of Flash Media Server.

Where to go from here

Be sure to read the following articles to learn more about streaming video:

For a summary of the topics presented in this article, the table on the next page compares the three video delivery techniques in Flash.