previous next

Chapter 6: Defining the Output For an Encoding Job

This chapter describes how to define the destinations for the output of your encoding job. You can send the encoded output to be saved as a RealMedia file for on-demand streaming, or to a Helix Universal Server for a live broadcast. You will learn in this chapter how to set up both types of destinations. And you will learn how to set information about the output clip that will be sent to your audience.

Overview: Output and Destinations

The output for a job is the encoded media created by the Helix Producer from the input media source. To define where the output will go once it is encoded, you specify the destinations for the encoded media. There are two types of destinations that you can define for an output: RealMedia files and Helix Universal Servers. A file is used when you are encoding for on-demand streaming. A server is used when you are encoding a live broadcast.

Destinations for a job's output

Destinations for a job's output

You can specify multiple destinations for the output, all of which will receive the encoded media. From the main window, you will see a list of destinations already defined for a job appearing in the output list.

Each destination you add to the output is independent. If there is a problem that stops encoded data from reaching one destination, the other destinations still receive the data. For example, you can add a server and a file destination. If the connection to the server is lost, Helix Producer continues to send the output to the file destination.

Creating a RealMedia File

You can use a RealMedia file as a destination, telling Helix Producer to take the encoded output and save it as a RealMedia file. A RealMedia file is a saved file that can be published later to a Helix Universal Server and then streamed to an audience. This method of encoding a file for later use is termed on- demand encoding. In other words, your audience can experience your content when they demand it. On-demand encoding is the primary use for using a RealMedia file as a destination.

A secondary use for using a RealMedia file as a destination is to archive a live broadcast. For this method, you set up both a Server Destination and RealMedia file as destinations. The exact encoded output that is sent to the server is also saved as a file in real time. Thus, your live broadcast is stored in a permanent form and can be streamed on-demand after the broadcast is complete.

Another benefit to encoding a RealMedia file is that you can view your content after it has been encoded. And if either the encoded audio or video does not meet your expectations, you can adjust encoding settings and re- encode.

To define a RealMedia file as a destination:

  1. From the main window, select File>Add File Destination.
  2. The Save As dialog opens.

  3. Browse to the directory where you want the RealMedia file to be located.
  4. Enter a name for the file. The extension is automatically provided by Helix Producer.
  5. Note: Normal RealMedia files are saved with a .rm extention. However, if you are encoding a Variable Bit Rate (VBR) RealMedia file, Helix Producer saves the file with a .rmvb extension to distinguish it from normal RealMedia files. See "About VBR Encoding" to learn more about VBR files.

  6. Click Save.
  7. Your new destination file is shown in the Output list. If a destination already exists for the job, the new destination will appear on the list below it.

RealMedia File Size

Determining the size of a RealMedia file depends on the choices you made when you choose the encoding settings. As a general rule, if you set Helix Producer to create a better quality output, the size of the RealMedia file will be larger. Settings that can affect file size include:

See Chapter 7: Choosing Audiences for an Encoding Job for more informations about how to change the above settings.

When a RealMedia file reaches the operating system's file size limit (4 GB on Windows, 2GB on Linux), it will start a new file. The new file will have the same name as the old file, but with a 1 added (for example, file.rm and file1.rm). You can combine these files together using a SMIL file. Refer to the RealNetworks Production Guide for more information.

Broadcasting Live to a Server

You can choose to use a Helix Universal Server as a destination for the encoded output, sending the encoded streaming media directly to a server, and then to your audience as soon as it is being encoded. This method of encoding is called live broadcasting.

Live broadcasting

Live broadcasting

To initiate the live broadcast, you need to tell Helix Producer some information about the server. This information is saved as a Server Destination. You can add more than one Server Destination to a job. When a job has more than one Server Destination defined for it, the encoded media is sent to each server at the same time.

There are two ways to use Server Destinations:

  1. Create a Server Destination just for the encoding job.
  2. If you use this method, you set up a server as your destination, but the settings you use can't be used for other jobs.

  3. Use a Server Template as a destination.
  4. If you want to use the Server Destination in future encoding jobs, you can also save it as a Server Template. Using this method, a file is stored on your computer with all the settings you have defined for the Server Destination. See "Using Server Templates" for more information.

The rest of this section defines the different broadcasting methods available to you and shows you how to set up a Server Destination for each method. The following is a summary of the methods:

Setting Up an Account-Based Push Broadcast

Account-based Push broadcasting is the standard way of transmitting encoded, streaming media through the server to the audience. It is a the best choice for when you want the reliability of the new Helix features, but also want a simple method to set up.

The main benefit of Push broadcasting is that when your audience connects to the server, there is no delay caused by connecting the producer to the server. The audience receives the data quickly since the server has the information about your broadcast indexed.

The figure below shows you the interaction between Helix Producer, Helix Universal Server, and RealOne Player in an Account-based broadcast.

Account-Based Push broadcast model

Account-Based Push broadcast model

In Step 1, Helix Producer establishes an initial connection with a Helix Universal Server. With this connection, Helix Producer sends a username and password that the server will attempt to authenticate.

In Step 2, once the broadcast is authenticated, the server sends back information to the producer over the same initial connection. This information tells the producer how to make the broadcast connection in the next step.

In Step 3, the broadcast connection is made between Helix Producer and Helix Universal Server. When the broadcast begins, the encoded packets are sent to the server, regardless of whether any players have requested the broadcast.

In Step 4, an audience member uses his or her RealOne Player to request the broadcast from the server.

In Step 5, Helix Universal Server sends the encoded packets that it has been receiving to the audience member's player, which begins decoding and playing the streaming media broadcast.

This type of broadcast is recommended if you do not have much experience setting up live broadcasts with servers, because it requires the minimal amount of information regarding the Helix Universal Server you will be broadcasting to. Get the following information you need to set up the broadcast from your server administrator:

To set up a Push, Account-Based Login Server Destination:

  1. From the main window, select File>Add Server Destination.
  2. The Server Destination dialog opens.

  3. Enter a Destination Name.
  4. This name will appear in the Output section in the main window. And if you save these settings as a Server Template, it will be the name of the template.

  5. Enter a Stream Name for the encoded output. This is the name of the file that will be used for the live broadcast.
  6. Select Push, Account-Based Login (Server 9) from the Broadcast Method list.
  7. Select the type of connection protocol that you will use. See "Transport Protocols" for a description of the protocols available to you.
  8. Now enter the other Broadcast Method Settings for the Server Destination using the following list for a description of the settings:
    1. Server Address
    2. The IP address or name of the Helix Universal Server used for the broadcast (example: server.real.com).

    3. Path
    4. The directory path on the Helix Universal Server where your broadcast will be accessed by your audience (example: /mydirectory). This setting is optional.

    5. Port
    6. The port on the Helix Universal Server that will be sent packets. The default is 80.

    7. Username
    8. The name used to authenticate the connection to the server.

    9. Password
    10. Your password needed to connect to the server. You can also select to remember your password for future connections to the same server.

  9. If you need to set the Advanced Broadcast options (only recommended for advanced users), click the Advanced Options button. See "Advanced Broadcast Options" for more information on setting these options.
  10. (Optional) To save these settings as a Server Template:
    1. Click the Templates button.
    2. Select Save as Template.
    3. The Server Destination is now saved as a Server Template that you can use for other encoding jobs.

  11. Click OK to save the Server Destination.

Advanced Broadcast Options

The following options allow you to define different aspects of the broadcast stream. You can adjust how often the broadcast will attempt to reconnect, what and how often information is shared between Helix Producer and Helix Universal Server, and how the broadcast is protected against lost data.

You use the Advanced Options - Push dialog box to set these options. To open this dialog box, click on the Advanced Options button on the Server Destination dialog box.

The following Advanced options can be set:

Attempt to Reconnect

For TCP, you have the option to force Helix Producer to attempt to reconnect to the server if there is a lost connection. You can also specify the amount of time Helix Producer waits between attempts.

Metadata Resend Interval

Helix Producer sends metadata—simple text information about the stream—to the server on a regular basis. The server needs to receive this information before it can properly broadcast the stream.

When you set this value, you determine how often the metadata text will be sent in the stream. Consequently, this value affects how quickly the server can reconnect if the stream is disconnected for any reason.

Statistics Update Interval

Helix Universal Server sends back various statistics to Helix Producer during a broadcast. This option allows you to specify the time between updates.

Listen Address

This is the IP address of your machine where Helix Producer will listen for resend requests from the server. Choose an IP address from the drop-down list.

Allow Helix Universal Server Packet Resend Requests

If this setting is selected, Helix Producer will allow requests from the server to resend lost data packets. Helix Universal Server has a similar option. If the server does not have the option selected, selecting it here will have no effect.

Forward Error Correction Percentage

FEC packets are used to strengthen the stream against data packet loss. They accomplish this by containing redundant information about the preceding packets. This redundant information can be used to reconstruct the stream in the event of packet loss.

The value entered here indicates the percentage of packets that are FEC packets. The greater the percentage, the greater the packet loss that can be handled. If you set this setting to 100%, you are creating a redundant stream to protect against packet loss.

Forward Error Correction Latency

When the FEC percentage is 100%, creating a redundant stream, the FEC latency defines the number of seconds to separate each redundant packet.

Multicast Time to Live

This value indicates the number of router hops that the stream will cross before being blocked. The higher the value, the less you limit the spread of a multicast, but it is less secure.

Transport Protocols

When you set a transport protocol, you are telling Helix Producer how it will communicate with the server. Your choice of protocol determines how data, in the form of packets, will be sent over the connection once broadcasting begins.

There are two options for protocol when connecting to a server: UDP and TCP.

About UDP

UDP is a "connectionless" protocol. Helix Producer, when using UDP, doesn't need to communicate constantly with the server to keep the connection. Only when the server needs a packet of data resent to it, will it request the packets from the producer. This reduces the load on the server that would occur if the server need to send and wait for acknowledgement of packets. Thus, using UDP enhances the performance of your broadcast.

UDP is recommended whenever possible, but TCP (described below) is required if firewalls or other network devices prevent the free transmission of UDP packets. Firewalls are often encountered when encoding over the Internet.

About TCP

TCP protocol is, converse to UDP, a "connection" protocol. When using TCP, a two-way connection exists between Helix Producer and the server. This means that if a packet is lost in transmission, the network requests a packet to be resent.

While TCP is a reliable protocol, the downside is that instead of the server being responsible for lost packets, the network layer is responsible. As a result, a Helix Universal Server loses control of how packets are resent and the timeliness of entering them into the stream. This means that situations occur when a packet is requested by the network and it is resent even if the packet is no longer needed (the stream is past its time to be decoded). This situation results in unnecessary network utilization and reduced efficiency.

TCP is best for use across a firewall where packet loss is greatest so that the stream can be adequately sent to the server.

Setting Up a Password-Only Push Broadcast

This type of broadcast is only recommended if you have experience setting up live broadcasts with servers, and if you are an administrator of the server that you will use for the broadcast or you are working in coordination with the administrator of that server.

The benefit to using a Password-Only broadcast is that an initial, authenticating connection does not need to be made between Helix Producer and Helix Universal Server before the broadcast can begin. Only a password is needed to authenticate, and that is sent with the broadcast. However, setting up a Password-Only broadcast is difficult without access to the server itself, because with no initial connection, there is no feedback from the server if the broadcast fails. And if it is set up incorrectly, your broadcast will not reach the server.

The figure below shows you the interaction between Helix Producer, Helix Universal Server, and RealOne Player in a Password-Only broadcast.

Password-Only Push broadcast model

Password-Only Push broadcast model

In Step 1, the broadcast connection, using the correct password, is made between Helix Producer and Helix Universal Server. When the broadcast begins, the encoded packets are sent to the server, regardless of whether any players have requested the broadcast.

In Step 2, an audience member uses his or her RealOne Player to request the broadcast from the server.

In Step 3, Helix Universal Server sends the encoded packets that it has been receiving to the audience member's player, which begins decoding and playing the streaming media broadcast.

This type of broadcast is recommended only if you have much experience setting up live broadcasts with servers.

To set up a Push, Password-Only Login Server Destination:

  1. From the main window, select File>Add Server Destination.
  2. The Server Destination dialog opens.

  3. Enter a Destination Name.
  4. This name will appear in the Output section in the main window. And if you save these settings as a Server Template, it will be the name of the template.

  5. Enter a Stream Name for the encoded output. This is the name of the file that will be used for the live broadcast.
  6. Select Push, Password-Only Login (Server 9) from the Broadcast Method list.
  7. Select the type of connection protocol that you will use. See "Transport Protocols" for a description of the protocols available to you.
  8. Now enter the other Broadcast Method Settings for the Server Destination using the following list for a description of the settings:
    1. Server Address
    2. The IP address or name of the Helix Universal Server used for the broadcast (example: server.real.com).

    3. Path
    4. The directory path on the Helix Universal Server where your broadcast will be accessed by your audience (example: /mydirectory). This setting is optional.

    5. Port Range
    6. Specifies a range of ports on the server that will be sent packets. Using a range of ports instead of just one minimizes the load on any one socket's memory, thereby keeping the server from dropping packets from any one overloaded port. The default range is 30001-30020.

    7. Password
    8. Your password needed to connect to the server. You can also select to remember your password for future connections to the same server.

  9. If you need to set the Advanced Broadcast options (only recommended for advanced users), click the Advanced Options button. See "Advanced Broadcast Options" for more information on setting these options.
  10. (Optional) To save these settings as a Server Template:
    1. Click the Templates button.
    2. Select Save as Template.
    3. The Server Destination is now saved as a Server Template that you can use for other encoding jobs.

  11. Click OK to save the Server Destination.

Setting Up a Multicast Push Broadcast

This type of broadcast is only recommended if you have experience setting up live broadcasts with Helix Universal Servers, and if you are an administrator of the server that you will use for the broadcast.

A multicast is designed for a broadcast across a network so that many servers can receive the streaming data. Instead of sending one stream to each server, all servers hook into the same stream. This conserves network bandwidth and server load when you want multiple servers to stream RealMedia content.

Multicast Push model

Multicast Push model

Without using multicast, Helix Producer would send a separate broadcast stream to each server. So in the above diagram, there would be five different broadcasts.

Multicast broadcasting can also be used for broadcasting across a one-way satellite network where two-way connections are not possible.

To set up a Push, Multicast Server Destination:

  1. From the main window, select File>Add Server Destination.
  2. The Server Destination dialog opens.

  3. Enter a Destination Name.
  4. This name will appear in the Output section in the main window. And if you save these settings as a Server Template, it will be the name of the template.

  5. Enter a Stream Name for the encoded output. This is the name of the file that will be used for the live broadcast.
  6. Select Push, Multicast (Server 9) from the Broadcast Method list.
  7. Enter the Broadcast Method Settings for the Server Destination using the following list for a description of the settings:
    1. Multicast Address
    2. The multicast IP address that Helix Producer will broadcast to. This address is a "virtual" IP address that will be used by each server to access the broadcast.

    3. Path
    4. The directory path on the Helix Universal Server where your broadcast will be accessed by your audience (example: /mydirectory). This setting is optional.

    5. Port Range
    6. Specifies a range of ports on the server that will be sent packets. Using a range of ports instead of just one minimizes the load on any one socket's memory, thereby keeping the server from dropping packets from any one overloaded port. The default range is 30001-30020.

    7. Password
    8. Your password needed to connect to the server. You can also select to remember your password for future connections to the same server.

  8. If you need to set the Advanced Broadcast options (only recommended for advanced users), click the Advanced Options button. See "Advanced Broadcast Options" for more information on setting these options.
  9. (Optional) To save these settings as a Server Template:
    1. Click the Templates button.
    2. Select Save as Template.
    3. The Server Destination is now saved as a Server Template that you can use for other encoding jobs.

  10. Click OK to save the Server Destination.

Setting Up a Pull Broadcast

Pull broadcasting is different from Push broadcasting in that a connection with a server is not made until the broadcast is requested by a RealOne Player. The broadcast will still be encoded, but it will not be sent to the server until requested.

This method gives you the most control over the broadcast from the server side of the connection. It is best for when your broadcast must always be available but is seldom played, because some time is needed for the first RealOne Player to request the broadcast, the server to relay the request to the producer, and then for the producer to send the broadcast to the server. Another benefit is that bandwidth is saved since no broadcast is sent, unless requested.

The figure below shows you the interaction between Helix Producer, Helix Universal Server, and RealOne Player in a Pull broadcast.

Pull broadcast details

 Pull broadcast details

In Step 1, Helix Producer begins encoding live streaming media, but the output is not sent out as a broadcast.

In Step 2, an audience member uses his or her RealOne Player to request the broadcast from a Helix Universal Server.

In Step 3, the server makes a request to the producer that a broadcast should begin. Within this request, the server sends the information needed to start a broadcast. Also, once a broadcast connection is made, the server will continue to send requests that the broadcast is kept alive as long as the player is also requesting the broadcast ("keep alive" requests).

In Step 4, the broadcast connection is made between Helix Producer and Helix Universal Server. The broadcast will continue until the producer, within a specified time, does not receive requests from the server to keep it alive.

In Step 5, Helix Universal Server sends the encoded packets that it has been receiving to the audience member's player, which begins decoding and playing the streaming media broadcast.

To set up a Pull Server Destination:

  1. From the main window, select File>Add Server Destination.
  2. The Server Destination dialog opens.

  3. Enter a Destination Name.
  4. This name will appear in the Output section in the main window. And if you save these settings as a Server Template, it will be the name of the template.

  5. Enter a Stream Name for the encoded output. This is the name of the file that will be used for the live broadcast.
  6. Select Pull (Server 9) from the Broadcast Method list.
  7. Now enter the Server Settings for the Server Destination using the following list for a description of the settings:
    1. Local IP Address
    2. The IP address on the Helix Producer's computer where a server can look for your encoded stream. Choose an address from the drop-down list.

    3. Path
    4. The directory path on the Helix Universal Server where your broadcast will be accessed by your audience (example: /mydirectory). This setting is optional.

    5. Producer Listening Port
    6. The port located on the Helix Producer's computer where a server can look for your encoded stream.

    7. Password
    8. Password used to authorize connections from the server. You can also select to save your password.

  8. If you need to set the following option (only recommended for advanced users), click the Advanced Options button:
  9. Click OK to close the Advance Options - Push dialog.
  10. (Optional) To save these settings as a Server Template:
    1. Click the Templates button.
    2. Select Save as Template.
    3. The Server Destination is now saved as a Server Template that you can use for other encoding jobs.

  11. Click OK to save the Server Destination.

Setting up a Legacy Push Broadcast

Before you can connect to a legacy version of Helix Universal Server (before version 9), you will need to know some vital information about the server. Within the procedure below is a list of the primary information about the server that you will need in order to set up a simple broadcast. You can get the appropriate information from your server administrator or from your Internet Service Provider if they are providing access to a server. Or you can have your administrator create a Server Template for you. See "Using Server Templates" for more information.

To set up a Legacy Push Server destination:

  1. From the main window, select File>Add Server Destination.
  2. The Server Destination dialog opens.

  3. Enter a Destination Name.
  4. This name will appear on the Output list in the main window. And if you save these settings as a Server Template, it will be the name of the template.

  5. Enter a Stream Name for the encoded output.
  6. Select Legacy Push (8.x, 7.x, G2) from the Broadcast Method list.
  7. Now enter the Broadcast Method Settings for the Server Destination using the following list for a description of the settings:
    1. Server Address
    2. The IP address or domain of the Helix Universal Server used for the broadcast (example: server.mycompany.com).

    3. Path
    4. The directory path on the Helix Universal Server where your broadcast will be accessed by your audience (example: /mydirectory). This setting is optional.

    5. Port
    6. The port number that the Helix Universal Server uses to accept connections for broadcasted streams (example: 4040).

    7. Username
    8. Your log-in name used to connect to the server. This log-in name is created by a server administrator.

    9. Password
    10. Your password needed to connect to the server. You can also select to save your password for future connections to the same server.

    11. Select the type of connection protocol that you will use. See "Transport Protocols" for a description of the protocols available to you.

  8. (Optional) To save these settings as a Server Template:
    1. Click the Templates button.
    2. Select Save as Template.
    3. The Server Destination is now saved as a Server Template that you can use for other encoding jobs.

  9. Click OK to save the Server Destination.

Using Server Templates

You can save a Server Destination as a Server Template. Creating a template gives you the ability to use a Server Destination for later jobs. You can also share the template with others who will be using the same server for their encoding jobs.

By creating a Server Template, you are creating a text file that contains information about the server. When you subsequently use the template as a destination for a job, that information is copied into the job.

To create a Server Template:

  1. From the Output section of the main window, select a Server Destination that you have created for your encoding job.
  2. Click the Edit button.
  3. The Server Destination dialog opens.

  4. Click the Templates button.
  5. A menu opens listing the Server Templates that you have created.

  6. Click on Save As Template.
  7. The Server Destination is now saved as a Server Template. The next time you click on the Templates button, the template will appear in the list.

When you have Server Templates saved on your computer, you can use those templates to define a destination in your job. This gives you a quick way to set up a Server Destination.

To use a Server Template as a destination:

  1. From the main window, select File>Add Server Destination.
  2. The Server Destination dialog opens.

  3. Click the Templates button.
  4. All of the Server Templates that you have created are listed.

  5. Select a template from the list.
  6. The settings associated with the template appear automatically in the Server Destination dialog.

  7. Click OK to return to the main window.

Editing Server Templates

All Server Templates are editable. Thus, you don't have to completely recreate a template if you only need to make a small change to it.

You edit a template using the Server Templates dialog. This dialog also shows you all Server Templates that have been saved to your machine. It allows you to quickly scan through the different templates so that you can edit them or review their settings.

When you make changes to a Server Template, you are only making the changes to the information saved in the template file. Thus, the changes will not take place in any jobs that were previously created using the template. To add these changes to a job, you must remove the destination from the output list in that job, then add a new destination using the revised template.

To edit a Server Template:

  1. From the main window, select Edit>Server Templates from the main menu.
  2. The Server Templates dialog opens, giving you a list of all Server Templates saved on your computer.

  3. Select a template from the list.
  4. The template's settings appear in the right side of the dialog.
  5. You can now edit the settings for the template, using the procedures described in the above sections.
  6. Click Apply to save the changes to the template.

You can also create a new template by clicking the Duplicate button. This way, an entirely new template name will appear in the list of templates, and a new Server Template file is saved on your computer.

Adding Clip Information

Adding clip information allows you to attach pertinent information about your streaming content, such as the title, who created it, and a few keywords, that describes your clip to your potential audience. This information is used to help your audience find out more about your content.

To add information about the output clip:

  1. In the Job Manager, select a job.
  2. From the Helix Producer main window, select Settings>Show Clip Information.
  3. The Clip Information palette opens.

  4. Enter the following information in the corresponding areas:
    1. Title: enter the name of the RealMedia clip that you want to appear in your audience's RealPlayers.
    2. Author: enter the name of the person who created the clip.
    3. Copyright: enter the year and owner of the clip (for example, "copyright 2002, ABC Corporation").
    4. Keywords: one or two words that will help your audience search for your clip.
    5. Description: type in a brief summary of what your clip is all about.
    6. Rating: choose a rating for your clip based on its contents.


RealNetworks, Inc. ©2002 RealNetworks, Inc.
For more information, visit RealNetworks
Click here if the Table of Contents frame is not visible at the left side of your screen.
previous next