Chapter 3. Using The Assistant

Table of Contents

The Simple Example section briefly showed the Configuration Assistant. In this chapter we will look again in more detail, changing some settings to stream our own video and audio instead of the test inputs. This assumes that you have a working camera and a microphone attached to your computer or built in to your computer.

Flumotion uses XML configuration files that tell it what to do. This assistant helps to create a Flumotion configuration for simple scenarios such as live streaming of a single camera or on-demand streaming of pre-existing video files. The assistant is not sophisticated enough to create more complex configurations that are often needed in the real world. For instance, you might need to stream the same video in multiple codecs and at multiple resolutions. However, the assistant should help you to become familiar with Flumotion and can be useful later to generate a fragment of a configuration file.

Detailed Example

As in the Simple Example section, choose the ApplicationSound & VideoFlumotion Streaming Server Administration menu item on your panel then choose the Start a new manager and connect to it option.

As the next page of the assistant explains, this starts a Flumotion Manager, and a Flumotion Worker which it manages. Clicking Forward will start these and connect to the Manager so we can specify what the worker should do. You will learn more about Flumotion Managers and Workers in the Architecture chapter.

Figure 3.1. Starting a new Manager and Worker

Starting a new Manager and Worker

After these processes have started, you will see a confirmation page before actually connecting to the Manager.

Figure 3.2. Connecting to the new Manager

Connecting to the new Manager

You will now see the detailed Configuration Assistant.

Figure 3.3. The Configuration Assistant's Welcome Page

The Configuration Assistant's Welcome Page

Click the Forward button to see the first real page of the assistant, which allows you to choose a common scenario, such as Stream Live or Stream Files On Demand. We will choose the defaults Stream Live scenario so just click Forward to accept these defaults.

Figure 3.4. The Configuration Assistant's Scenario Page

The Configuration Assistant's Scenario Page

The next page allows you to choose Production inputs. Choose Web Camera for Video and Sound Card for Audio. If you don't have a web camera or a sound card then you can choose the test producer for either of these. Flumotion supports a wide range of audio and video production devices.

Figure 3.5. The Configuration Assistant's Production Page

The Configuration Assistant's Production Page

Click the Forward button to see the Webcam page, on which you can specify which webcam should be used, with what resolution and frame rate.

The Size and Frame Rate drop-down controls will be filled with the choices supported by your camera. For this example, choose a size of 320 x 240 and a frame rate of 15fps or similar because the default settings would require too much processing power for the average desktop PC.

Figure 3.6. The Configuration Assistant's Webcam Page

The Configuration Assistant's Webcam Page

In this screenshot you can also see the worker drop-down choice. This allows you to choose what computer this component should run on, for instance if the camera is attached to a different computer that is available via the network. This allows you to distribute tasks across several server computers. In this case we have just started a single local worker, so localhost is the only available choice. This assumes that the camera is attached to your current computer. See the Deployment chapter to learn how to create extra workers. The Configuration Assistant would then offer these workers in the drop-down choice after connecting to their manager.

Click the Forward button to see the Overlay page and just click Forward again to accept its default values. The overlay converter allows you to overlay some text on top of the video, such as a broadcaster's name. You may also display some images at the bottom of the video, such as a Creative Commons logo.

Figure 3.7. The Configuration Assistant's Overlay Page

The Configuration Assistant's Overlay Page

On the following Sound Card page, you can configure the sound inputs. Choose Microphone from the Input drop-down control. In most cases the other settings will already be correct.

Figure 3.8. The Configuration Assistant's Sound Card Page

The Configuration Assistant's Sound Card Page

Click the Forward button to see the Encoding page. Encoding compresses your stream to make better use of bandwidth than a raw stream and provides the content in a format expected by client players.

In the Basic version of the Flumotion Streaming Server, we offer a choice of high-quality free codecs. Most are part of the Ogg family of codecs provided by xiph. The full version also supports a wide range of licensed proprietary codecs such as Windows Media, MP3 or Adobe Flash, to support common media player software.

Figure 3.9. Choosing Encoders

Choosing Encoders

On this page, choose the default settings of Ogg, Theora and Vorbis.

We'll use the default Ogg Theora format for Video and Ogg Vorbis for audio, so just click Forward to accept them.

We don't need to change anything on the remaining pages, so you can now continue to click Forward until you reach the last page. You will pass pages for Theora Encoder settings, Vorbis Encoder settings, Consumption settings (streaming or saving to disk), HTTP Streaming settings, HTTP Streaming (Audio & Video) settings, Content License settings, and then the Summary page.

Figure 3.10. The Configuration Assistant's Summary Page

The Configuration Assistant's Summary Page

After you click Apply, the Flumotion Administration window will open, showing all the components in your chosen Flumotion system. The icon for each component will gradually change as each component is started. If any component has a problem then the icon will indicate this and you can click on the component to see details.

You will see producer components to take audio and video input from your microphone and camera; encoder components to create Ogg Vorbis and Ogg Theora data from these inputs; a muxer component to combine the encoded audio and video data into one synchronized stream; and a http-audio-video streamer component (a http-streamer) to stream that content to viewers via HTTP on port 8880.

There is also a non-flow component, porter which simply listens on the port on behalf of the http-audio-video streamer component, allowing multiple streamer components to provide content to the same port, but via different URLs, perceived by viewers as different pages on the same server.

Figure 3.11. The Administration Window

The Administration Window

As described in the Simple Example section, you can select the http-audio-video component to see a clickable URL button on the right-hand side, suitable for a streaming client application, or you can instead click on the http-server-audio-video server component to see an alternative URL with a Java applet.

Figure 3.12. Viewing the Streamed Content

Viewing the Streamed Content

When you have finished, stop all the components by selecting ManageStop All from the menu, then close the window. Alternatively you could just close the window to leave the streaming server running and later start Flumotion Streaming Server Administration again to reconnect to the manager, providing the default user/test username and password login.