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.
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.
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.
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: |
| 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. |
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.
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.
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.
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:
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.
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:
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.
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: |
The Server Destination dialog opens.
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.
The IP address or name of the Helix Universal Server used for the broadcast (example: server.real.com).
The directory path on the Helix Universal Server where your broadcast will be accessed by your audience (example: /mydirectory). This setting is optional.
The port on the Helix Universal Server that will be sent packets. The default is 80.
The name used to authenticate the connection to the server.
Your password needed to connect to the server. You can also select to remember your password for future connections to the same server.
The Server Destination is now saved as a Server Template that you can use for other encoding jobs.
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:
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.
Helix Producer sends metadatasimple text information about the streamto 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.
Helix Universal Server sends back various statistics to Helix Producer during a broadcast. This option allows you to specify the time between updates.
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.
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.
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.
When the FEC percentage is 100%, creating a redundant stream, the FEC latency defines the number of seconds to separate each redundant packet.
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.
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.
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.
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.
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.
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: |
The Server Destination dialog opens.
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.
The IP address or name of the Helix Universal Server used for the broadcast (example: server.real.com).
The directory path on the Helix Universal Server where your broadcast will be accessed by your audience (example: /mydirectory). This setting is optional.
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.
Your password needed to connect to the server. You can also select to remember your password for future connections to the same server.
The Server Destination is now saved as a Server Template that you can use for other encoding jobs.
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.
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: |
The Server Destination dialog opens.
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.
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.
The directory path on the Helix Universal Server where your broadcast will be accessed by your audience (example: /mydirectory). This setting is optional.
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.
Your password needed to connect to the server. You can also select to remember your password for future connections to the same server.
The Server Destination is now saved as a Server Template that you can use for other encoding jobs.
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.
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: |
The Server Destination dialog opens.
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.
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.
The directory path on the Helix Universal Server where your broadcast will be accessed by your audience (example: /mydirectory). This setting is optional.
The port located on the Helix Producer's computer where a server can look for your encoded stream.
Password used to authorize connections from the server. You can also select to save your password.
If you select this setting, you are allowing a server to try to connect again after a connection fails. You can set how long the server must wait before the attempted connection is aborted.
The Server Destination is now saved as a Server Template that you can use for other encoding jobs.
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: |
The Server Destination dialog opens.
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.
The IP address or domain of the Helix Universal Server used for the broadcast (example: server.mycompany.com).
The directory path on the Helix Universal Server where your broadcast will be accessed by your audience (example: /mydirectory). This setting is optional.
The port number that the Helix Universal Server uses to accept connections for broadcasted streams (example: 4040).
Your log-in name used to connect to the server. This log-in name is created by a server administrator.
Your password needed to connect to the server. You can also select to save your password for future connections to the same server.
The Server Destination is now saved as a Server Template that you can use for other encoding jobs.
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: |
The Server Destination dialog opens.
A menu opens listing the Server Templates that you have created.
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: |
The Server Destination dialog opens.
All of the Server Templates that you have created are listed.
The settings associated with the template appear automatically in the Server Destination dialog.
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: |
The Server Templates dialog opens, giving you a list of all Server Templates saved on your computer.
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 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: |
The Clip Information palette opens.
|
|
©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. |