How can I stream multiple bitrates using Adobe Flash Media Live Encoder and FlowPlayer?

This article will describe the process of configuring Adobe Flash Media Live Encoder and the FlowPlayer flash player to handle multiple bitrate streaming and automatic dynamic bitrate switching.

First, determine which bitrates you'll be streaming. Adobe FMLE allows up to three bitrates, so for the purposes of this article, we will choose 200, 350 and 500 kbps.

Encoder Settings

Within the video section of the Encoding Options of Adobe FMLE, enter the three Bit Rate and Output Size settings. For example:

Bit Rate: Output Rate:

1 500 Kbps 640 X 480

2 350 Kbps 320 X 240

3 200 Kbps 320 X 240

(For information about the recommended video/audio codec settings, see this knowledgebase article.)

On the right side of the settings panel, under "Stream to Flash Media Server", set the stream field to livestream_%i. When Adobe FMLE begins encoding, it will send three streams with three unique names, the %i being replaced with the number associated with the bitrate. Thus, the server will receive a stream called livestream_1 and 500 kbps, livestream_2 and 350 kbps, and livestream_3 and 200 kbps.

FlowPlayer Configuration

We'll be using a SMIL (Synchronized Multimedia Integration Language) file to specify the bitrate options available to FlowPlayer. The SMIL file can be placed anywhere, but for the purposes of this article we're going to assume it's stored in the flash_media folder of the hosting service provided along with our Wowza streaming solution. The file contents should look like this, to match the bitrates we set up in Adobe FMLE:

  <meta base="rtmp://" />
   <video src="livestream_1" system-bitrate="500" width="640" />
   <video src="livestream_2" system-bitrate="350" width="320" />
   <video src="livestream_3" system-bitrate="200" width="320" />

(Replace above with the domain of your streaming plan.)

Additional FlowPlayer Plugins

There are two extra flowplayer plugins that are required to make multiple bitrate streaming work:

The SMIL plugin to enable SMIL support can be found here.

The bwcheck plugin which will allow dynamic bandwidth switching can be found here.

Near the bottom of the above plugin pages you'll find the download links. You only need to download the .swf plugin file. As of this writing, the files you'll download for the SMIL and bwcheck plugins are flowplayer.smil-3.2.2.swf and flowplayer.bwcheck-3.2.5.swf respectively. We will likely begin deploying these plugin files to new streaming plans as of July 1, 2011, so if you ordered service after that date, you may find the plugin files are already there.

Player Page Code

Now it's time for the flowplayer code to place on the page to make all of this happen. Simply integrate the code below into your player page, and replace with the domain of your streaming plan:

FlowPlayer JavaScript Include

Within the head tags on the page, include the flowplayer javascript:

<script type="text/javascript"

Anchor Tag

The following anchor tag should be placed on your page where you want FlowPlayer to appear:

<a id="player" href="live stream"

(The href above can be set to anything--it doesn't matter since the player will replace the anchor and handle everything. The styling controls the player dimensions--edit to taste.)

Player Code

Here's the player code:

  flowplayer("player", "", {

    clip: {
      url: "/flash_media/livestream.smil",
      autoPlay: false,
      provider: 'rtmp',
      urlResolvers: [ 'smil', 'bwcheck' ]

    plugins: { 
      smil: {
        url: ''

bwcheck: { url: '', serverType: 'wowza',
dynamic: true, netConnectionUrl: 'rtmp://', }, rtmp: { url: '', netConnectionUrl: 'rtmp://' } } }); </script>
  • 6 Users Found This Useful
Was this answer helpful?

Related Articles

How do I configure FlowPlayer for flash streaming?

Step 1: Download and install necessary files Download FlowPlayer from...