Drilling down into new features of Flash Media Server 3


The release of Adobe Flash Media Server 3 and the update for Adobe Flash CS3 Professional to support high-definition H.264 video offer exciting capabilities for delivering extremely high-resolution media files to mass audiences.

In the following four short demos, I outline the process you can follow for migrating from using progressive download to streaming your video files using Flash Media Server (FMS) 3. I also highlight the new content protection features—encryption and SWF verification—and demonstrate how you can choose to use the FLVPlayback component included in Flash CS3 Professional, or create your own custom video player using ActionScript 3.0 to control playback of streaming media from FMS.

Finally, I describe the process of using Flash Media Live Encoder 2 for live recording, and illustrate how you can use Flash Media Server 3 both to stream and record live video simultaneously.

I recorded each demo on my laptop (in one take!) using Adobe Connect Professional. Each demo link is associated with a demo asset ZIP file that you can download to follow along with the example I step you through. Enjoy!

 

Demo 1: Progressive download to streaming (FLV to MP4)

This demo shows the process of migrating from progressive download of FLV and H.264 MP4 files to streaming the content from Flash Media Server 3.

First I show you the steps for using Flash CS3 Professional (with the recent update to support H.264 video content) to progressively download video content from your web server. I describe the process of using the FLVPlayback component in Flash to display Flash video in FLV format as well as using high-definition H.264 video in MP4 format.

Next I discuss the folder structure inside the Flash Media Server 3 application and show you where to save the video files you'll be streaming. The steps I outline to stream both FLV and H.264-encoded MP4 files directly from FMS are very similar to setting up a progressive download. As the two files are streaming, I open the Flash Media Administration Console to show you the difference in the number of bytes out (see Figure 1) as the video content encoded with two different data rates is delivered from the streaming server to the client machine.

Watch Demo 1 (7:28)

Download the sample files for Demo 1 (ZIP, 38.6 MB)

Note: Demos 1 and 2 both use the same sample files.

Checking server performance while streaming media using the Administration Console
Figure 1. Checking server performance while streaming media using the Administration Console

 

Demo 2: Content protection

This demo highlights the content protection features available in Flash Media Server 3 and Flash Media Interactive Server 3. There are two key features to help ensure content protection.

The first feature is a new protocol for connecting to the stream, called RTMPE. This real-time encryption protocol allows the server to perform at high levels without inhibiting capacity.

In this demo I use Flash CS3 Professional (with the recent update to support H.264 video content) to configure the FLVPlayback component to stream an FLV file using the RTMPE protocol (see Figure 2). This allows me to encrypt the stream from the server to the client, ensuring that the data cannot be accessed by a third-party application that may be listening.

The second feature involves SWF verification to ensure that your SWF files are not stolen or decompiled. SWF verification protects the URL for streaming access control.

I explain how you can enable the SWF verification feature by updating the Application.xml file. I also illustrate how to add the name of the folder containing your SWF file, so that Adobe Flash Player can compare the SWF with the file being streamed. This feature ensures that your SWF file—whether it is video, interactive media, or a video game—is protected.

After making changes to the configuration of the Application.xml file, I show you how to restart the server using the Administration Console in order to apply the changes.

Watch Demo 2 (9:23)

Download the sample files for Demo 2 (ZIP, 38.6 MB)

Note: Demos 1 and 2 both use the same sample files.

Using RTMPE to ensure that streaming from server to client is encrypted
Figure 2. Using RTMPE to ensure that streaming from server to client is encrypted

 

Demo 3: ActionScript streaming

This demo showcases the new content protection features (RTMPE encryption protocol and SWF verification) with a custom video player built using ActionScript 3.0 to stream both FLV and MP4 video files.

Using a video object in Flash CS3 Professional, I describe how to use the NetConnection and NetStream classes to create a connection to Flash Media Server and play back an FLV file (see Figure 3). I discuss the publishing point (the /vod folder) that is included in Flash Media Server 3 to provide video-on-demand features.

I verify that the connection to the server was successful, and then use the play command to make the FLV video play. Next I show the process for playing an H.264 MP4 file, and test the frame rate to see how it's maintained at 24 fps. I then run a sample QuickTime movie in order to compare the playback. You'll see that the frame rate is much slower than the streaming MP4 file.

Finally, you learn how to stream an MP4 file through FMS 3 using encryption and see that there is no difference in the playback quality.

Watch Demo 3 (13:50)

Download the sample files for Demo 3 (ZIP, 1.8 MB)

Using ActionScript 3.0 and the NetConnection class to connect to Flash Media Server and control video playback
Figure 3. Using ActionScript 3.0 and the NetConnection class to connect to Flash Media Server and control video playback

 

Demo 4: Live video recording

This demo demonstrates how to use Flash Media Server to capture a live video stream recorded from Flash Media Live Encoder 2. You learn how to capture the stream inside Flash Player and record the stream for later playback so users can time-shift or pause live streaming.

First I illustrate how to use Flash Media Live Encoder 2 to record live video in the MP3 format, and connect it to the server so that the video can stream using Flash Media Server.

I also demonstrate how a Flash application developed using ActionScript 3.0 can subscribe to the video that is being recorded from Flash Media Live Encoder (see Figure 4). With Flash Media Server, you can stream video content while recording new video data simultaneously—and deliver all of the media using the new content protection features because there are no video assets being delivered on the client side.

Watch Demo 4 (3:57)

Download the sample files for Demo 4 (ZIP, 1 MB)

Custom Flash application communicating with Flash Media Server 3 via ActionScript 3.0
Figure 4. Custom Flash application communicating with Flash Media Server 3 via ActionScript 3.0

 

Where to go from here

Now that you've seen my demos of some of the latest key features of Flash Media Server 3, check out some of the tutorials recently added to the Flash Media Server Developer Center, especially the Getting Started area.