RealSystem Server 8.02 Update Release

This document applies to this server version:

RealSystem Server 8.02 Update Release
Publicly available from RealNetworks as of March 6th, 2002

RealSystem Server 8.0 Gold customers who want to migrate to RealSystem Server 8.2 should go to their RealNetworks Customer Product and Account Maintenance site and download the updated installer.

This document was last updated on March 6, 2002.

This document is meant to be used alongside the RealServer Administration Guide, which is online at, or readily accessible from within your RealSystem Server Administrator. The following topics are covered:

RealSystem Server 8.02 Enhancements

The following features were added to the 8.02 update.

New Features in RealSystem Server 8.02

  • Live Archiving Enhancements: RealSystem Server now supports live archiving of RealAudio and RealVideo broadcasts at a receiver. Now all push split sources may be archived using the live archiving feature at a RealSystem Server configured as receiver.
  • G2SLTA Enhancements: G2SLTA now supports two new command line options. You can force G2SLTA to use TCP as a transport protocol. You can also disable I/O memory mapping. Use this option when simulating live broadcasts from files via a network attached file system.
command line option description
-m disable I/O memory mapping
-t force TCP transport
  • Player Access Enhancements:A new configuration varaible has been added to the RealSystem Server registry and configuration file.

    <VAR RealPlayersOnly="true|false"/>
    If you enabled this variable, only RealNetworks RealPlayer versions 5.0 and higher can connect to RealSystem Server. RealSystem Server denies connections to player versions 4.0 and earlier and display the message:

    Download the latest RealPlayer from RealNetworks to connect to this server, please go to http//
  • Splitting Enhancements: A specific local address may be defined via the configuration file for transmitting over a specific network interface. For example, in a multi homed machine you could specify which network interface should be used for transmitting. The network interface can be virtual or physical. Use this variable:

     <List Name="BroadcastDistribution">
      <List Name="Destinations">
       <List Name="Receiver1">
        <VAR LocalAddress="o.o.o.o"/>
    where o.o.o.o is the address of your local network interface

    Resolved Issues in RealSystem Server 8.02

    The following known issues are resolved with RealSystem Server 8.02.
    General Issues
    • Resolved issues seen where embedded events became out of sync with the duration time line of audio and video presentations (PR68071).
    • Improved handling for on-demand .rms file delivery.
    Live Broadcasting Fixes:
    • Addressed faults seen when G2STLA was used to access media files via a network attached file system. See above comments on new execution option.
    • Addressed socket descriptor leaks seen using back channel multicast
    • Enabled trace mask variable Debuglevel messages for broadcast redundancy.
    • Addressed pull splitting request path alias problem that caused certain path/file name combinations not to be pull split from the same transmitter by a given receiver.
    • Resolved incompatibilities between broadcast redundant sources and streams names defined via the variable BaseRedirectURL have been addressed.
    • Addressed problems seen when dynamically created .ram metafiles via RAMGEN where used in conjunction with a virtually addressed switch have been resolved.
    Distributed Licensing Fixes:
    • Resolved stream license accounting problems seen at a distributed licensing subscriber when delivering SMIL presentations (PR 68946).
    • Addressed connection time out problems seen when ad serving was used in conjunction with distributed licensing (PR63944).
    • RealNetworks license keys no longer require discrete ClientConnections entries for Ad Serving or Commerce (pay-per-view authentication) application extensions when these features are used in conjunction with distributed licensing. If such values exist, they will be ignored and instead advertising and commerce streams will be deducted directly from the General.ClientConnections capacity that is defined in the license publisher's key.
    Logging Fixes:
    • Resolved a memory leak seen in running RealSystem Server's logging plugin (logplin).
    • Prior RealSystem Server rmacess log records recorded an status code of '200' for all URL attempts, even those that resulted in a "file not found" error. This release properly identifies error '404' conditions for Server received RTSP player requests (PR60339).
    • The RealSystem Server rmaccess log sent_time field was displaying "0" in all records written after 50 or more days of continuous operation on certain Unicode operating systems. This logging discrepancy has been resolved.

    Known issues in RealSystem Server 8.02 (in addition to these already mentioned in the 8.01 release notes):

    RealSystem Administrator 'About' page may incorrectly display push splitting not licensed for use. To verify that that push splitting is indeed licensed enabled, search the license key used to operation RealSystem Server for the variables:

    <Var Name="PushTransmissionEnabled" Value="True"/>  
    <Var Name="PushReceiveEnabled" Value="True"/>

    RealSystem Server 8.01 Enhancements

    The following features were added to the 8.01 update.

    BaseRedirectURL Variable

    There is a new variable for the configuration file that provides administrators with more control over how redirection URLs are built by RealSystem Server. The new variable name is: BaseRedirectURL. The BaseRedirectURL variable has three values:Auto-FQDN, Auto-IP, or <any user defined string>.

    An example as well as an explanation of why you would use each value appears below:

    • <Var BaseRedirectURL="Auto-IP"/>. Auto-IP is the default value and the most reliable method of creating the redirection URL. If Auto-IP is used, the IP of the interface used by the client to be redirected will be resolved and used for redirection.
    • <Var BaseRedirectURL="Auto-FQDN"/>. If Auto-FQDN is used, the fully qualified domain name of localhost will be determined to properly redirect clients. Use this value with Solaris or Linux as the host operating system; ensure that host name and domain name are properly setup. Do not use this value with Windows NT as the host operating system.
    • <Var BaseRedirectURL="{any string}"/>. The user defined string can be used to enter the fully qualified domain name of localhost to properly redirect clients. This is a good choice with Windows NT as the host operating system.
    By default the BaseRedirectURL variable does not appear in the configuration file. To change the default value of Auto-IP, you must manually add the BaseRedirectURL variable to the configuration file.

    Shared UDP Port Ranges

    Some installations have firewalls that prevent incoming UDP datagrams on the data connection. These incoming UDP datagrams are replies from the client that are used to acknowledge packet reception and request packet resends, among other things. Inability to service these replies degrades service quality. To address this problem, RealServer 8.01 can now redirect replies from all clients to one shared UDP port. Shared UDP is enabled by a new configuration variable. So if you specify

    <Var UDPResendPortRange="28500-28510"/>

    the first CPU to launch will listen for UDP traffic on ports 28500 and 28501, the second CPU to launch will listen on 28502 and 28503, etc. Excess ports in the port range are ignored. If there are not enough ports in the range for all CPUs on the server, CPUs with no available ports will failover to the old system of getting backchannel replies on the same port as the datastream. Errors in opening the shared ports will result in loss of the shared-port feature, and the system will failover to the current implementation -- UDP replies on the same port as the outgoing data. By default the UDPResendPortRange variable does not appear in the configuration file. To redirect replies from all clients to one shared UDP port, you must manually add the UDPResendPortRange variable and a range of UDP ports to your configuration file.

    RSS Registry Additions

    The following running state additions are now available in the server registry (RSS output now in registry). RealServer maintains a Property Registry that contains a variety of information about the server’s configuration and current load, connected clients, and each client session. The RealServer Property Registry can also be used to store new, user-defined properties, which can be changed or deleted by the process that created them. All these properties, whether predefined or user-defined, can be retrieved by server plug-ins through the use of interfaces designed for this purpose. Server plug-ins can also arrange to be notified when specific properties change. Additionally, adminstrators can access registry properties using the the server's built-in viewing capabilities. For more details, see:

    The following running state additions are now available in the server registry:

    • Uptime: number of days, hh:mm:ss
    • Number of connected clients
      • 0% PNA
      • 0% RTSP
      • 0% HTTP
      • 0% TCP
      • 0% UDP
      • 0% MCast
    • Memory per Player #k
    • bytes sent for every connection over the last 1....5 seconds.
    • Misc: File Objs
    • Bandwidth
      • Bandwidth Stats: Output 0.00 Mbps
      • Bandwidth Stats: 0.0 Kbps Per Player, 100% Subscribed (0.00 Mbps), 0%
    • Server Core
      • Main Loop Iterations: 2/sec (LoadState: Normal)
      • Memory Stats: 7716448 Bytes In Use (Allocation Cache Hit Ratio 0%)
      • Memory Alloc: 12791880 Bytes (3123 Pages)
      • MainLoopIts:
      • Mutex Collisions: 0 / sec, ~0.000% CPU Spinning, ~0.000% Memory Ops
      • Scheduler Items: 7 (With Mutex), 0 (Without Mutex)

    Updated Licensing Enforcement

    All server and proxy SKUs need a RealNetworks license key to operate.

    This modification only applies to the RealNetworks branded SKUs of these products. In other words, this modification does not apply to third party OEMs producing our server or proxy.

    On startup the server detects the presence of a license key in the license directory. If a license key is present the server enables its features according to that key. When a license key is absent from the license directory, the server will stop the startup process and present the following message:

    The server did not detect a license key in the specified license key directory. Please locate your license key provided by RealNetworks and copy to the license key directory.

    On UNIX, this message will be displayed in standard output. In the error log file the following entry will be made:

    The server has halted because a license key was not detected in the license key directory "n".

    This message will be date and time stamped according to the standard formatting of error log messages. Where "n" is the value specified by the License Directory configuration variable.

    Scalable Multicast

    Improvements to multicast stability reduce the number of events being dropped in scalable multicast feeds.


    Improvements to splitting allow a greater number of supported incoming feeds. You do not need to update URLs or server configurations to take advantage of these improvements.

    Ramgen Enhancements

    RealServer 8.01 adds improved support for playback through firewall when using ramgen and a VIP for load balancing. To enable this functionality, add the following to the ramgen section of your FS Mount list (be sure to substitute the correct port values):

     <!-- RAM File Generator -->
    <List Name="RAM File Generator">
        <Var ShortName="pn-ramgen"/>
        <Var MountPoint="/ramgen/"/>
        <Var RTSPPort="1234"/>
        <Var PNAPort="6789"/>
        <Var Hostname=""/>

    Denial of Service Attack Fix

    A Denial of Service (DoS) exploit was recently brought to the attention of RealNetworks. This exploit involves sending a long, unbroken string of RTSP control messages to either RealSystem Server or RealSystem Proxy. When the system detects this type of DoS attack, it blocks the attack and creates a warning message in the error log.

    System Clock Changes During Runtime

    We advise against increasing or decreasing the system clock time by large intervals while RealServer is running, since there exists the potential in certain situations for this to result in RealServer failures. For example, if you use NTP to synchronize your clock with an external source, running ntpdate or using the -g switch for ntpd/xntpd while RealServer is active might cause problems. Using ntpd/xntpd to synchronize the clock in small increments/decrements should not cause problems, however. Other clock synchronization software providing NTP and NTP-like services should be used with the same cautions in mind.

    Accurate Tracking for Total View Time with Authenticated Clients

    RealServer 8.01 now accurately reports the total time a user viewed a secure file. The RealServer now takes into account buffering time, pause time, and seek time, separately from total viewed time. In the event that end_time minus start_time does not equal total viewed time, for example, the discrepancy can be attributed to the user either buffering, pausing, and/or seeking within the file. The total viewed time is the final value that is either debited or credited to the user's account (depending on the configuration).

    Subdirectory Authentication

    With the latest database plug-ins for RealServer 8.01, authenticated users are now validated first by file name, then by subdirectory, and finally if necessary, by parent directory. RealServer tries first to match the file name with the user's permissions rule, and then by subdirectory, with the last check being the parent directory. If no match is found, the user is denied access to the requested file. This functionality is available with the flat file, mSql, and ODBC database plug-ins.

       Aaron has been given permission to '/secure/'
       Aaron requests '/secure/movies/greatmovie.rm'

    In previous versions of RealServer, Aaron would be denied access to the requested file, 'greatmovie.rm', because the file was not located directly within the '/secure/' directory. Now, RealServer will first check to see if Aaron has file permissions for '/secure/movies/greatmovie.rm'; in this example, as would be the case with previous versions of RealServer, the match will fail. RealServer 8.01, however, will then proceed to check if Aaron has directory permissions for '/secure/movies/'. Finally, as a last resort, RealServer 8.01 will verify that Aaron has directory permissions for '/secure/'; in this example, the match will succeed. In the event that no match was found (i.e. Aaron's permission was granted for '/secure/music/'), RealServer 8.01 would deny access to the user.

    Before You Install RealSystem Server 8.0

    The following section contains information you should know before you install RealSystem Server 8.0.

    System Requirements

    We recommend you run RealSystem Server Basic and RealSystem Server Plus with a minimum of 512 MB of RAM to run optimally. For RealSystem Server Professional, 768 MB of memory is recommended. Adding more RAM to a RealSystem Server may increase the number of clients the machine can serve simultaneously. Sites that plan to serve 1000 or more simultaneous clients, should consider using 768 MB of RAM, or more.

    Memory Allocation

    The rmserver process (the core process used to power RealServer) consumes memory on a per client connection basis. The amount of memory consumed will vary, according to the nature of the presentation streamed to each client and the bitrate generated to sustain the client session.

    In UNIX, how memory is allocated to the main rmserver process depends upon the underlying operating system. The following command line option can set the memory reserved by rmserver process upon startup:

    -m nnn

    The -m flag allocates 'nnn' megabytes of server memory space.

    Note: Microsoft Windows NT or Windows 2000 memory utilization works differently than Solaris and Linux; the -m option is not applicable for a RealServer running on a Windows system.

    RealNetworks Recomendations for Memory Allocation by Platform

    • Solaris and RealServer Memory Allocation. Under the Solaris operating system, we recommend that system administrators specify a memory reserve when the rmserver process is started. A Solaris system will draw from this reserve of memory during rmserver process execution, while still allowing other resources on that host to use the memory until it is actually needed by the server application. By default (when no -m option is specified) the rmserver process will reserve 256 MB upon startup.
    • Linux and RealServer Memory Allocation. When running RealServer on Linux, we do not recommend reserving memory, because the Linux operating system prevents any other resource from using the reserved memory, even when the rmserver process may not need all of it.

    Beta Expiration

    The following beta versions have hard coded time-outs; you will need to upgrade to the gold versions of RealSystem Server.

    Release: 8.0 Preview with QuickTime
    Original Release Date: June 15, 2000
    Hard-Coded Expiration Date: February 1, 2001

    Release: 8.0 Private Beta 1
    Original Release Date: November 6, 2000
    Hard-Coded Expiration Date: October 1, 2001

    Platform Support

    RealSystem Server supports the following platforms:
    • Linux-2.0-libc6
    • Solaris 2.6, 2.7, and 2.8
    • Windows NT 4.0 with Service Pack 3, and later
    • Windows 2000 Workstation or Server
    • Free BSD 3.0
    • AIX 4.3
    • HP-UX 11.x
    • IRIX 6.5
    • Compaq Tru64 v5.1

    Installation Tips For RealSystem Server 8.0

    The following section contains installation tips for installing RealServer on various platforms.

    NT Installation

    Use the following topic as a guide to installation issues with NT systems.

    Remove Existing Service

    If you have an existing RealServer running as a service on your NT system, you must stop and then remove it before installing RealServer. To remove it from the services list, change to the RealServer directory and type the following:

    \Bin\rmserver.exe -remove

    UNIX Installation

    Use the following topics as a guide to installation issues with UNIX systems.

    Permission Denied Error Message

    If you receive the message 'Permission Denied' when you run the UNIX install utility, you may need to set executable permissions. To do so, execute the following command:

    chmod +x 8--.bin

    After installing RealServer for UNIX, in the base installation directory, (the directory containing the rmserver.cfg file), execute the following:

    Bin/rmserver rmserver.cfg &

    Avoiding Hangs from CPU Detection

    If you are running the server with a different user and group ID than root, it will hang on CPU detection. The workaround for this is disabling the CPU detection process on startup, by editing the configuration file.
    1. Open the rmserver.cfg file and edit the following variable to match the number of processors for your machine.

      <Var ProcessorCount="0"/>

    2. Save the configuration file.
    3. Start RealServer with the --sct command.

    For example, to start the server with 512 MB of memory and no attempt at CPU detection, use the following command line:

    "./rmserver ../rmserver -m 512 --sct &"

    RedHat Hostname Error Message

    On some distributions of Linux, the hostname of the machine is not set by default in a fashion that RealServer can understand. As a result, the server will display the following error message when starting:

    "You appear to be running on a system with an invalid /etc/hosts file. Many Linux installations ship with an incorrect /etc/hosts. Please fix the /etc/hosts file as described in the server's README file or add a valid IPBindings list to the server's configuration file and start the server with --ignore-etc-hosts-problems (or --iehp)."

    Use this workaround:

    1. If the linuxconf utility exists on your system, run 'linuxconf'. Under Config->Networking->Client tasks->Basic host information, click the Host name tab.
    2. In the Host name box, enter the hostname for this machine, following the directions outlined in your documentation.
    3. Click Accept.
    4. Click Quit and choose to activate the changes.
    5. Attempt to start RealServer again. If there is an error message, continue to step 6. Otherwise, start using your server.
    6. Open the file /etc/hosts with a text editor.
    7. Change the first line to: localhost localhost.localdomain
    8. Add a second line with the chosen hostname and your machine's IP address: <local IP address> <hostname>
    9. Save the file.
    10. Restart your networking services. Under RedHat, you can do this by changing to the /etc/rc.d/init.d directory and typing ./network restart.
    11. Attempt to restart RealServer. If there is an error message, continue to step 12. Otherwise, start using your server.
    12. Edit the rmserver.cfg file in your RealServer directory using a text editor.
    13. Add the following to the bottom of the file:
      <List Name="IPBindings">
      <Var Address_0=""/> 
    14. Start your server using the following command: 'Bin/rmserver rmserver.cfg --iehp'.

    Advanced Users: Linux Kernel Considerations

    We recommend you upgrade to the latest stable 2.2.x kernel, available at Specific RealServer and Linux kernel guidelines are outlined below.

    RealServer and Linux 2.4.x Kernel

    RealNetworks does not support the current version of RealSystem Server on version 2.4 (or greater) of the kernel.

    RealServer and Linux 2.2.x Kernel

    Append the following into /etc/rc.d/rc.local:

    echo "32768" > /proc/sys/fs/inode-max
    echo "19000" > /proc/sys/fs/file-max
    echo "1" > /proc/sys/net/ipv4/tcp_syncookies
    echo "2" > /proc/sys/net/ipv4/tcp_retries1
    echo "8192" > /proc/sys/net/ipv4/tcp_max_syn_backlog

    There is no need to set the streamersessioncapacity variable.

    Log on as root and set ulimit -n 32768 in the shell that launches the server.

    RealServer and Linux 2.0.x Kernel

    We recommend you upgrade to the latest stable 2.2.x kernel. You must install the file descriptor patch below if you are unable to upgrade. Refer to the site for more information. Warning: if your machine is running other applications besides RealServer, this patch will break RPC services that these applications may be using.

    Echo the following into the /etc/rc.d/rc.local:

    echo "32768" > /proc/sys/kernel/inode-max
    echo "8192" > /proc/sys/kernel/file-max

    After you recompile the kernel and reboot the system, log on as root and set ulimit -n 32768 in the shell that launches the server.

    Solaris Installation

    Use the following notes as a guide to installation issues on Solaris systems.

    Solaris 2.7

    Log on as root, and set 'ulimit -n 32768' in the shell that launches RealServer.

    Solaris 2.8 and NFS

    If you have content located on NFS drives that is dynamically updated and accessed frequently, the inability to determine proper file versioning could cause this content to refresh improperly. In some cases, this could cause a RealServer failure. As a result, on Solaris 2.8, RealServer supports locking on any media file that is opened by an rmserver process. To enable NFS support, add each of the following parameters to the FSMount section of the server configuration file for the RealNetworks local file system (pn-local):

    <Var DisableMemoryMappedIO="1"/>
    This setting tells RealServer 8 not to memory map its content files.

    <Var EnableFileLocking="1"/>
    This setting tells RealServer to set read locks on all of its open content files 

    Command Line Options

    RealServer supports command line options (flags) for viewing more information. These command line flags are executed by typing "rmserver [flag]" in the directory where the server binary is installed.

    Standard command line flags

    • -v. Displays version. This flag displays the copyright information, public build number, and operating platform.
    UNIX and Solaris Only Flags
    • -p x. Sets PNA listening port. This can be verified on UNIX platforms using netstat -a
    Solaris Only Flags
    • -m x. Allocates operating memory for RealServer. This flag allocates 'x' megs of server memory space. The server returns "RealServer has allocated 'x' megabytes of memory."
    NT Only Flags
    • -N. Disables Windows NT Service checking. This uses the last registered config, rather than writing the current one in.
    • -remove[:Name]. Remove the Windows NT Service called "Name".
    • -import[:Key]. Import the following configuration file to the Windows Registry.
    Known NT limitation

    This command line option does not currently work with RealServer in NT:

    • -install[:name] [parameters]. Installs the server as a Windows NT Service called name, passing it a parameter list upon startup.

    New Features for RealSystem Server 8

    The following section contains a description of the new features in RealServer 8.0.

    Enhanced Splitting

    RealSystem Server ships with new technologies for live splitting. Enhanced splitting introduces a robust, fault-tolerant and connection-less method of distributing live broadcasts across terrestrial and satellite networks. This RealServer enhanced splitting replaces previous versions of live stream splitting between source servers and splitters.

    For detailed information about these features and benefits, please review the white paper entitled Live Broadcast Distribution. You will need Adobe's Acrobat reader to view this PDF file format. To learn how to convert an existing RealServer 7 splitting configuration to RealSystem Server enhanced splitting, please review the RealServer Splitting Conversion section later in this ReadMe. The Administration Guide also contains step-by-step information on how to configure a new installation of RealServer for enhanced splitting.

    RealAudio 8

    RealAudio 8 provides better audio quality with reduced bandwidth from narrowband through broadband. This new release provides improved stereo audio at bit rates ranging from 16 kbps for low bit rate streaming, all the way up to 352 kbps for archival quality audio. These new audio codecs are available through RealProducer 8.5.


    RealSystem Server now streams QuickTime. QuickTime 4.0 clips encoded with any codec and hinted for streaming will stream from Server 8 to Apple's QuickTime 4.0 player. Hinted QuickTime files encoded with a standards-based codec can be streamed to RealPlayer 8.0.

    To learn more about RealServer's support of streaming QuickTime, please refer to RealNetworks Technical Blueprint Series, Streaming QuickTime from RealServer 8, located at You will need Adobe's Acrobat reader to view this file.


    The version of Flash you choose to publish depends on which version of RealServer and RealPlayer you want to support. If you are hosting your content on RealServer 6 or 7, you must select Flash 1 or Flash 2. If you are hosting your content on a RealSystem Server, you can choose Flash 4 or earlier.

    RealPlayer 8 supports Flash 4 and earlier version SWF files. Previous versions of RealPlayer play Flash 2 and Flash 1 clips natively, and will automatically update to the latest RealPlayer release when they encounter a Flash 3 or 4 clip. Flash 5 is not currently supported by RealSystem Server or RealPlayer.


    When RealText version="1.5" is specified, it allows RealText to accept alternative protocols in a-tag URLs. RealText 1.5 streams will trigger an Auto-Update in any RealPlayer older than RealPlayer 8 Gold.

    Broadcast Redundancy

    Broadcast redundancy allows you to treat multiple live sources as a single broadcast. If a live source stops broadcasting, by default all clients will be redirected to the next available stream, thus ensuring user quality-of-service. This safeguard occurs automatically for RTSP-based client connections, the most common mode of player to server communication, while clients using the legacy PNA protocol must manually restart their connection.

    Distributed Licensing

    Distributed licensing allows administrators to manage the distribution of stream counts from one central server (called the publisher) to a set of dependent servers (called the subscribers). A server must be specifically licensed to publish a stream count to subscribing servers. A publisher must be configured to have at least one subscriber, and at least one publisher. For example, a publisher must have at least itself in its list of publishers, and one other server to which it will publish a stream count. A subscriber must be configured with at least one publisher in its publisher list.

    Important Note: If your RealServer is licensed with the ISP hosting feature, then your server can be configured to perform either ISP hosting or distributed licensing, but not both. Only RealServer customers who have an intranet or Internet 100 pro or higher server version will have both features in their license key. However, due to a known bug, the server will disable ISP hosting if your license is enabled for distributed licensing. If you need to use the ISP hosting feature, contact your account representative to receive a license key that has the same number of streams and properly enables ISP hosting.

    RealServer 7 to 8 Conversion and Compatibility

    The following section contains notes on converting from RealServer 7 to RealSystem Server 8.

    Licensing Changes

    RealServer 7 license keys do not work on RealSystem Server 8. For more information on upgrading to RealSystem Server 8, visit the RealNetworks Customer Service Web site at html, or call 1 (206) 674-2651. When RealNetworks releases a new major product version, we send out a new license to you via email. However, you must own a valid Upgrade and Support contract at the time of the software release for you to receive the upgrade license file. If you have a valid Upgrade and Support agreement and did not receive the email, please contact Customer Service and we will send you the new license.

    Converting RealServer 7 Splitting to RealSystem Server Enhanced Splitting

    With RealSystem Server, splitting has changed; this feature is now called enhanced splitting. Besides the name change for the feature, the parameters for the feature have also changed. A source server is now called a transmitter, while a splitter is now called a receiver. The configuration of push splitting under RealSystem Server is similar to the configuration of RealServer 7.x push splitting. With the addition of multicast as a transport, there are certain configuration variables that are new to the RealSystem Server.

    The following list equates configuration settings between 7.x push splitting and RealSystem Server Enhanced Splitting. The parameters are listed as they appear in the RealSystem Administrator. Please refer to the RealSystem Server documentation for a detailed description of configuration and parameters.
    OLD: RealServer 7.x Source Setting NEW: RealSystem Server Transmitter Setting
    Mount Point not required
    Hostname or IP Address Source Name
    Protocol Transport
    Resend Buffer n/a
    Timeout n/a
    Split All Streams By Default n/a
    Source Path/Edit Source Path Source Path
    Split From This Path n/a
    Splitter Control List/Splitter Description Edit Receiver Name
    Splitter IP Address or Hostname Receiver IP Address or Hostname
    n/a Multicast TTL
    n/a Error Correction Rate
    n/a Metadata Transmit Rate
    n/a Honor Resend Requests
    n/a Relay Live Broadcasts
    n/a Port Range
    n/a Security Type
    n/a Password

    OLD: RealServer 7.x Splitter Setting NEW: RealSystem Server Receiver Setting
    Mount Point Mount Point
    Hostname or IP Address n/a
    Port Port Range
    Buffer Delay n/a
    Timeout n/a
    Probe Interval n/a
    Server Sources Broadcast Transmitters
    Edit Server Description Edit Transmitter Name
    Server Host Name or IP Space Transmitter Address
    n/a Transmitter Netmask
    Server Port Port Range
    Server Mount Point n/a
    n/a Protocol
    n/a Multicast Address
    n/a Request Resends
    n/a Security Type
    n/a Password

    Pseudonym Source Name

    When configuring RealServer to transmit live distributions, the administrator needs to create a pseudonym "SourceName" to define the transmitter server. The pseudonym does not need to be a DNS or valid address; it is merely used as an identifier. Servers configured to receive live distributions use the "SourceName" to identify similar broadcasts that arrive at the receiver through various transmitters.

    This "SourceName" is set in the server's configuration file (rmserver.cfg) under the BroadcastDistribution list by RealSystem Administrator. It also appears in all push URL strings. In most cases, an identifier unique to one transmitter host system will be selected as the "SourceName".

    Enhanced Splitting and Broadcast Redundancy

    You can use these two features in tandem to enable live split redundancy by a RealSystem Server receiver. In this scenario, if a live input fails, the receiver will gracefully switch to use another live input. To enable broadcast redundancy at the receiver, use the same "SourceName" string on the multiple transmitters which are sending live streams to the receiver. To shorten the client URL used to join a split redundant stream, a null "SourceName" string may be defined for each transmitter. Do this by manually commenting out the "SourceName" variable in the server configuration file (rmserver.cfg).

    Example of Commenting Out the SourceName Variable

    <!-- <&Var SourceName="example"/>-->

    Splitting URL Syntax

    The basic URL syntax for enhanced splitting is similar to that of RealServer 7 splitting, and is examined below:

    Push Initiation


    receiver_host = host_name | IP address client connects to
    554 = rtsp protocol port of receiver
    broadcast_fs_mount = file system mount point for "pn-broadcast-receiver-fs"
    SourceName = user defined "SourceName" set in "BroadcastDistribution" list ("SourceName" | '*' | 'null')
    SourcePathPrefix = user defined "PathPrefix" set for each transmitter "Destination_n" list
    file = live file name



    Pull Initiation


    receiver_host = host_name | IP address client connects to
    554 = rtsp protocol port of splitter
    broadcast_fs_mount = file system mount point for "pn-broadcast-receiver-fs"
    PullPathPrefix = user-defined "PathPrefix" set for each receiver in the "Transmitter_n" list
    origin_host = host_name | IP address of the transmitter
    SourcePathPrefix = user-defined "PathPrefix" set for each transmitter "Destination_n" list
    file = live file name



    Broadcast Redundancy with Push Split URLs


    receiver_host = host_name | IP address client connects to
    554 = rtsp protocol port of splitter
    redundant_fs_mount = file system mount point for "pn-redundant-fs"
    SourceName = user defined "SourceName" set in "BroadcastDistribution" list ("SourceName" | '*' | 'null')
    SourcePathPrefix = user defined "PathPrefix" set for each transmitter "Destination_n" list
    file = live file name


    Where multiple transmitters use the same "SourceName" string:


    Where multiple transmitters use the same "SourceName" string, and are aliased by an asterisk (*):


    Where multiple transmitters use a null "SourceName":


    Known Issues

    The following section lists known issues with this version of RealSystem Server.

    WAV File Format and Solaris

    The WAV file format is currently not supported properly on the Solaris platform. This problem will be fixed in the next release of RealServer. When attempting to stream WAV files from a Solaris machine, the player reports either an "Internal Stream Error" or "Connection to server has been lost" error. Repeated attempts to play WAV files will result in the server crashing.

    SecureMedia Encryption Plug-in and Solaris

    On the Solaris platform, a RealServer with the SecureMedia Encryption plug-in may fail to recognize the plug-in if the Solaris machine does not have the library installed in the /usr/lib/ directory. You can download this library for installation from

    High Capacity Mode Error Message

    If you are accessing files via remote systems, such as Storage Area Network (SAN), Network File System (NFS), or Redundant Array of Independent Disks (RAID), the server may enter high capacity mode at a lower bandwidth than expected, and may reduce quality-of-service to some players. This problem will be fixed in the next release of RealServer.

    The following example shows the warning that will be written to your error log file:

    ***06-Dec-00 16:00:56.106 logplin(50897): The server has entered High Capacity mode, this may result in lowered quality of service for some players. The current load is XX.X Mbps total output to XXXX players (XX% PNA, XX% RTSP, XX% HTTP, XX% TCP/Cloaked, XX% UDP, XX% MCast)

    Lariat Reports

    RealSystem Server no longer contains the Lariat Stats program. Lariat does offer a cost-effective alternative: MediaReports Online.

    Making On-The-Fly Changes with RealSystem Administrator

    With this release, many of the configuration items in the RealSystem Administrator now take effect as soon as you apply the changes; no server restart is needed. However, with some configuration items, you must still restart the server for your changes to take effect. Below is a list of the features that will require you to restart the server:

    Admin System Section Admin Subsection Parameters Requiring Restart
    General Setup IP Binding All
    General Setup Mount Points All
    General Setup ISP Hosting All
    General Setup User/Group All
    Broadcasting Encoder Mount Point
    Broadcasting Pre-G2 Encoder Mount Point
    Broadcasting Redundancy Mount Point
    Splitting Transmitter Mount Point
    Splitting Receiver Mount Point
    Multicasting Back-Channel All, except if “Enable Multicasting” or “Time To Live” are changed.
    Multicasting Scalable All, except if “Enable Channel” or “Time To Live” are changed.
    Multicasting SAP All
    Cache Cache No-Cache Paths
    Cache Proxy Cache All (Proxy Only)
    Routing Rules Proxy Routing All (Proxy Only)
    Security Access Control All
    Advertising Ad Serving Additions, deletions, renaming of Ad Mount Point(s).
    Advertising Ad SMIL Generation Additions, deletions, renaming of SMIL Mount Point(s)

    The RealSystem Administrator now reflects these changes as well: if you make a change to a field that requires you to restart the server to have the change(s) apply, the affected field is noted with a red asterisk and warning text.

    If only one or some fields are changed on a Web page:

    1. A red asterisk follows the affected field name.
    2. At the bottom of the table, the red asterisk and text state: "*A server restart is required to effect changes applied to this field/these fields."
    If all fields are changed on a Web page:
    1. A red asterisk does not follow the field name.
    2. At the bottom of the table, the red asterisk and text state: "*A server restart is required to effect changes applied to this page."

    Netscape 6 Browser

    The RealSystem Administrator currently does not support use of Netscape's newest browser, Netscape 6, Users attempting to access the RealSystem Administrator with this browser receive an alert to use a supported browser.

    MIME Types and Plug-in Precedence

    RealServer now supports multiple file formats supporting the same MIME type (for example, RealNetworks MP3, and DBC MP3). When two plug-ins report the same MIME type, the server requests that the RealNetworks plug-in opens the file first. If the first plug-in returns a failure from InitFileFormat(), then the server tries the next plug-in that supports it, and so forth. You can set this order in the configuration file section listed below, where the quoted string is the description of the plug-in that you want to prioritize:

    <List Name="FileFormatPriority"> 
    <Var Priority_1="RealNetworks RealMedia File Format Plugin"/>
    <Var Priority_2="Other RealMedia Plug-in"/>

    Note: This edit will require that you restart your server.

    Layer-4 Switches and Client UDP Recognition

    Layer-4 switches currently do not recognize the UDP conversation sent from the client, if there is a resend request due to lost packets. This happens because UDP data coming from the server to the client is sent to the client's IP address, bypassing the Virtual IP (VIP). The client still believes the server's IP address is the VIP, so it returns its UDP traffic to the VIP. The Layer-4 switch (acting on the VIP port) does not recognize the UDP data, and drops the packet. Therefore, UDP data from the server to client works, but UDP traffic from the client to the server does not. This affects the quality-of-service for all clients accessing content through a switch.

    RealServer now supports the RTSP transport parameter of the "source address" (as discussed in RFC 2326) . This feature enables the source RealServer to specify to the client what IP address it should use in sending back its UDP data.

    To enable this workaround, the RTSPSourceAddress configuration variable must be added to the server's configuration file:

    <Var RTSPSourceAddress="*"/> 

    If "*" is specified, then the server will insert the IP Address of the network interface that the client address came in on.

    Equally acceptable is designating a specific IP address:

    <Var RTSPSourceAddress=""/>

    Note: This edit will require that you restart your server.

    CPU Spike Condition

    The CPU spike condition has been fixed. This used to occur under a specific error condition in which the server process would consume 95-100% of the CPU, and result in client connections being refused.

    RealServer Supported Data Types

    Data Type Supported by RealServer? Description
    .aiff Yes Audio Interchange File Format
    .asf - ASF files containing PCMU, PCMA, L8, L16, and uncompressed RGB video. Yes Active Streaming Format. Microsoft's proprietary format. Data is packetized according to RTP Payload standards.
    .au - PCMU, PCMA, L8, L16, G.721 (also known as G.726-32) Yes Short for audio, a common format for sound files on UNIX machines. Data is packetized according to RTP Payload standards.
    .gif, animated gif Yes Graphical Interchange Format. The most common graphics format found on the Internet.
    .jpg Yes Joint Photographic Experts Group
    .mp3 and .mp2 Yes MPEG Audio layers 1,2 and 3. ShoutCast and IceCast. VBR with Xing header.
    .mov Yes A QuickTime movie. Apple Computer, Inc.'s proprietary movie format. Standard RTP Payload formats will play back in RealPlayer (e.g. H.261, PCMU). QuickTime codecs (e.g. Sorenson, QDesign) only play back in QuickTime player.
    .png Yes Portable Network Graphics.
    progressive .jpg No Joint Photographic Experts Group. "Progressive" means a blurry version of the entire image loads first, coming progressively into focus.
    .swf Yes, up through Flash 4 Shockwave Flash File Format. Used by Macromedia Flash to deliver graphics, animation and sound over the Internet.
    rm; ra; smil; rt; rp; rae Yes Default RealNetworks types
    .mpeg From DBC Moving Picture Experts Group
    Vivo audio/video Partial. Windows play back only. RealNetworks purchased Vivo in 1998.
    .wav Yes Windows Wave format sound file.

    RealServer Plug-ins Table

    The table below lists RealServer Window and UNIX plug-in file names, and associated functionality.

    Windows UNIX Description
    admi3260.dll RealNetworks Admin File System
    adta3260.dll RealNetworks Ad Insertion Tag Replacement Plug-in
    allo3260.dll RealNetworks Basic Allowance Plug-in
    arch3260.dll RealNetworks Live Archiver Plug-in
    audp3260.dll RealNetworks ACM, AIFF, AU, DVI4, PCM, WAV, File Format and Renderer Plug-in
    auth3260.dll RealNetworks Authentication Manager
    basc3260.dll RealNetworks Basic Authenticator
    bdst3260.dll RealNetworks Broadcast Distribution Plug-in
    brcv3260.dll RealNetworks Broadcast Reception Plug-in
    cssp3260.dll RealNetworks License Subscriber Plug-in
    dbmg3260.dll RealNetworks Database Manager
    dbwr3260.dll RealNetworks 5.0 Database Wrapper
    dlic3260.dll RealNetworks License Publisher Plug-in
    enco3260.dll RealNetworks Encoder Broadcast Plug-in
    http3260.dll RealNetworks HTTP File System with CHTTP Support, RFC 2397 Data Scheme File System
    incl3260.dll RealNetworks Include TagHandler Plug-in
    inkt3260.dll Inktomi Traffic Server Plug-in
    isph3260.dll RealNetworks ISP Hosting Plug-in
    liv33260.dll RealNetworks Live Broadcast Plug-in
    logp3260.dll RealNetworks Logging Plug-in
    meip3260.dll RealNetworks Media Export Interface Plug-in
    mp3f3260.dll RealNetworks MP3 File Format Plug-in
    ntau3260.dll N/A RealNetworks NTLM Authenticator
    ntlo3260.dll N/A RealNetworks NT Event Logger
    perf3260.dll N/A RealNetworks RMA Performance Monitor
    plus3260.dll RealNetworks PlusURL File Format Plug-in
    pply3260.dll RealNetworks Scalable Multicast Plug-in
    ppva3260.dll RealNetworks Pay Per View Allowance Plug-in
    ppvb3260.dll RealNetworks Flatfile Database Plug-in
    N/A RealNetworks Mini SQL PPV Database Plug-in
    ppvo3260.dll N/A RealNetworks ODBC 3.0 PPV Database Plug-in
    pxad3260.dll RealNetworks RealPix Ad Serving File Format Plug-in
    pxcg3260.dll RealNetworks RealPix GIF File Format Codec and Renderer Codec Plug-in
    pxcj3260.dll RealNetworks RealPix JPEG File Format Codec and Renderer Codec Plug-in
    pxcp3260.dll RealNetworks RealPix PNG File Format Codec and Renderer Codec Plug-in
    pxff3260.dll RealNetworks RealPix File Format Plug-in
    pxgf3260.dll RealNetworks GIF File Format Plug-in
    pxjf3260.dll RealNetworks JPEG File Format Plug-in
    pxpf3260.dll RealNetworks PNG File Format Plug-in
    qtbc3260.dll QuickTime Live Broadcast Plug-in
    qtff3260.dll RealNetworks QuickTime File Format Plug-in
    ramp3260.dll RealNetworks Ramgen File System
    redb3260.dll RealSystem Broadcast Redundancy Plug-in
    rmff3260.dll RealNetworks RealMedia File Format Plug-in
    rn5a3260.dll RealNetworks RN5 Authenticator
    rtff3260.dll RealNetworks RealText File Format Plug-in
    sdpp3260.dll RealNetworks SDP Stream Description Plug-in
    shel3260.dll RealNetworks Shell File Format Plug-in
    smlf3260.dll RealNetworks SMIL File Format Plug-in
    smlg3260.dll RealNetworks SMIL Generation File System
    smon3260.dll RealNetworks System Monitor Plug-in
    smpl3260.dll RealNetworks Local File System
    splt3260.dll RealNetworks Splitter Broadcast Plug-in
    swff3260.dll RealNetworks File Format Plug-in for Macromedia Flash 4
    tagf3260.dll RealNetworks XML Tag File System
    vidp3260.dll RealNetworks AVI, Active Stream Version 1, ICM, RGB File Format Plug-in
    vivf3260.dll VivoActive File Format Plug-in
    vsrc3260.dll RealNetworks View Source File System

Last updated: May 30, 2001. Copyright © RealNetworks, Inc. 2001, all rights reserved.