previous next

Chapter 13: Multicasting Live Presentations

Multicasting is another way of reducing the number of streams in use. It requires a specially configured network.

Overview

Multicasting is a way of sending a single live stream to multiple clients, rather than sending a stream to every single client. Clients connect to the stream, rather than to the RealServer.

Multicasting

In contrast, regular unicasting transmission sends a stream to each client that requests it:

Unicasting

To take advantage of multicasting, both RealServer and clients, as well as the routers, switches, and other devices between them, must be multicast-enabled. For this reason, multicasting is mostly used with intranets where network devices can be configured for multicasts. However, multicast delivery can be done over the Internet where intermediary network devices have been multicast-enabled.

The live material being multicast can be a live event encoded by an encoder such as RealProducer Plus, or it can be a prerecorded live event which is broadcast by G2SLTA. Only live or simulated live content can be delivered with multicasting. Refer to Chapter 11, "Unicasting Live Presentations" for information on configuring the live source.

When to Use Multicasting

The following are factors in deciding whether to use multicasting:

RealServer Multicasting Methods

RealServer includes two methods of multicasting: back-channel multicast, and scalable multicast. You can use both methods at once.

Back-Channel Multicasting

Back-channel multicast maintains an accounting control channel between the client and RealServer. RealServer uses this channel to provide information about the presentation and to query the client for a user name and password, if authentication is in use. The client uses the control channel to send password information and commands such as "play" and "stop". With this information, RealServer can track how many clients are viewing a presentation. Monitoring tools such as the Java Monitor in RealSystem Administrator show client activity.

Back-channel multicast can be accessed using the RTSP or PNA protocols. In this type of multicast, authenticated material, client statistics, and quality of service information can be sent because the exchange between the client and RealServer is bi-directional.

Back-Channel Multicasting

RTSP Multicast

This method of multicasting uses the RTSP protocol to send control information over a TCP channel. RealServer maintains a control connection for each client. The data channel is multicast to all clients using RDT, RealNetworks data transport.

RTSP multicast provides these features:

PNA Multicast

PNA multicast uses the PNA protocol over a TCP connection to exchange information between the client and RealServer.

PNA multicast is used when transmitting to pre-G2 clients. RealServer maintains a control connection for each client. The data channel is multicast to all clients.

PNA multicast provides these features:

SureStream is not supported in PNA multicast.

Scalable Multicasting

Unlike back-channel multicasting, scalable multicasting does not use a control channel; thus it takes up far less bandwidth and administrative overhead and system resources on RealServer. Monitoring tools such as Java Monitor will not track client activity. Client statistics can be sent, but only at the end of the multicast or when the user stops the presentation or the RealPlayer.

Scalable multicasting enables you to transmit to an unlimited number of clients because the transmission from the RealServer is completely one-way; there is no connection from each client to RealServer at all. All data is multicast on the network once. Each client connected to this multicast receives all data packets.

It is thus suitable for situations that would otherwise consume much bandwidth.

Scalable multicasting uses a different URL format than either RTSP multicast or PNA multicast.

Note
This method supports version 6 and later clients only; those clients version 5 and older will not receive any presentations, and will receive an error message instead.

Scalable multicast provides these features:

Scalable Multicasting

Users connect to scalable multicasts by clicking a link to a Session Description Protocol (SDP) file. This file is automatically generated by RealServer when a user clicks the scalable multicast link.

Choosing the Method of Multicasting

It's a good idea to enable back-channel multicast, because it applies to all streams broadcast by your Server. All client software is pre-configured to automatically try to connect in multicast mode if possible, so enabling back-channel multicast ensures that those clients that can use multicast will do so, leaving more bandwidth available for other clients.

Scalable multicast makes sense when you are broadcasting a high-bandwidth presentation, or if a large number of multicast-enabled clients will be viewing the presentation.

The following table summarizes the benefits of each multicast method.

Multicast Methods
Back-Channel Multicast Scalable Multicast
Feature RTSP PNA
Control channel maintained with RealServer · ·
Authentication of users · · ·
Client statistics · · ·
Minimal RealServer resource use ·
RTP-enabled ·
SureStream support (without shifting capabilities) · ·
Requires special URL format ·

The following table shows the multicasting methods as they apply to clients.

Back-Channel Multicast Scalable Multicast
Feature RTSP PNA
RealSystem version 6 clients only · · ·
Older clients ·
RealSystem 6 clients or any RTP-enabled clients ·

You can only take advantage of multicasting (either type) on networks that are multicast-enabled. If you are not certain whether your network is set up for multicasting, contact your network administrator.

Multicasting Used with Other Features

This section describes the ways in which multicasting works together with other features.

On-Demand Streaming and Multicasting

Multicasting only broadcasts live events; on-demand files cannot be multicast.

Live Unicasting and Multicasting

Both types of multicasting allow clients to switch to unicasting if the multicast becomes unavailable for some reason. In back-channel multicasting, this happens automatically; for scalable multicasts, you must set up this feature explicitly. Refer to "Using Unicasting as a Backup Method" for instructions.

Live Archiving and Multicasting

As with all live broadcasts, you can configure RealServer to automatically create on-demand archived files of live multicasts.

Simulated Live (G2SLTA) and Multicasting

A multicast uses a live encoded event as its source; this can be an in-process encoded event or it can be a simulated live event created by G2SLTA using on-demand clips.

Splitting and Multicasting

Use receivers to send data across the Internet to intranet sites, wide area networks, or local area networks, and then configure the receivers to multicast the streams to clients within the intranet. Clients will receive a multicast from the receiver.

Receivers cannot receive the source material using multicast, but when they re-transmit the material to clients, they can use multicast.

Additional Information
Read Chapter 12, "Splitting Live Presentations" for information on setting up splitting. Push splitting and pull splitting can be used with both back-channel and scalable multicasting.

Combining Splitting and Multicasting

There are four stages to configuring a combination of splitting and multicasting:

  1. Configure the source RealServer for splitting.

  2. Set up the receivers.

  3. Configure the receivers for multicasting.

  4. Create multicast URLs for clients in the intranet.

RealProxy and Multicasting

Depending on how the network is configured and the streams are listed in RealServer, clients whose requests are forwarded by a RealProxy may receive different results.

RealProxy cannot join a multicast. Instead, it will try to receive the multicast using pull splitting. If pull splitting is enabled on the source RealServer, the RealProxy will use that broadcast, instead of connecting to the multicast. The client will receive the broadcast in unicast mode. If there is a multicast-enabled network between the RealProxy and the client, the RealProxy can be configured to re-send its pull split stream via multicast instead.

Type of Broadcast Received by Clients Using RealProxy
Is RealServer Configured to Split the Content? Is RealProxy Configured to Multicast? Result
Yes Yes Client receives the pull split unicast, not the multicast. However, RealProxy can be configured to multicast the pull split stream it receives.
No Client receives pull split unicast, rather than multicast.
No Either Yes or No Client receives multicast (RealProxy uses passthrough mode).

Additional Information
Refer to RealProxy Administration Guide for information on configuring RealProxy. See http://service.real.com/help/library/index.html.

Firewalls and Multicasting

Multicasts usually take place within an intranet, where broadcasts are not travelling outside a firewall. If a multicast is occurring through a firewall, the firewall must be specially configured to allow multicast traffic.

Access Control, Authentication, and Multicasting

As with all delivery methods, RealServer verifies that the client requesting a broadcast is allowed to receive it before proceeding to send the multicast.

In scalable multicasting, the user connects to the multicast via an automatically created SDP file. If you include the authentication mount point in the link (/secure/), RealServer will verify the user's identity when the user clicks the link to the SDP file.

However, if the user saves the SDP file, she will not go through the authentication process if she later uses the saved SDP file to connect to the multicast.

Monitoring and Multicasting

In back-channel multicasts, you can see the clients that are connected, just as with regular unicasts.

Clients who are viewing a presentation via scalable multicast will not appear in the Java Monitor.

Reporting and Multicasting

Material served via back-channel multicast appears in the access log just like unicast material. The access log shows which method was used to transmit the stream.

Scalable multicasts can be identified in the access log by their mount point in the GET statement. If RealServer is configured for requesting client statistics (see "Controlling Client Statistics"), the log file will also contain statistics for each client.

Additional Resources

RealNetworks' implementation of multicasting is based on open industry standards. You may be interested in the following resources:

General Information about Multicasting

Scalable Multicasting

Setting Up Both Types of Multicasting

Before you set up either type of multicasting, you need to do two things:

Once you have the network configured and have determined which addresses you'll be using, the next steps are:

  1. Configure RealServer.

  2. Create the link to the multicast.

  3. Start encoding the live event. This is described briefly in Chapter 4, "Sources of Content".

Setting Up the Network for Multicasting

Before setting up RealServer, verify the following items with your network administrator:

In addition to network settings, for clients to take full advantage of multicast transmissions, they must be configured to request multicast transmission of live material. Consult the client software's user guide for information on configuring the client.

As noted earlier, both RealServer and clients, as well as the routers and all other network infrastructure between them, must be multicast-enabled in order for you to distribute presentations using the multicast features. This section describes only what is required to enable RealServer for multicast broadcasting.

Allocating Addresses and Ports in RealServer

There are two factors to take into account when establishing the addresses and port numbers that RealServer will use for multicasting:

Although the information in this document will help you calculate the number of addresses and ports you'll need for scalable multicasting, you'll still need to consult with your network administrator regarding the actual IP addresses you'll use.

Determining the Number of Required Addresses and Ports

For each clip that you are transmitting via multicast, you must calculate the number of addresses you'll need. The number of addresses is based on the number of bit rates in the SureStream clip.

In scalable multicasting, you'll also need to set aside port numbers; these are based on the number of streams per bit rate.

For single rate RealVideo files, figuring the number of addresses and port numbers is relatively simple. SureStream clips are more complex, as they can contain several bit rates, each with its own number of streams.

If another person is supplying the file to be multicast, that person will need to tell you how many bit rates are in the file. For scalable multicasts, you will also need to know how many streams per bit rate are present.

You can get these numbers yourself if you are encoding the file; look in the encoding software to learn the number of bit rates and streams. For example, in RealProducer Plus, you would click View>Statistics to see the number of bit rates and streams being encoded.

RealProducer Plus Recording Statistics

Once you know the number of bit rates and streams in the file, refer to "Calculating Addresses for Back-Channel Multicasts" or "Calculating Addresses and Ports for Scalable Multicasts".

If you have no way of knowing how many bit rates and streams are in the file, you'll have to guess. A safe number is six; the maximum number of bit rates that would be present in a single SureStream file is 14, yet files prepared for multicasts are likely to include only the higher encoding rates. A non-SureStream file would have at most one bit rate and two streams.

Calculating Addresses for Back-Channel Multicasts

If you are preparing to transmit a file via back-channel multicast, you only need to know the number of bit rates in the file.

Addresses Needed for Back-Channel Multicasts
Bit Rates Addresses
1 1
2 2
3 3
... ...
n bit rates n

Calculating Addresses and Ports for Scalable Multicasts

Figuring the number of addresses and port numbers for scalable multicasts depends on several factors.

An audio presentation consumes one stream; a video presentation uses two streams (one for audio and one for video). For highest quality, and to match the scalable multicast RTP specification, RealServer uses one address for each stream.

RealServer includes a feature that enables you to send the audio and video streams on a single address. Use this feature if you want to conserve the number of addresses you're using. Use the dual address method if you know that clients viewing the presentation may be using a low bandwidth connection and the clients are able to select a single stream, such as just the audio portion of your multicast.

Each address must use a certain range of port numbers. The numbers you choose can begin with any number, but the first port number must be an even number, and you must use a consecutive range. (RTP is used to send the data; the RTP standard requires this format.)

In the table below, n represents the number of bit rates in the file that you'll be multicasting.

Addresses and Ports Needed for Scalable Multicasts
Bit Rates Streams per Bit Rate Reuse Address=False Reuse Address=True
Addresses Ports Addresses Ports
1 1 (audio only) 1 2 1 2
1 2 (audio and video) 2 4 1 4
2 1 (audio only) 2 4 2 4
2 2 (audio and video) 4 8 2 8
3 1 (audio only) 3 6 3 6
3 2 (audio and video) 6 12 3 12
... ... ... ... ... ...
n bit rates 1 (audio only) n 2n n 2n
n bit rates 2 (audio and video) 2n 2n n 4n

Another way of calculating the number of ports needed is as follows:

Publicizing Your Multicasts

You can publicize your multicasts to anyone running a program that listens for the Session Announcement Protocol (SAP). These applications, such as SDR and ICAST Guide, display a list of all multicasts currently playing. RealServer creates the SAP file automatically. Programs that listen for SAP announcements will show the title, author, and copyright information encoded into the files you are multicasting.

This feature is optional; you do not need to configure it in order to use multicasting.

To set up RealServer to create SAP files:

  1. In RealSystem Administrator, click Multicasting. Click SAP.

  2. In the Host IP Address box, type the IP address of this RealServer. The SAP announcement will include this address.

  3. From the Enable SAP Service list, select Yes. This instructs RealServer to create and send SAP files. The default value is No.

  4. From the Listen to SAP list, select Yes. The default value is Yes.

    Tip
    This option enables RealServer to collect in-use multicast addresses. RealServer consults this list when selecting a multicast address from the user-supplied address range, thus ensuring that it selects unique addresses that are not in use elsewhere on your network.

  5. Click Apply.

  6. Instruct the type of multicasting you are using to include SAP information:

    For back-channel multicasts, use the following steps:

    1. Click Multicasting. Click Back-Channel.

    2. From the Enable SAP list, select Yes.

    3. Click Apply.

      For scalable multicasts, use the following steps:

    4. Click Multicasting. Click Scalable.

    5. Select the Channel whose multicasts you want to announce.

    6. From the Enable SAP list, select Yes.

    7. Click Apply.

Multicasting with Multiple Network Interface Cards

If your machine has multiple network interface cards (NICs) and you want to ensure that RealServer always uses a particular NIC for multicasts, use your operating system to set a default address. In Windows NT, set the Bindings feature. In UNIX, use the route command to associate the multicast route with the appropriate NIC.

Multicasts do not use the settings in the IP Bindings list (described in "Distributed Licensing").

Setting Up Back-Channel Multicasting

Follow the instructions below to set up back-channel multicasting. After you set it up, you will need to create the links that point to your multicasted events.

Configuring RealServer for Back-Channel Multicasting

Instructions in this section describe how to set up RealServer for back-channel multicasting.

Note
These instructions describe only the steps required to set up this feature. For more options, see "Optional Back-Channel Multicasting Features".

To set up back-channel multicasting:

  1. In RealSystem Administrator, click Multicasting. Click Back-Channel.

  2. Select Yes from the Enable Multicast to turn on this feature.

  3. In the PNA Port box, type the port number to which RealServer will direct its PNA multicast streams. The value in this box refers to the client's port number. A recommended value is 7070.

  4. In the RTSP Port box, type the port number to which RealServer will direct its RTSP multicast streams. The value in this box refers to the client's port number. A recommended value is 554.

  5. Specify the range of addresses to which you want to multicast streams by filling in the IP Address Range box. RealServer uses the first available address in this range.

    Additional Information
    Refer to "Calculating Addresses for Back-Channel Multicasts" to determine the exact number of addresses you'll need.

  6. Indicate how far multicast packets can travel over a network by typing a value in the Time to Live box. Each time a multicast data packet passes through a multicast-enabled router, its Time to Live is decreased by 1. When the value is decremented to 0, the router discards the data packet.

    The value for Time to Live can range from 0 to 255. The larger the Time to Live, the greater the distance a data packet can travel.

    The default value of 16 is enough to keep multicast packets within a typical internal network.

    Time to Live (TTL) Values
    TTL Value Packet Range
    0 Local host
    1 Local network (subnet)
    32 Site
    64 Region
    128 Continent
    255 World

  7. To allow missing packets to be resent to clients that request them, select True from the Resend list. This setting is optional. It adds some overhead to the traffic on your network; however, clients receive better quality multicasts.

  8. Check to see that the Client Access List is using the correct values for list number 100 (this allows all clients to connect in multicast mode where possible):

  9. Click Apply.

Linking to Back-Channel Multicasts

Links to both RTSP and PNA multicast are identical to links for live unicast transmissions. This is convenient, because a single link can serve both multicast-enabled clients and unicast-only clients.

Most clients on a multicast-enabled network are configured to request material via multicast first, as this makes the most efficient use of bandwidth on your network.

To link the live back-channel multicast from a Web page:

Just as in links to other live content, the link to a back-channel multicast has the following format:


http://address:HTTPPort/ramgen/encoder/path/file

RealServer URL Components
Component Meaning
http The protocol used to initiate streaming. Always use http in Web pages.
address Machine and domain name, or IP address, of RealServer.
HTTPPort Port number where RealServer listens for requests sent via HTTP. Its default value is 8080.
ramgen Ram file generator mount point.
encoder Version 6 and later encoders use /encoder/ as their mount point. If the live event is using a pre-G2 encoder, use the /live/ mount point instead.
path Optional; the virtual directory is any actual directory, relative to the base path of the mount point. If the file is located in the base path itself, omit path.
filename The file name itself, including the extension.

Links typed directly in RealPlayer or used in a Ram or SMIL file use the following format:


rtsp://address:RTSPPort/encoder/path/file

The format is nearly the same as the link used in the Web page: the protocol is different, the port number (if any) matches the protocol, and Ramgen is omitted.

Optional Back-Channel Multicasting Features

The following features are available for back-channel multicast:

Sending SAP Information with Your Multicasts

Session Announcement Protocol (SAP) information can be sent over the multicast-enabled network to announce your scalable multicast. See "Publicizing Your Multicasts" for instructions on configuring this option.

Listing Ranges of Authorized Clients

Clients whose addresses are listed in this section will use back-channel multicast to receive their clips.

Note
Access Control rules are enacted before User List rules. A client that is excluded by Access Control will not be able to connect to any multicasts, regardless of the rules you create here. (IP Access Control is described in "Limiting Access with the IP Address".)

  1. In the Client Access List area of the back-channel multicast page, click Add New. A generic rule number appears in the Client Access List and in the Edit Client Access List Number box.

  2. In the Edit Client Access List Number box, type a new number or accept the default number.

  3. In the Client IP Address box, type the address of the client that will be accessing the multicast presentation. To indicate a range of addresses, type the netmask in the Client Netmask box, or leave the box blank to refer to a specific address.

  4. Repeat Step 1 through Step 3 for each set of client addresses that will be allowed to view your presentations in multicast mode.

  5. Click Apply.

Requiring Multicasting Access Rather Than Unicasting

You can require that clients connect to your broadcast in multicast mode, and make unicast unavailable.

Note
A client may be unable to connect in multicast if it is not configured to use multicast transports, or if its network is not multicast-enabled.

Normally, clients try to receive a broadcast in multicast mode, but if that is not available, the clients will use unicast mode instead. By requiring multicast, you can control bandwidth on your network.

To require that all clients connect in multicast mode:

  1. In RealSystem Administrator, click Multicasting. Click Back-Channel.

  2. Set Multicast Delivery Only to Yes.

  3. Click Apply.

Clients that are not configured for multicast will not be able to receive the multicast, and will receive an error message instead. Use this feature when you are multicasting to a limited number of clients that you know can use multicast, or if you are multicasting a high-bandwidth presentation and do not want unicast to be an option.

Setting Up Scalable Multicasting

Just as in other live delivery methods, you indicate which live broadcasts are available for delivering in this format. In scalable multicasting, however, the settings that you configure for each live event are known as a live channel.

Perform the following steps for each live broadcast that you will be transmitting via scalable multicast.

  1. Indicate the live channel for each scalable multicast. Each live channel has its own name, address and port numbers, and optional settings.

  2. Create the link for the multicast.

In addition, you can configure some optional features:

Settings Used in Scalable Multicast

All scalable multicasts use the following setting:

Other settings are used, but they are different for each live channel. They are defined in the next section.

Setting Up a Live Channel

Note
The steps in this section set up a live channel. You'll need to know which addresses are available to you and how many to use; see "Determining the Number of Required Addresses and Ports"These instructions describe only the steps required to set up this feature. For more options, see "Optional Scalable Multicast Features".

To create a live channel:

  1. In RealSystem Administrator, click Multicasting. Click Scalable.

  2. Click Add New.

    A generic channel name appears in the Edit Channel Description box.

  3. Type a descriptive name for this multicast session in the Edit Channel Description box.

  4. Click Edit.

  5. Turn on scalable multicasting for this channel by selecting Yes from the Enable Channel list.

  6. Type the name of the live clip in the Path box. The value you type here is the same as the path typed in the production tool that is encoding the live file. The information you enter here, in addition to the scalable mount point, will be included in the link for scalable multicast.

    Tip
    To make all live broadcasts available via scalable multicast, type an asterisk (*) here.

  7. In the Port Range boxes, type the port numbers to which clients will listen for streams. The first port number must be an even number, and must be followed by a consecutive port number. Refer to "Calculating Addresses and Ports for Scalable Multicasts" to determine the number of ports to use.

  8. In the IP Address Range boxes, type the range of addresses for RealServer to use. RealServer uses the first available address in this range. To use a single address instead of a range, type the same address in each box. Refer to "Calculating Addresses and Ports for Scalable Multicasts" to determine the number of addresses to use.

  9. Indicate how far multicast packets can travel on your network in the Time to Live box. Use the values in the "Time to Live (TTL) Values" table.

  10. From the Reuse Address list, select False if you want to use a separate address for each stream; select True if you want to use one address for both streams.

  11. Type a value for Timeout. This represents the number of seconds a client will wait for multicast packets before it stops or uses the value in Alternate URL. See "Establishing Alternate Unicast Servers".

    Note
    A video clip contains two streams: one each for audio and video. Refer to "Determining the Number of Required Addresses and Ports" for complete information.

  12. Click Apply.

Linking to Scalable Multicasts

Scalable multicasts use a different URL format than other material; when RealServer receives a request in this format, it sends the material differently and does not expect to establish or maintain a TCP connection. Instead, RealServer automatically creates an SDP (Session Description Protocol) file. SDP is a standard file format that contains information such as the multicast address and port, and the title, author, and copyright information.

The client receives this file when the user clicks the link to the scalable multicast. The Web browser downloads this file and sends it to the RealPlayer client software. The client software reads the contents of the file and connects to the scalable multicast.

A user can save the SDP file to disk (by right-clicking on the link in the Web page) and use it to connect later (by opening it with RealPlayer), and skip the step of downloading it from your RealServer.

Tip
The SDP file contains exact channel settings. If you will be repeating this multicast later, and still want users to connect with the same links, be sure to use the same channel settings that you used in the first multicast. The encoder settings, the addresses, and so on must be the same, or users who connect via saved SDP files will not be able to re-connect.

To create links to scalable multicasts in a Web page

All links to scalable multicast content use the same format. Note that they always begin with http://and always end with the .sdp extension:


http://address:HTTPPort/scalable/path/file.rm.sdp

Scalable Multicast RealServer URL Components
Component Meaning
http The protocol used to initiate streaming.
address Address of RealServer; IP address or machine and domain name.
HTTPPort Port number where RealServer listens for requests sent via HTTP. This value is usually 80 or 8080; see "Port Numbers".
scalable Scalable mount point, usually /scalable/.
path Optional.
file The file name itself.
rm The file type or extension, such as ra, rm, or rt.
sdp The .sdp extension is required for scalable multicast.
.

A link would look like the following:


<a href="http://realserver.example.com:8080/scalable/vivaldi.ra.sdp">
Click here to listen to today's Vivaldi selection</a>

The same link, if typed directly in RealPlayer or included in a SMIL file, would have the same format.

Notice that the mount point /ramgen/ is not used.

Optional Scalable Multicast Features

The settings in this section are optional, and can be set for any live channel:

Sending SAP Information with Your Multicasts

Session Announcement Protocol (SAP) information can be sent over the multicast-enabled network to announce your scalable multicast. See "Publicizing Your Multicasts" on page 195 for instructions on configuring this option.

Using Unicasting as a Backup Method

When clients that are not multicast-enabled click the link to your scalable multicast presentation, they receive an error message. An error message also appears on a client screen when the multicast itself is interrupted at any point along the network. In both cases, the presentation halts.

The shift to unicast feature reconnects the client to a unicast version of the presentation automatically. You can also use this feature to customize the message those clients receive, or even redirect them to a multicast or unicast presentation. This backup presentation can be located on the same RealServer or on another RealServer.

You need only supply a single URL for your multicast if you enable this feature, rather than supplying a second URL for the unicast version.

You can enable this feature for individual live sources.

Do not enable this feature if you are multicasting a high bit-rate presentation where switching to unicast would flood your network.

To use unicast as a backup method:

  1. In RealSystem Administrator, click Multicasting. Click Scalable.

  2. In the Channels section, select the channel for which you want to configure this feature.

  3. From the Shift to Unicast list, select Yes. The default value is Yes.

  4. Click Apply.

Creating Custom Messages

In cases where clients would receive a generic error message informing them that the multicast was unavailable or available only to multicast-enabled clients, you can instruct RealServer to point the client to your own HTML page. Use your HTML page to post a custom message, such as "This presentation is only available to RealPlayers that have been configured to use multicast."

To create a custom message:

  1. Create the Web page that you want clients to see in the event of an error.

  2. In RealSystem Administrator, click Multicasting. Click Scalable.

  3. In the Alternate URL box, type the URL of your Web page. For example, type http://www.example.com/mcast.html.

  4. Click Apply.

Establishing Alternate Unicast Servers

If you have a second RealServer which is transmitting the same broadcast, but in unicast, you can supply the source RealServer with the address of the second RealServer, and clients who are unable to receive the multicast presentation from the source RealServer will automatically be sent to the second RealServer.

Clients who cannot connect will be sent to the second RealServer, rather than receiving an error message and then halting the presentation.

Note
The steps in this section are the same as in "Creating Custom Messages"; use either an alternate URL or a custom HTML page per scalable multicast.

To establish an alternate unicast RealServer:

  1. Create the Web page that you want clients to see in the event of an error.

  2. In RealSystem Administrator, click Multicasting. Click Scalable.

  3. In the Alternate URL box, type the URL of the unicast presentation on the second RealServer. For example, type rtsp://realserver.mycompany.com:554/encoder/vivaldi.rm

  4. Click Apply.

Controlling Client Statistics

Clients such as RealPlayer have a feature that can send statistics to RealServer about the amount and quality of data they received while playing a presentation. The type of data sent by the client is controlled by RealServer's Stats Mask setting.

As in unicast presentations, client statistics are sent to RealServer at the end of a presentation, and are stored in the access log. But scalable multicasts can serve to thousands of clients at the same time, and your RealServer may not be equipped to handle that quantity of simultaneous incoming client statistics.

RealServer includes features that help you manage two aspects of client statistics sent at the end of a scalable multicast:

Controlling Whether Client Statistics Are Sent

You can instruct clients not to send any data (set both Logging Style and Stats Mask to 0), but RealServer will still create a record for each connection, though it will record minimal data. (See the "Logging Style Effect on Access Log" table.) These settings will affect all material served by RealServer.

For scalable multicasts, RealServer has a feature that can instruct clients to not send any connection statistics at all. Enable this feature if your system cannot handle the volume of packets of data that would be sent simultaneously, or if you are simply not interested in these statistics.

In scalable multicasts, clients send statistics using an HTTP post.

To control whether clients send statistics to RealServer:

  1. In RealSystem Administrator, click Multicasting. Click Scalable.

  2. In the Send Client Statistics box, select Yes if you want clients to send their connection statistics at the end of a multicast presentation. Select No if you do not want clients to send any connection statistics.

    Warning
    If you set Send Client Statistics to Yes, be sure your RealServer can process the number of incoming statistics, or configure a Web server to receive the data as described in the next section.

  3. In the Web Server Address or IP Address box, type the address of the RealServer.

  4. In the Web Server Port box, type the port number of the RealServer.

  5. Click Apply.

  6. In RealSystem Administrator, click General Setup> HTTP Delivery. Make sure that /scalable/ is on the list.

Controlling Where Client Statistics Are Sent

When clients initially connect to RealServer for a scalable multicast presentation, RealServer can instruct them to send connection statistics to a Web server, rather than to RealServer. Web servers may be better equipped to handle volumes of simultaneously arriving data, since they are often configured to perform load balancing.

To use this feature, you will need to have a Web server available to you, and you will need to create a CGI script to receive the client statistics and to write them to a log file.

The statistics sent by the client to the alternate location are a subset of the statistics normally recorded in the access log. They have the following format (terms are defined in Chapter 19, "Reporting RealServer Activity"):


[Stat1][Stat2]#sent_time

The # symbol is used as a separator.

No other statistics are sent.

After the multicast event, you can look at the log file created by the cgi script and draw conclusions about the quantity of clients and quality of service.

To control where clients statistics are sent:

  1. In RealSystem Administrator, click Multicasting. Click Scalable.

  2. In the Send Client Statistics box, select Yes.

  3. In the Web Server Address or IP Address box, type the address of the Web server that will receive the client statistics at the end of the multicast presentation.

  4. In the Web Server Port box, type the port number of the Web server. If you omit this, RealServer will not multicast the event and will report an error in the error log file.

  5. In the Web Server CGI Path box, type the path of the CGI script that will consolidate the client statistics in a log file on the Web server. For example, type cgi-bin/client-stats/logstat.

  6. Click Apply.

  7. In RealSystem Administrator, click General Setup> HTTP Delivery. Make sure that /scalable/ is on the list.

Enabling RTSP-based Multicast Clients to Read SDP and SAP Files

RealServer 8 uses a slightly different file format for SDP and SAP files than earlier versions of RealServer. The new formats can be read by client software that is SDP-capable client (such as SDR). The old formats can be read by all versions of RealPlayer, but not from SDP-capable clients.

SDP Files

If you know that users will be viewing multicasts from a saved SDP file (instead of by clicking a link in a web page), and you know that they are using SDP-capable multicast clients, you will need to add a setting to your configuration file so that RealServer sends the SDP file in the new format.

In the <List Name="Scalable Multicast"> list, and within the particular channel name, add the line <Var DefaultSdpFileType="new"/>. For example,


<List Name="Scalable Multicast">  
<Var MountPoint="/scalable/"/>
<List Name="Sources">
<List Name="Channel1">
<Var DefaultSDPFileType="new"/>
...
</List>

If you change this value to old, the SDP file can only be used by RealPlayer client software. Since you can make only one choice, there is also an option to override the configuration file setting by adding a switch to the URL. The switches are:


?SDPFileType=old?SDPFileType=new

The switch is appended to the end of the URL: http://realserver.example.com:8080/scalable/concert.rm.sdp?SDPFileType=new

You might want to create two links, one for each SDP file type.

SAP

If you configured multicasts to be announced with automatically-generated SAP files, (as shown by the AnnounceSAP variable in either the scalable or backchannel multicast lists), you can also make the SAP variables include information that can be read by SAP-capable clients. Add the <Var SDPFileType="new"/> variable to the <List Name="SAP"> list. For example:


<List Name="SAP"> 
<Var SendAnnouncementEnabled="1"/>
<Var ListenAnnouncement="1"/>
<Var HostAddress="172.23.100.113"/>
<Var SDPFileType="new"/>
</List>

The possible values for this variable are new, old, or both, where the value indicates which file format to send. Choosing both means that new and old versions of the SAP file will be sent; this option results in slightly more overhead.


Copyright © 2000 RealNetworks
For information on RealNetworks' technical support, click here.
Comments on this document? Click here.
This file last updated on 11/28/00 at 17:34:59.
previous next