Accessibility

Flash Media Server Article

 

Dynamic stream switching with Flash Media Server 3


David Hassoun

David Hassoun

RealEyes Media

Table of Contents

Created:
14 April 2008
Modified:
24 April 2008
User Level:
Advanced
Products:
Flash Media Server

This article provides an overview of the concepts involved in dynamic stream switching of Flash video using Adobe Flash Media Server 3 (both Flash Media Streaming Server 3 and Flash Media Interactive Server 3). This technique employs the power of Flash Media Server 3 to enhance the experience for users, taking into account the varying network conditions they may encounter while viewing streaming content.

Note: This article does not pertain to progressively streaming Flash video content without the use of Flash Media Server.

I've included techniques and recommendations for bandwidth detection and the process to follow when preparing and encoding your video files for multi-bit rate delivery. The provided code examples demonstrate how to implement an effective mechanism for dynamically managing stream switching based upon the end user's bandwidth over time.

Flash is very powerful when it comes to working with video and streaming in general. It offers richness and functionality not found anywhere else on a platform (Flash Player) that is available to almost everyone. Even though it does not provide an out-of-the-box solution for dynamic stream switching, it includes all of the basic building blocks to enable almost anything with the right amount of development efforts.

With the readily available FLVPlayback component available in Adobe Flash CS3, as well as the VideoDisplay component in Adobe Flex 3, you have everything you need to quickly and effectively deliver video to your end users. Using ActionScript 3.0 you can extend and enhance the experiences using the provided components or by creating your own.

This article explores strategies to create a solution for dynamic bit rate switching that leverages the rapid development power of ActionScript 3.0 and addresses some of the unique challenges and benefits of using the Flash platform.

Requirements

To complete this article, you'll need to install the following software and files:

Flash Media Server 3

Flash CS3 Professional     or

Flex Builder 3 (with Flex 3.0 SDK)


Sample files:

Note: If you prefer, you can use your own video to follow along with this article, rather than using the provided video samples. You can use Flash Video Encoder or an alternate encoding option from Adobe Flash Media Solution Partners to encode your video media into three different bit rates.

Prerequisite knowledge

General experience working with Flash video and Flash Media Server 3 is advised. Although some of the concepts are covered at an introductory level, much of what is presented is directed to intermediate or advanced developers.

About the author

David Hassoun is the founder of RealEyes Media, LLC, a digital media firm based in Colorado that focuses on interactive motion media and advanced Flash and Flex platform applications. David has always had a passion for motion media, the power of video, and the challenges of usability and interactivity. David is an Adobe Certified Master Instructor, teaches advanced RIA classes at the University of Denver, serves as the Rocky Mountain Adobe User Group Manager, and has taught and developed advanced Flash and Flex application courses. As a consultant or while employed with other firms, he has worked for a wide range of companies such as American Express, Chase Manhattan, Qwest, Boeing, Macromedia, Adobe, US Air Force, Bechtel/Bettis, and many more. David regularly performs advanced code and technical best practices reviews, and has provided directional advice for international industry leaders over the past years—including many technical, courseware, and application reviews as an industry expert for Macromedia, Adobe, and their clients.