previous next

Chapter 7: Broadcasting Presentations

Concerts, presentations, speeches, can all be encoded and broadcast to clients almost instantaneously. Live presentations can be archived for later reference or later broadcast. For example, you can archive an event that happens in one time zone and then play it later for viewers in a later time zone with the G2SLTA tool.

Overview

Streaming live content is much the same as streaming static content. The only difference is the live file never actually exists. It is streamed as it's encoded, and a file is never actually created. Visitors who click a link to a live broadcast join the event as it happens, and everyone sees the same content at the same time.

RealServer can save a copy of all live broadcasts automatically, or it can save only broadcasts with specific virtual directory names.

Use the Simulated Live Transfer Agent (G2SLTA) to broadcast a stored file as if it were live. Events broadcast with G2SLTA appear to be live; everyone sees the same part of the broadcast at the same time.

Tip
RealBroadcast Network™ (RBN) provides full services for encoding and broadcasting events to a few or a few thousand viewers. See http://www.real.com/rbn for details.

Live Broadcasting

Setting up RealServer to broadcast live files consists of four steps:

  1. Configuring RealServer broadcasting mount point and port.

  2. Configuring ports through which users will connect to your content.

  3. Configuring the encoder.

  4. Placing the correct link on the Web page or SMIL file.

    Additional Information
    Instructions on using RealSystem Administrator to modify RealServer is found in "Customizing RealServer using RealSystem Administrator".

To configure G2 encoder mount points:

  1. In RealSystem Administrator, click Broadcasting. Click G2 Encoders.

  2. G2 encoders typically use /encoder/ as their mount point. Links to live material will include this mount point. If you want to change the value, type the new mount point in the Mount Point box.

  3. Give the port number to which the encoder will send its live data by typing a number in the Port box. For RealSystem G2 encoders, a typical value is 4040. If you change this value, be sure to give the new port number to content creators so they can direct their encoded feeds to the right RealServer port..

  4. Content creators using RealSystem G2 encoders can have individual user names and passwords. If you will be requiring user names and passwords from encoder connections, select the name of the appropriate realm from the Encoder Authentication Realm box. A typical realm for encoders is EncoderRealm. Select None if you do not want to require user names and passwords from encoders.

    Additional Information
    Realms and authentication are described in Chapter 11: Authenticating RealServer Visitors.

  5. When you have finished making changes, click Apply.

To configure pre-G2 encoder live settings:

  1. In RealSystem Administrator, click Broadcasting. Click Pre-G2 Encoders.

  2. To change the mount point, modify the value in the Mount Point box. Links to live material will include this mount point. The pre-G2 encoders typically use the /live/ mount point.

  3. Give the port number to which the encoder will send its live data by typing a number in the Port box. For encoders created before version G2, a typical value is 5050. If you change this value, be sure to give the new port number to content creators so that their encoders can still connect to RealServer.

  4. Encoders developed before RealSystem G2 are able to supply passwords, but no user name. To require a password for these older encoders, type the password in the Password box. The value was initially established during setup. All encoders connecting to the older encoder port will use this same password.

    If you change the password, be sure to tell content creators what password to use.

  5. When you have finished making changes, click Apply.

To configure the ports:

Because links may include port numbers, make sure that the settings for PNA Port and RTSP Port are correct.

Additional Information
See "Port Variables".

To connect the encoder to RealServer:

When a content creator sets up the encoder to broadcast a performance, he or she will indicate the RealServer port numbers to which it should send live streams.

If a G2 encoder is in use, and you have typed a value in the Authentication Realm box (described in the previous section), the person using the encoder will need to type a user name and password.

If a pre-G2 encoder (such as RealEncoder version 5.0) is in use, and you instructed RealServer to require a password by typing in the Password box, the person using the encoder will need to type a password.

Additional Information
Refer to your encoding software documentation for instructions on setting up the encoder.

To link the Web page or SMIL file to the live stream:

Links to live events are similar to links for on-demand clips, with the addition of the mount point.

Follow the format of linking to an individual file, and use the live file mount point, usually /encoder/ (if the material is arriving from a G2 encoder).

Additional Information
See "Links from Web Pages to Streamed Media Clips".

Playing A "Please Stand By..." Message

Should a live stream be interrupted, you can still send information to clients, displaying a message that says "Currently experiencing technical difficulties" when a live broadcast is interrupted. This is possible by making a file that contains the message you want to display, and placing it in a subdirectory with the same name as the live mount point.

To create a "Please Stand By..." Message:

  1. Create an actual subdirectory with the same name as the live mount point, and place it under the main base path.

  2. In this subdirectory, place a file in the same format as your broadcast (RealAudio, RealVideo, or SMIL) that contains the error message you want to stream in place of the live file. You may want to include information about when the visitor should check back (keep in mind the different time zones in which visitors may live).

If a live stream fails to arrive at RealServer, RealServer will search for an actual directory that matches the URL. In this case, it will find the subdirectory with the error file in it.

Archiving Live Files

You can save (or "archive") a live broadcast for historical purposes or for later playback. For information on playing saved files as if they were live, see the next section, "Simulating a Live Broadcast".

When live archiving is enabled, RealServer examines all arriving live streams, and compares the names of the streams with the list names within the Live Archiving section of RealSystem Administrator or the configuration file. If it contains a list whose name matches the virtual directory name of the incoming live stream, RealServer will archive the file.

If no matching list name is found, RealServer does not archive the file.

Files are archived in locations specified by Target Directory.

RealNetworks' encoding products include an option to save a copy of a file while encoding. This setting is independent of the archiving feature in RealServer. Typically, there is more storage space on the RealServer system than there is on the content creator's computer.

Choosing the Size of the Archived Files

For each live broadcast that you want to save, you can choose to create one large file that contains everything in the original broadcast or several small files. These small files can be based on length of recording or file size. For example, RealServer can archive a continuous live feed into files each containing thirty-minutes of the broadcast, or can start a new archive file each time a certain size is met.

Live Archiving Options
Method of archiving Suggested use
One large file · Corporate presentations
· Concerts
Small files, based on elapsed time · Ongoing news broadcasts
· Event coverage
Small files, based on file size · Ongoing events
· Where disk space is a concern

Large Files

Large files are appropriate when you want to save an entire event in one file. If RealServer archives a live broadcast with the same destination path and file name as an existing file, RealServer automatically renames the file by appending a unique number to the end. For example, if RealServer encountered a file named concert.rm in the archive directory, it would rename it as concert.rm.86400. The new file gets the concert.rm name. The number that RealServer chooses is related to a timestamp; larger numbers indicate newer files. In this way, one directory can be used to store the latest version of a broadcast and the previous versions as well. Reusing the same output file name can simplify Web page maintenance, because the links for a recurring event remain the same.

Small Files

Small files based on elapsed time are saved with the following method: as soon as the initial value indicated in the configuration file is reached, the archived file will be named filename0.rm. When the second archived file maximum size is reached, it is named filename1.rm where filename is the name of the live file stream.

File names for files based on size are named with the same method as for files archived according to elapsed time.

If RealServer tries to archive a stream for which an archived file already exists, it uses the same method as described in "Large Files".

SureStream Files

Because several bit rates are present in SureStream files, RealServer creates several temporary files as it archives the streams. When the desired file time or size is reached, RealServer merges the temporary files into the final SureStream format.

Warning
Do not stop RealServer before it merges the temporary files, or it will not create the archive file.

Setting Up Live Archiving

Live archiving is done on a per-virtual-path basis.

To archive live streams:

  1. In RealSystem Administrator, click Broadcasting. Click Live Archiving.

  2. Click Add a Virtual Directory.

  3. In the new browser window that appears, type the virtual directory to which live files are being sent. This is the same text that the content creator will type in the encoder, including the live broadcasting mount point.

    If you want to archive all live streams, name this list with an asterisk (*) rather than typing the virtual path.

  4. Click OK.

  5. Select the new virtual directory from the Virtual Directories list.

  6. From the Archive list, select On.

  7. In the Target Directory box, name the virtual directory where RealServer should store the files.

    When determining the actual location of the Target Directory, RealServer examines the mount points and uses the base path of the one that best matches the Target Directory. In its default configuration, the "/" mount point is the best match, so RealServer puts archived files in directories relative to the main mount point's Base Path.

  8. To limit the files by their size, select File Size and type the maximum desired size in megabytes.

    To limit the size of the archived files by time, select File Time. Select the frequency with which a new archive file will be selected; use the table below.

    Example FileTime Values
    FileSize Value Resulting File Contents
    30m Thirty-minutes
    1h One-hour
    1h30m One-and-a-half hours
    1d1m 24 hours and one minute
    1d1h 25 hours (one day plus one hour)
    23h59m 23 hours and 59 minutes
    1d1h1m 25 hours and one minute

    If you give values to both File Time and File Size, RealServer will use the first, or lower, limit.

    To save entire broadcasts without limiting the file size, omit values for both File Time and File Size.

  9. If RealServer 5.0-style bandwidth is in use, select the Bandwidth Negotiation box. When this box is selected, and RealServer receives streams from encoders with the .rm extension, RealServer creates a directory named after the filename, including the extension. All the streamed files go in this subdirectory. For more information on 5.0-style bandwidth negotiation, see "Files Created with Previous Encoder Versions".

    Note
    If you are using bandwidth negotiation to create the files and the Bandwidth Negotiation box is clear, RealServer must make a choice as to which file it stores in the archive directory. It will store the first stream that arrives, as filename.rm (not as a directory), and the other bandwidth-encoded files will not be available. Be sure to specify the .rm extension when setting up the encoder to encode the live stream.

  10. Click Apply.

Disabling Live Archiving

To turn off live file archiving, select the virtual directory for which you want to turn off live archiving. Select Off from the Archive list.

Simulating a Live Broadcast

For replaying a pre-recorded stream as if it were live, RealServer includes the G2SLTA (Simulated Live Transfer Agent). Viewers who watch a presentation join the event in progress; no matter when visitors connect, they all see the same thing at the same time. This feature also allows you to create a playlist that cycles through a set of pre-recorded clips in a certain order. In addition to RealAudio and RealVideo streams, you can include RealText and RealImage files.

Tip
Use G2SLTA to test your system in anticipation of an actual live broadcast.

Setting Up G2SLTA

Setting up and running G2SLTA consists of the following steps:

  1. Configuring RealServer.

  2. Creating a playlist.

  3. Running G2SLTA.

  4. Creating the URL that refers to the simulated live broadcast.

Use the following instructions to set up and run G2SLTA.

Configuring RealServer

To configure RealServer to work with G2SLTA:

This program uses the same configuration settings as the encoders. See "To configure G2 encoder mount points:".

Creating a Playlist

The playlist is a list of files that G2SLTA will stream. If you want to simulate a live broadcast of only one file, create a playlist that refers to just that file. If you have a series of files you want to play during your simulated live broadcast, list them in sequence in the playlist. G2SLTA includes an optional command to play files in a playlist in random order. The playlist itself is a text file.

When you start G2SLTA, you give a name to the stream, similar to a mount point. This is the name that will be included in the URL. The playlist is not included in the URL.

All files in the playlist must be encoded at the same bit rates. Any SureStream files in the playlist must contain the same number of bit rates, and the bit rates must be the same among all files.

Do not include both SureStream files and non-SureStream files in the playlist.

To create a playlist:

In a text file, list each file that you want RealServer to play, one per line. Files are played in the order they are listed. File paths and names can be absolute, or they can be relative to the directory in which G2SLTA is located.

Even if you have only one presentation that you want to broadcast, you must still create a playlist file.

Format of Playlist


first_file
second_file

Starting G2SLTA

The G2SLTA program has several command line options, including the option to begin simulating a presentation in the future.

To run G2SLTA:

  1. At a command line, run G2SLTA.BAT (Windows) or g2slta.sh (UNIX). This is a batch file is included with RealServer that sets two environment variables, G2SLTA_PLUGIN_PATH and G2SLTA_SUPPORT_PATH with the values shown by the variables PluginDirectory and SupportPluginDirectory. The file is customized with your values for these variables when you install RealServer. (To view the values of PluginDirectory and SupportPluginDirectory, search for them in the configuration file. )

  2. Still at the command line, run G2SLTA, using the syntax shown in "G2SLTA Syntax" below. An example of a G2SLTA command:
    
    g2slta realserver.company.com 4040 swordfish annual.rm Annual_Report.txt 
    

    As G2SLTA runs, it displays the name of the file it is playing.

G2SLTA Syntax

The G2SLTA program uses the following format:


g2slta host port [username] [password] livefile playlist [-r] [-nN] [-bN]

where:

host Name of the RealServer system and domain name, or IP address.
port Port number specified in the pn-encoder list, usually 4040.
username Name of the encoder user as defined in the encoder realm.
password The corresponding user's password. If you are not using authentication for encoders, you can omit both the user name and the password.
livefile Name of the broadcast that you want to include in the URL that links to this event.
playlist Name you gave to the playlist.
-r Indicates that RealServer should randomly play the files in the playlist.
-nN Gives the number of files in the playlist for RealServer to play. To indicate that RealServer should play seven files, include -n7 in the command line. If a playlist contains three files, RealServer will play the file sequence twice, and will play the first item a third time, for a total of seven files played. To play a list of files indefinitely, omit the -n switch.
-bN Gives the target bandwidth to stream from a SureStream file; RealServer will stream the bandwidth of N or lower.

Tip
You can use both the -r and -nN switches to cycle randomly through the playlist N times.

Stopping G2SLTA

To stop G2SLTA, either press CTRL+C at the command line from which you started G2SLTA (Windows), or use the KILL command with the process ID of the G2SLTA process (UNIX).

Creating the Link to the Broadcast

In the Web page, create a link to the content using the format described in "Linking a Web Page to a SMIL File or Individual Clip". Use the encoder mount point.

Tip
Because the URL is linked to the list of streamed files via the G2SLTA command line, you can use a different file name for each simulated live broadcast, yet the link on the Web page remains the same.

Additional Options for G2SLTA

The G2SLTA has additional options which you can configure.

Customizing Title, Author, and Copyright Information

Ordinarily, G2SLTA sends the title, author, and copyright (TAC) information for each clip as it is broadcast. The client displays the appropriate information for each clip.

You can override information from individual clips either by including your title, author, or copyright information at the beginning of the playlist. You can also customize the information that is sent for individual clips.

To include title, author, and copyright information for the entire playlist

Type the following at the beginning of the file. The rest of the file lists the files to be played:


Title: your title
Author: your author
Copyright: your copyright information
first_file
second_file

All files in the playlist will stream with the same TAC information.

To include separate title, author, and copyright information for individual clips:

Add the TAC information to the end of each line, using the following format:


first_file&title="title_info"&author="author_info"&copyright="copyright_info"

where first_file is the name of the file; title_info, author_info, and copyright_info are strings of any length.

If you have included an overall TAC at the beginning of the playlist, including information about separate files will "turn off" the TAC at the beginning of the file; subsequent clips will then stream with their own TAC information.

Updating Playlists while G2SLTA is Running

After you have started G2SLTA, you can edit and save the playlist, and RealServer will use the new playlist as soon as it plays all the clips in the current playlist. RealServer re-reads the playlist after it plays all the clips in the playlist.

Files Required by G2SLTA

The files used by the G2SLTA program are shown below.

Files Required by G2SLTA
Streamed File Type Windows File Name UNIX File Name Configuration File Variable Showing Location of File
All encn.3260.dll encn.so.6.0 SupportPluginDirectory
slta3260.dll sltalib.so.6.0 SupportPluginDirectory
enco3260.dll encoplin.so.6.0 PluginDirectory
RealAudio and RealVideo rmff3360.dll rmffplin.so.6.0 PluginDirectory
RealImage pxli3260.dll pxlive.so.6.0 SupportPluginDirectory
RealText rtli3260.dll rtlive.so.6.0 SupportPluginDirectory

Indexing Your Live Broadcast with the Janus Project

The Janus Project is a set of products and services to connect RealPlayer users to RealServer events. It contains a list of in-process live streams broadcasted by RealServers who have registering their live events. By registering your live feeds with Janus Project, you make them available to the widest possible audience.

To register with Janus Project, use RealSystem Administrator to supply information about your broadcasts. The information is sent to Janus Project when your broadcast begins.

Janus Project examines the registration information and automatically creates a link to your Web page or broadcast. Information included at the time the media is encoded (such as title, author, copyright, and keywords) are also used by Janus Project in categorizing the broadcast. As broadcasts finish or are interrupted, they are removed from Janus Project automatically.

Live feeds in each virtual path send the same information. If you want to send different information for each live broadcast, you will need to set up a separate virtual path for each live feed, and encode the media to that separate virtual path.

The simplest way to register all your live feeds is to turn on Janus Project Indexing for the main mount point (shown as a single forward slash on the Virtual Path list). Even authenticated feeds will be publicized, but users will still have to supply a user name and password to view them.

To register with Janus Project:

  1. In RealSystem Administrator, click Broadcasting. Click Janus Indexing.

  2. From the Virtual Paths list, select the virtual path that matches the content you want to publicize on Janus Project.

    To register all your live broadcasts, select the main mount point (/).

    To add another virtual path to the list:

    1. Click Add Virtual Path. A new browser window appears.

    2. Type the virtual path in the Virtual Path box.

    3. Click OK.

  3. Type a brief description your live broadcast in the Description box. The text you type here will appear in Janus Project.

  4. Select Yes from Enable Janus Indexing to activate this feature.

  5. Give the link or links that Janus Project will use on its Web page.

  1. From the Category list, select the category that best describes your broadcast. Janus Project will list broadcasts in a similar area.

  2. Anything you type in the Keywords box will assist search engines in finding your material. Keywords that are encoded with the stream will also be used by Janus Project.

  3. If you are broadcasting a commerce, or pay-per-view, event, select Pay Per View from the Broadcast Access list. This alerts potential viewers that this content will require a name and password, or possibly credit card information.

  4. Indicate the language of the broadcast (if applicable) by selecting the appropriate language from the Language list.

  5. If your live broadcast contains mature subject matter, select Contains Adult Content from the Maturity Rating list. If it is suitable for all ages, select No Adult Content.

  6. Indicate the format of the media by choosing Audio, Video, or SMIL from the Content Type list. If none of these descriptions applies to your broadcast, select N/A.

  7. Click Apply.


Copyright © 1998-1999 RealNetworks
For information on RealNetworks' technical support, click here.
Comments on this document? Click here.
This file last updated on 05/14/99 at 19:32:15.
previous next