previous next

Chapter 8: Advanced Features

This chapter covers features that are specific to the operating system, such as allowing users to view the source code of SMIL files and media clips, as well as reserving IP addresses for RealServer's use, running RealServer on the same system as a Web server, and working with firewalls.

Displaying Source Code for SMIL Files and Media Clips

Just as users can right-click an HTML file and view the HTML code that was used to create a Web presentation, RealServer contains a feature that enables users of RealPlayer 7 and later to view the source code for SMIL presentations or information about media clips. When a user right-clicks on a presentation or selects View>Clip Source, RealServer sends a Web page that contains the text of the SMIL file, or data about the clip, to the user's browser.

Users can then "learn by example" and understand how to create their own SMIL files. Content creators will find this feature useful when they troubleshoot SMIL files.

View Source on SMIL Files

The HTML page that displays the text of the SMIL file also links to information about each clip referenced by the SMIL file. The information shown on these pages describes the contents of the entire file, including information such as file size, buffer time, and bit rate.

RealServer sends the text of the SMIL file to the browser using an automatically generated Web page. In the browser's address box, the URL shown is:


http://realserver.example.com:8080/viewsource/template.html?ABcdlkj293847

By default, the name and path of the SMIL file are not shown; random numbers and letters are displayed instead. (You can make the SMIL path and file name appear; use the instructions in "Allowing Users to See Complete Paths in SMIL Files".)

Security

Within the text of the SMIL file in the browser, all references to other files are shown as hyperlinks. Clicking these links displays another Web page, with detailed information about each referenced file.

This feature is especially helpful for content creators, as it also enables them to see detailed information about the components of the SMIL file.

To protect the location of your content, this feature is initially configured to omit the full path of the clips referenced in the SMIL file, showing an ellipses (...) instead. You can also disable this feature for some or all paths.

Note
For content on your local computer, paths are always shown. They cannot be hidden.

Listing All On-Demand Content

The content browsing feature creates a Web-based directory with links to all on-demand content available on to your RealServer. By clicking View Source>Browse Content Now in RealSystem Administrator, you generate the index. Only other administrators who know the correct URL, user name, and password for RealSystem Administrator can view on-demand content available to this RealServer.

A Note About Web Servers

Although it is not the preferred delivery method, some content creators serve SMIL and media from Web servers. When a user selects View Source for content delivered by a Web server, the paths that appear in the SMIL file are hidden. Source information is available for all other media clips delivered by the Web server. Since RealServer has no control of Web servers, settings used for the View Source feature in RealServer have no effect on how the source code is displayed for content served by Web servers.

View Source Used with Other Features

The view source feature interacts with other RealServer features.

Streaming, Unicasting, and View Source

The view source feature applies to both on-demand and live content.

The browse content feature applies only to on-demand content.

Archiving and View Source

The browse content feature is a good way to take inventory of your Archive directory.

G2SLTA and View Source

On-demand files that are converted to live files through the use of G2SLTA show the same information as any other live files.

Splitting and View Source

View source is disabled for users who are receiving a broadcast through a backup push splitting source.

Access Control, Authentication, and View Source

The view source feature is automatically disabled for all secure content.

Reporting and View Source

A record is created in the access log when a user makes a view source request. See the "Summary of GET Statements" table.

Changing View Source Settings

In RealSystem Administrator, click View Source, then click Source Access. At installation, the settings are:

Optional View Source Features

The view source feature has these options that you can customize:

Displaying Source Code Only for Certain Streams

You can choose to enable the view source feature for a limited number of paths, or, conversely, to enable it for most paths but disable it for only a few.

To enable view source for a few specific streams:

  1. In RealSystem Administrator, click General Setup. Click Source Access.

  2. In the Paths list, select the single forward slash (/).

  3. From the View Source list, select No.

  4. Click Add New.

    A generic path name appears in the Edit Path box.

  5. In the Edit Path box, replace the generic path with the name of a path for which you want to enable the view source feature.

  6. Click Edit.

  7. In the View Source area, select Yes.

  8. Repeat Step 4 through Step 7 for each path you want to enable.

  9. In the Master Settings area, from the View Source list, make sure Use Settings Above is selected.

  10. Click Apply.

To enable view source for most streams, but disable it for a few:

  1. In RealSystem Administrator, click General Setup. Click Source Access.

  2. In the Paths list, select the single forward slash (/).

  3. From the View Source list, select Yes.

  4. Click Add New.

    A generic path name appears in the Edit Path box.

  5. In the Edit Path box, replace the generic path with the name of a path for which you want to disable the view source feature.

  6. Click Edit.

  7. In the View Source area, select No.

  8. Repeat Step 4 through Step 7 for each path you want to enable.

  9. In the Master Settings area, from the View Source list, make sure Use Settings Above is selected.

  10. Click Apply.

Temporarily Overriding Individual Path Settings

In the Master Settings area, the settings for View Source and Hide Paths are normally Use Settings Above. By selecting one of the other two options, Disable View Source or Enable View Source, or Show All Paths or Hide All Paths, you can leave the settings of the individual paths intact, but supersede them with the new values. This can be useful for temporary troubleshooting, or for disabling the feature quickly and globally.

Of course, these settings do not have to be temporary. They stay in effect until you change them.

Allowing Users to See Complete Paths in SMIL Files

At installation, view source is configured to "hide" the paths of the clips referenced in SMIL files. This protects the privacy of the content creators, and enables the user to focus on the syntax used within the SMIL file.

For example, the following tag within a SMIL file:


<video src="rtsp://realserver.example.com/presentation/presentation.rm" region="VideoRegion">

appears as the following:


<video src="rtsp://.../presentation.rm" region="VideoRegion">

Identifying information is removed, and only the protocol and file name are shown.

To include full path information:

  1. In RealSystem Administrator, click View Source. Click Source Access.

  2. In the View Paths list, select the path for which you want to allow users to see the source.

  3. In the Hide Paths list, select No.

  4. Click Apply.

Browsing Your Content

The content browsing feature creates a Web-based list of all on-demand content that your RealServer can stream.

If the clips are stored on your hard drive, full paths are always shown.

To browse the on-demand content:

In RealSystem Administrator, click View Source. Click Browse Content Now.

A new browser window appears, containing two columns. Along the left column, labelled Info, the word "Directory", "MountPoint", or a file size appears. The next column shows a file name. The third column contains a link to the file.

Changing Content Browsing Settings

In RealSystem Administrator, click View Source, then click Content Access. At installation, the settings are:

Optional Content Browsing Settings

To browse more mount points:

  1. In RealSystem Administrator, click View Source. Click Content Access.

  2. Click Add New.

    A generic mount point name appears in the Edit Path box.

  3. In the Edit Path box, type the name of a mount point that you want to be able to browse.

  4. Click Edit.

  5. If you want to limit the file types that are included in the generated list, type them in the Extensions to Browse box. For example, you might want to include just the extensions smi and smil.

  6. Click Apply.

RealServer Caching Features

RealProxy is software that stores streamed media. While it is not part of RealServer 8, it can work with RealServer to share the distribution load, thereby conserving bandwidth over an intranet and allowing RealServers to send streams to a wider audience. It is generally installed on an intranet or on a large Internet Service Provider (ISP). When a client on the intranet or hosted by the ISP requests a streamed media file, RealProxy intercepts the request and sends it on behalf of the client. RealProxy then stores the requested media and streams it to any other clients who subsequently request the same material.

RealServer is designed to work with RealProxy. RealServer is configured at installation to allow all content to be cached by RealProxy. This ensures that clients whose requests are sent via RealProxy will be able to view your content. Also, because more than one RealProxy is now rebroadcasting some of your content, your RealServer now has more connections available.

Only on-demand content can be cached by RealProxy.

Caching used with Other Features and with RealProxy

This section describes how RealServer interacts with RealProxy software.

Streaming On-Demand Clips and RealProxy

All on-demand clips are automatically available to media caching software. If there is content served by your RealServer that you do not want to be cached by a media cache, you can mark it as non-cacheable, on a per-file or per-folder basis.

Unicasting, Splitting, Multicasting and RealProxy

Live clips are not available to media caching software; RealProxy will still proxy the live broadcasts for clients. RealServer acts as a source for pull splitting, and RealProxy acts as a receiver.

Access Control and RealProxy

RealServer does not see the IP addresses of the individual clients that request content; instead, it sees the IP address of the RealProxy. You can prevent specific RealProxys from requesting material on behalf of clients (see "Preventing Certain RealProxys from Accessing Your RealServer"). But if you do, you will also prevent all those clients from accessing your clips.

Authentication and RealProxy

Before allowing clips to be cached, RealServer verifies whether the client's IP address is valid. If the requested material is marked as secured, it then performs any necessary authentication checks.

Authenticated material can be stored in a RealProxy cache, but the client will be authenticated with the source RealServer every time it tries to access the stored clip.

ISP Hosting and RealProxy

All on-demand material served on behalf of ISP-hosted customers can be cached, unless you mark those directories as non-cacheable (see "Preventing Some Paths and Files from Being Cached").

Monitoring and RealProxy

The Java Monitor will show the IP address of the caching software as it plays a clip. The caching software is not identified as such; rather, it appears to be a client.

Reporting and RealProxy

All client requests for streaming media are recorded in RealServer's access log, as if they were made directly by clients and not sent through RealProxy. In addition, a separate log file, cache.log, records all clips that were accessed by RealProxy. The cache.log file can give you an idea of which content is most requested by media caches.

The access log will show a record for the request made by the cache software, and for every client request.

The access log and the cache log are independent of each other.

Additional Information
The cache log is explained in Chapter 19, "Reporting RealServer Activity".

Ad Streaming and RealProxy

All material served through the ad streaming feature is cacheable, unless you mark those directories as non-cacheable (see "Preventing Some Paths and Files from Being Cached").

Changing Cache Settings

On the Cache page (located by clicking General Setup), the Cache Port number 7802 is shown. RealProxys will send their requests to this RealServer port.

If you change this value, requests by RealProxy will not be accepted by RealServer, and therefore will not be cached unless you share the new port number with the administrators of all RealProxys that are accessing your streams.

Optional Caching Features

Unless you specify otherwise, all material on your RealServer is available to RealProxy. RealServer has these options for restricting which RealProxys can cache streams:

Preventing Some Paths and Files from Being Cached

You can restrict the paths and files RealProxys can store. If RealServer receives a request for material included in the No-Cache Paths list, it streams the file directly to the client rather than allowing it to be cached and re-transmitted. As always, RealServer records the transaction in the access log, and reports a download size of 0 bytes in the cached requests log file.

For example, you might choose to prevent material in authenticated content locations from being cached. Or, you might put the path to time-sensitive clips on this list so that it cannot be stored by RealProxy.

Note
Media caching software makes more streams available on your RealServer. If you limit which clips can be cached, you also limit how many clients you can serve.

To prevent RealProxy from caching material on your RealServer:

  1. In RealSystem Administrator, click Cache. Click again on the word Cache that appears below it.

  2. In the No-Cache Paths section, click the Add New button.

    A generic path name appears in the Edit No-Cache Paths box.

  3. In the Edit No-Cache Paths box, type the name of the path or file whose content you want to restrict.

    For example, if a subdirectory of the Content directory contained a directory named News, you would add /News to the No-Cache Directory box. If you only wanted to prevent the late-breaking news clip from being cached, you would add that to this list instead: /News/breaking.rm.

  4. Click Edit.

  5. Repeat Step 2 through Step 4 for each path or file name that you do not want cached.

  6. Click Apply.

Preventing Certain RealProxys from Accessing Your RealServer

You can indicate that certain RealProxys are not allowed to cache any of your material. To do this, you must know the IP address of the machine on which RealProxy is installed.

Tip
Look in the cache.log file to find the IP addresses of cache software that is accessing your content.

To prevent certain RealProxys from making requests:

Create an access rule for the RealProxy you want to restrict. In addition to specifying the IP address, indicate the port number to which access should be denied (usually 7802).

Additional Information
To learn about limiting access to your RealServer according to the IP address of any other computer, see "Limiting Access with the IP Address".

Preventing All Caching

To prevent all caching of all material from all clients and RealProxys:

  1. In RealSystem Administrator, click on Cache. Click again on the word Cache that appears below it.

  2. In the Cache Requests list, select Disabled.

  3. Click Apply.

Distributed Licensing

The distributed licensing feature enables you to purchase a single license to be used by multiple RealServers on your network, that share a pool of streams to be used for specific features. The authentication and ad streaming features can both use this feature.

The RealServers that share a license are called a license group. Clients are not denied service unless the entire pool of connections in the group is in use.

When you use this feature, you place the main license file on the main RealServer (called the publisher). You configure the publisher RealServer, then configure corresponding RealServers (called subscribers). The subscribers can be set up to look for a primary publisher RealServer, and if that RealServer is not available or has too few connections available for use, a secondary RealServer publisher can be called upon.

Note
Within a given network or organization, you can have multiple groups, but you should not use this feature outside of a network or across a firewall.

Each RealServer maintains its own configuration file, and can be configured independently using RealSystem Administrator. The features available to each subscriber depend on the features permitted by the shared license, but can be configured independently to use different values.

Setting Up Distributed Licensing

To use this feature for the first time requires three steps:

  1. Setting up the publisher RealServer.

  2. Setting up the subscriber RealServers.

  3. Starting the license group.

Once you have configured both publisher and subscribers, you must remember to start the publisher before starting the subscribers. If you start the subscribers first, they will operate with minimum settings until the publisher comes online. For a list of these settings, see "Minimum Licensed Features".

Setting Up the Publisher

In addition to the steps shown below, you must tell the person who is setting up the subscriber what value you are using for Admin Port.

To set up the publisher:

  1. On the publisher, start RealSystem Administrator.

  2. Look up the value of Admin Port:

    1. In RealSystem Administrator, click General Setup. Click Ports.

    2. Look at the value for Admin Port and make a note of it. You'll use it in configuring the publisher.

  3. In RealSystem Administrator, click License Group. Click Configure.

  4. List all license publishers for this group, including this publisher:

    1. In the License Publishers area, click Add New.

      A generic IP address appears in the Edit Publisher IP Address box.

    2. In the Edit Publisher IP Address box, type the IP address of the other license publisher.

    3. Click Edit.

    4. In the Admin Port box, type the value of the other publisher's Admin Port.

  5. Repeat Step 4 to add each additional publisher in the group.

  6. List the subscribers that will be sharing this RealServer's license (repeat this step for each subscriber):

    1. In the License Subscriber area, click Add New.

      A generic description appears in the Edit Subscriber box.

    2. Type a descriptive name in the Edit Subscriber box, to distinguish this subscriber from others.

    3. Click Edit.

    4. In the Subscriber Address box, type the subscriber's IP address. To indicate a range of addresses, type the subscriber's subnet mask (usually 255.255.255.255) in the Subscriber Netmask box.

  7. Click Apply.

  8. Repeat these instructions for each publisher in the license group.

Setting Up Subscribers

You'll need to know the value for each publisher's Admin Port, as well as each publisher's IP address.

To set up the subscribers:

  1. In RealSystem Administrator of the subscriber, click License Group. Click Configure.

  2. List the license publishers for this subscriber:

    1. In the License Publishers area, click Add New.

      A generic IP address appears in the Edit Publisher IP Address box.

    2. In the Edit Publisher IP Address box, type the IP address of the license publisher host.

    3. Click Edit.

    4. In the Admin Port box, type the value of publisher's Admin Port.

  3. Click Apply.

  4. Repeat these steps for each subscriber in the license group.

  5. Restart the publisher.

  6. Restart the subscribers.

Distributed licensing is now active; RealServers can pool their stream count and feature availability.

Monitoring Distributed Licensing

On the publisher, you can use a license group monitor to view the number of connections currently in use by the subscribers.

To monitor license activity:

On the publisher, in RealSystem Administrator, click License Group. Click Monitor.

The Monitor page appears, and shows the number of publishers, subscribers, and connections currently in use.

Reserving IP Addresses for RealServer's Use

When RealServer starts, it uses the IP address assigned to the machine's host name.

You can configure RealServer to always use a specific IP addresses by setting up the IP Binding list. Within this list, you cite individual addresses to use, or you can bind to all the IP addresses available on the RealServer machine.

To reserve IP addresses for RealServer:

  1. In RealSystem Administrator, click General Setup. Click IP Binding.

  2. Click the Add New button.

    A generic address appears in the Edit Address box.

  3. In the Edit Address box, type the IP address that you want RealServer to use.

    To capture all addresses for RealServer's use, add the IP address of 0.0.0.0, and delete any other addresses. RealServer will automatically bind to all addresses and to localhost (127.0.0.1).

    Tip
    Binding to all addresses, by using 0.0.0.0, is recommended for most administrators.

    If you type a specific address, RealServer will bind to the specified address only; it will not bind to localhost.

    Warning
    Use either 0.0.0.0 or a specific address, but not both. If you use both, RealServer will not start.

  4. Click Edit.

  5. Repeat Step 2 through Step 4 for each address on this machine that you want RealServer to use.

  6. Click Apply.

If you leave the IP Address box blank, RealServer binds to the host IP address and localhost. It does not bind to any other addresses.

Running Web Servers and RealServer on the Same System

If you install RealServer on the same system as your Web server, you may need to complete additional steps. Most Web servers use port 80 for HTTP requests. At installation, RealServer's default HTTP Port is 8080, but if you configure RealServer to use port 80 (the same port as the Web server), problems may ensue. You may have to perform the following steps:

Change the HTTP Port Value

Because RealServer can serve requests for HTML pages sent via HTTP (such as RealSystem Administrator), if RealServer is on the same system as a Web server, requests that begin with http:// may be misdirected. When a user clicks a link that begins with http:// and it does not contain a port number, the client supplies a port number of 80. When the Web server and RealServer are on the same machine, the Web server will attempt to serve the file. If the link points to what's meant to be a RealSystem presentation, the Web server will not find the file and will display the error message "File not found".

To prevent this problem from occurring, make sure the HTTP Port value is not the same as the port number your Web server is using. The default value is 8080. Most Web servers use port 80. Be sure that you include RealServer's HTTP Port number in the URL.

Set IP Binding List

You may need to reserve at least one IP address for RealServer's use. Assign RealServer and the Web server to individual addresses, so that they can both use port 80. See the "Distributed Licensing" section earlier in this chapter.

Port Hinting

Client software (such as RealPlayer) always tries to receive RealServer content via the RTSP or PNM protocols. But if it cannot use either of these (for example, if a firewall does not permit those types of traffic), it will signal RealServer to send the data by wrapping it in the HTTP protocol. This method is known as "HTTP cloaking". While this method does not provide the best possible user experience, it does allow users to receive streamed media who would otherwise be blocked.

The new port hinting feature enables the content creator to specify ports to use when the client requests a cloaked stream, or to automatically send the port information when ramgen is included in the link. Thus a content creator can add any of the following lines to an URL:


?cloakport="port1"
?cloakport="port1 port2 port3"
?cloakport="port1, port2, port3"

where port1, port2, and port3 are ports that your RealServer uses (generally 554, 7070, and 8080). The ports will be tried in the order they're listed.

Add the cloakport switch to the full URL:


http://www.example.com:8080/ramgen/clip.rm?cloakport="554, 7070, 8080"

A user who clicks this link will now be able to receive a cloaked stream (should one be needed) more quickly than in previous versions of RealServer.

Or, the content creator can omit this information, and RealServer will include it automatically if ramgen is used in the link.

This feature is used only by RealPlayer 8.

Setting Up Port Hinting

RealServer is configured for port hinting by default. To inspect the settings it uses, click General Setup>Ports. The following setting is used:

A single variable controls this feature in the configuration file:


<Var CloakingHint="1"/>

where 1 means enabled, and 0 means disabled.

Features Specific to the Operating System

While RealServer functions nearly identically on both Windows NT and UNIX platforms, there are a few differences that allow you to take advantage of unique characteristics of each operating system. These features and settings are optional.

Windows NT-Only Features

This section describes features unique to RealServer running on a Windows NT system.

Windows NT Service

When you install RealServer, you have the option to install it as a service. You can also configure this later. Several RealServers can be run from the same machine, with different configuration files.

Additional Information
See "Setting Up RealServer as a Service Under Windows NT".

Windows NT Performance Monitor

RealServer comes with a file to use with the Windows NT Performance Monitor, so that you can use the Windows NT method of monitoring RealServer performance.

Additional Information
See "Optional Java Monitor Features".

Windows NT Event Viewer

RealServer information and errors are displayed in the Windows NT Event Viewer.

UNIX-Only Features

This section describes features unique to RealServer running on a UNIX system.

User and Group Variables

The User setting indicates the user name under which RealServer runs. The user name must exist on the computer on which RealServer is running; otherwise, RealServer will not start.

If you do not specify a user name when installing RealServer, the user name defaults to the user name of the user who first logs in and starts RealServer; this is accomplished with the default value of %-1.

The Group variable gives the group name under which RealServer runs. The group name must already exist on the computer on which RealServer is running; otherwise, RealServer will not start.

If you do not specify a group name, this variable defaults to the group name of the user who first starts RealServer.

Note
Be sure that the user or group name you assign has write permissions for the Logs and Secure directories.

To change the group or user names:

  1. In RealSystem Administrator, click General Setup. Click User/Group Name.

  2. Type the correct user name or ID number in the User Name or ID box. The default is %-1, which means RealServer uses the user name of the user who logged in and started RealServer.

  3. Type the correct user name or i.d. number in the Group Name or ID box. The default is %-1, which means RealServer uses the group name of the user who logged in and started RealServer.

  4. Click Apply.

Process ID (PID)

RealServer creates a text file that stores the current value of the process ID of the parent RealServer process, rmserver. The file is stored in the directory indicated by the PidPath variable, and is named rmserver.pid at installation. If PidPath is omitted from the configuration file, RealServer stores the information in the directory specified by the LogPath variable.

SIGHUP

Some changes that you make to RealServer require that RealServer re-read the changes while still running. Other changes require that RealServer be restarted. If you use RealSystem Administrator to change settings, it will either force RealServer to re-read the configuration file while RealServer is still running (thus preserving all connections), or it will display a message instructing you to restart the Server at your convenience.

If you make changes to the configuration file manually, you will need to instruct RealServer to re-read the configuration file. This is possible for RealServer running on a UNIX platform with the SIGHUP command. Use the following command at a command prompt:


kill -HUP processID

where processID is the RealServer process number, as shown in the Logs/rmserver.pid file.


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:51.
previous next