Splitting is a method of sending live broadcasts to other RealServers, rather than to clients. These other RealServers, configured as receivers, re-broadcast the streams to clients. By replicating streams close to users, clients receive high quality content, bandwidth usage is minimized, and audience size is maximized.
The RealServer where the live content originates, called the transmitter, makes its live broadcasts available to other RealServers, called receivers. Links on Web pages point to the receiver, rather than to the transmitter. When a user clicks the link, the receiver recognizes the special URL and relays the stream from the transmitter to the client.
As soon as the transmitter begins streaming a live source, it sends the broadcasts to all receivers. When a client requests a broadcast from the receiver, a connection has already been established between the receiver and the transmitter, and the broadcast is delivered to the client immediately.
![]() |
Note |
---|
There is another type of splitting in which live events are only sent at the request of receivers. Read about this method in "Pull Splitting". |
For example, a concert from Japan can be broadcast over the Internet to RealServers in Australia and North America. Users in those cities connect to the closest RealServer, thereby getting better media quality and using less network bandwidth.
While serving content that originated on another computer, a RealServer-whether a transmitter or a receiver-can still stream its own content. And because it's no longer serving to all the clients, it has more connections available for streaming its own content.
Throughout this chapter, we'll use the example of a transmitter located in Japan that is broadcasting to receivers in Australia and North America.
Web pages listing the event have different links for different locations:
This section describes the ways in which splitting works together with other features.
Neither splitting method works with on-demand streaming; splitting only delivers live broadcasts. You can use G2SLTA to convert on-demand clips to live broadcasts. See "G2SLTA and Splitting" later in this section.
Unicasting can happen automatically from a transmitter or a receiver-when you create a link that points directly to the stream on the receiver, you're using unicasting. In the diagram titled "Illustration of Splitting", the three clients shown in the upper right are receiving unicasts from the transmitter in Japan.
There are two ways you can use these features together to make the most efficient use of bandwidth.
Both transmitters and receivers can archive live streams.
The transmitter can broadcast either a live event from an encoder or an on-demand clip broadcast by G2SLTA. Using G2SLTA can be a good way to test your receiver configurations before you broadcast the real event.
RealProxy cannot cache live broadcasts, because there is no actual file to cache. But RealProxy includes an ability to "share" live streams among clients, and thus reduce the bandwidth required from a transmitter. They communicate through pull splitting; RealServer is pre-configured to act as a transmitter, and RealProxy is automatically set up to act as a receiver.
In their default configuration, the transmitter and the receiver use UDP for fast, efficient distribution, but some firewalls are not configured to permit UDP traffic to traverse network segments. If this is the case with your firewall, modify your firewall to allow UDP traffic between the transmitter and the receiver. You can customize the port numbers that the transmitter and receiver use to communicate, and match them to port numbers on your firewall.
The TCP
option from the Protocol list is not recommended unless the network is highly reliable and resend requests are unlikely. The TCP transport should not be used in lieu of properly enabling UDP routes between transmitters and receivers.
![]() |
Additional Information |
---|
Firewalls, and the best arrangements of transmitters and receivers, are described in "Communicating with Receivers". |
If you use the access control feature to block access to your transmitter, receivers can still obtain split broadcasts, but they cannot make resend requests, regardless of whether the Honor Resend Requests feature is enabled on the transmitter. Furthermore, receivers using the pull splitting feature will not receive any content at all.
If you are sending a stream to a RealServer that is acting as a receiver, you must put copies of all the databases that store authentication information on the receiver. This distributes the authentication load.
To determine how long it will take a receiver to acquire a live split stream from a transmitter, consider the following:
The receiver does not begin processing the incoming data until it receives the session description from the transmitter. If the session announcement-forwarding interval is set to say, 30 seconds, the receiver will require a maximum of 30 seconds before being able to begin processing live broadcast packets. This time delay does not include any network latency that may exist between the transmitter and the receiver.
As soon as the live distribution stream arrives at the receiver, the receiver constructs a local buffer before streaming data to the connected clients. This introduced receiver latency occurs only if a client connects to the receiver before the session announcement information arrives.
In cases where a pull splitting request is initiated by the receiver, the receiver stores only a 3-second buffer before sending the stream to the client.
Calculating the bandwidth used by a particular presentation depends on whether the broadcast is single-rate or SureStream.
Single-rate broadcasts consume bandwidth according to:
![]() |
Additional Information |
---|
Instructions on setting the error correction rate can be found in "Optional Transmitter Features". |
For example, a single-rate 100-Kbps stream with an error correction rate set to 10 percent will consume approximately 120 Kbps of bandwidth.
Determining the encoding bit rates for SureStream broadcasts is a bit more complex. As a rule, the bandwidth consumed by a SureStream broadcast equals the combined bit rates of all the audiences plus the overhead percentages mentioned a few paragraphs earlier.
Because of the numerous changes to the splitting feature, both the transmitter and the receiver must be running RealServer 8.
Links use a different format than in previous versions of RealServer.
Earlier versions of RealProxy can still receive pull splitting from RealServer.
If you used splitting in earlier versions of RealServer, you'll want to note two areas of changes.
One is a change in terminology; what used to be called push splitting is now called simply splitting. Pull splitting is called out as a separate case, as shown in "Pull Splitting". A source is now called a transmitter, and a splitter is now called a receiver.
Technical changes consist of the following differences:
There are three main steps to setting up splitting; the settings you use on the transmitter must match those used on the receiver.
When you install RealServer, the setup program automatically supplies some information to the splitting feature, based on information it detects on your system. Assuming these settings are correct, you need configure only a few areas, as described in the steps below. To determine whether the supplied values are correct, look at "Optional Transmitter Features" for information.
Japan
.
A generic receiver name appears in the Edit Receiver Name box.
If you select this option, you must also type an appropriate class D multicast address in the Receiver IP or Hostname box, and type a number in the Multicast Time to Live (TTL) box. For a list of possible TTL values, refer to the "Time to Live (TTL) Values" table.
![]() |
Note |
---|
If you select the TCP transport option, you should also use an additional method. Refer to "Broadcasting Over Multiple Network Paths". |
Basic
from the Security Type list, and type a password in the Password box. The receiver will pass this word to verify the identity of the transmitter as it receives broadcasts. To turn off security, choose None
from the Security Type list.
This section describes the additional settings that you may customize for your transmitter.
A lower number may result in lower startup latency on a new receiver, but consumes more network bandwidth. Use a number from 1 to 60. See "Calculating Latency and Bandwidth" for more information.
Yes
to turn on this feature. However, this option requires a back-channel from the receiver to the transmitter, produces a small increase in bandwidth to support the resend request traffic.
When you install RealServer, the setup program automatically supplies some information to the splitting feature, based on information it detects on your system. Assuming these settings are correct, you need configure only a few areas, as described in the steps below. To determine whether the supplied values are correct, look at "Optional Receiver Features" for information.
Using the information you received from the administrator of the transmitter (see Step 13), use the steps below to set up the receiver.
A generic transmitter name appears in the Edit Transmitter Name box.
If you selected udp/multicast
, you must also add the Multicast Address field with the class D multicast address.
![]() |
Note |
---|
If you are using udp/multicast , the address you type in
the Multicast Address field must match the value in the
Receiver IP or Hostname box on the transmitter.
|
This section describes the additional settings that you may customize for your receiver.
Yes
. This option provides greater quality, but may take up more network bandwidth. It can also add latency as the receiver waits for the resent data to arrive.
This section describes the format of links to split content.
The link to the split content looks like this:
http://Receiver:HTTPPort
/ramgen/broadcast
/TransmitterSourceName
/encoder/path/file
Notice that the first part of the link refers to settings on the receiver, and the second part refers to settings on the transmitter.
Component | Meaning |
---|---|
Receiver Information | |
http |
The protocol used to initiate streaming. |
Receiver |
The receiver's host name or IP address. |
HTTPPort |
Optional; include only if the port setting has been changed from its default value of 8080. |
ramgen |
Required when you link in a Web page. |
broadcast |
The mount point used on the receiver, usually /broadcast/ . |
Transmitter Information | |
TransmitterSourceName |
The transmitter's Source Name value. If you are using backup transmitters (see "Using Backup Transmitters"), use an asterisk (* ). |
encoder |
The live mount point. |
path |
Optional. The virtual path (if any) defined by the source software. |
file |
The name of the presentation, including the extension. |
The link that you would type directly in the Open Location dialog box of RealPlayer has the following format. 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.
rtsp://Receiver:RTSPPort
/broadcast/TransmitterSourceName
/encoder/path/file
Consider the example shown at the beginning of this chapter, in which a transmitter in Japan sends its broadcasts to receivers in Australia and North America.
![]() |
Note |
---|
The direct link to the Japan RealServer uses a regular live broadcast link, rather than the splitting format used in the other links. |
This example shows the text you would place in a Web page.
...we hope you enjoy the concert! Choose the link nearest you:
<a href="http://Japan.example.com.jp:8080/ramgen/encoder/concert.rm">
Japan<a>
<a href="http://Australia.example.com.au:8080/ramgen/broadcast/Japan/encoder/concert.rm
">Australia</a>
<a href="http://NorthAmerica.example.com:8080/ramgen/broadcast/Japan/encoder/concert.rm
">North America</a>
The same links, when typed directly in the Open Location dialog box of RealPlayer, would have the following formats:
rtsp://Australia.example.com.au:554/broadcast/Japan/encoder/concert.rm
rtsp://NorthAmerica.example.com:554/broadcast/Japan/encoder/concert.rm
This section describes some ways in which you can use splitting to create more sophisticated delivery of live broadcasts.
For broadcasting over sophisticated networks, you can combine RealServer splitting features to provide even more robust delivery of data between transmitter and receiver.
By setting up multiple delivery methods for each broadcast, data is sent over different network paths; the receiver re-assembles packets in order, regardless of the transport. For instance, if a packet is late or missing from the data sent via UDP/Unicast, the receiver may get the right packet from those arriving via UDP/Multicast.
While serving as a receiver for material originating on a transmitter, a receiver can also serve its own content, using the standard broadcasting and on-demand streaming methods. To set up a receiver to also act as a transmitter, first set up the receiver portion, using the steps in "Step 2: Setting Up the Receiver". Then set it up as a transmitter, using the instructions in "Step 1: Setting Up the Transmitter".
You may also be interested in the daisy-chaining feature, in which each receiver acts as both receiver and transmitter for the same material. Refer to "Chaining Receivers" for information.
If you are broadcasting a live event that is being served from several transmitters, you can create a special link so that if one transmitter becomes unavailable, clients will still be able to connect the event using the single link.
The link to this type of broadcast uses an asterisk (*) instead of the source transmitter's name; this has the added advantage of obscuring the source of the broadcast, since the link does not include the name of the source.
Should the transmitter become unavailable, the receiver will automatically choose the next available transmitter for new connections.
For example, a client connects to the Receiver, which receives the broadcast from Transmitter A. If Transmitter A goes down, the client receives an error message. Meanwhile, the Receiver switches to Transmitter B. The user can re-click the link in the Web page or click the Play button in RealPlayer, and will receive live.rm again.
The backup transmitters feature provides parallel stream sources to a given receiver. The redundant sources feature delivers parallel sources to a transmitter. Use can use both methods at the same time for the greatest reliability. For information about redundant sources, see "Working with Redundant Sources".
TransmitterHostName
in the URL, type an asterisk (*
).
To create the link that will allow the stream to come from multiple RealServers, use the same format as for splitting (refer to "Step 3: Linking to Split Content"), but substitute an asterisk (*
) for the TransmitterHostName
value.
The following uses the example in the illustration above:
<a href="http://receiver.example.com:8080/ramgen/broadcast/*/live.rm">
Within RealPlayer, this link appears as the following:
rtsp://receiver.example.com:554/broadcast/*/live.rm
A receiver can act as a transmitter for another receiver. Clients connecting to the second receiver receive the broadcasts originating at the transmitter.
In the illustration below, a stream that originates at the transmitter is passed to Receiver A, then to Receiver B, and finally to Receiver C. A client can receive the live stream from any receiver.
Advantages to this method include the option to use different settings at each connection for error correction, metadata, and passwords.
In addition to being configured as a receiver, each receiver in the chain (except the last one) is also configured as a transmitter.
The configuration on each receiver points to the previous receiver in the chain. Each RealServer only knows about the RealServer on either side in the chain; it doesn't know about the entire chain.
To set up this feature, you configure each RealServer in the chain, and then create the appropriate links.
Yes
.
/encoder/
to /broadcast/
(to match the transmitter).
Yes
.
/encoder/
to /broadcast/
(to match the transmitter).
The link for each receiver reference the receiver and the previous receiver in the chain, as shown in the following table. Notice that each link starts with the name of the RealServer that appears to be hosting the content, and also references the transmitter where the material originates.
A link typed within a Player, Ram file, or SMIL file would appear the same, but would use rtsp
for the protocol and would omit ramgen
.
In this type of splitting, the transmitter doesn't transmit any streams to the receiver until the first client makes a request.
In contrast to the constant communication in regular splitting, the connection between the transmitter and receiver in pull splitting stays quiet until a client makes a request. When the receiver gets a request for the live broadcast, it requests a pull splitting session. The transmitter RealServer sends the broadcast to the receiver, which in turn sends it to the client.
You can combine these methods to make the best use of your bandwidth. For example, divide your use of splitting methods according to time zones. Use push splitting to send an event to receivers in the same or nearby time zones, and make pull splitting links available to users in time zones on the other side of the world, where potential viewers are likely to be asleep.
When you install RealServer, the setup program automatically supplies some information to the splitting feature, based on information it detects on your system. Assuming these settings are correct, you need configure only a few areas, as described in the steps below.
A generic receiver name appears in the Edit Source Name box.
/encoder
or /redundant
.
None
from the Security list.
2030
. Type here to override.
When you install RealServer, the setup program automatically supplies some information to the splitting feature, based on information it detects on your system.
A generic transmitter name appears in the Edit Transmitter Name box.
Yes
.
/pull/
.
This section describes the additional settings that you may customize for your receiver.
This section describes the format of the link to pull split broadcasts.
The link to the split content looks like this:
http://
Receiver
:HTTPPort
/ramgen/broadcast/SourcePath
/Transmitter
:ListenPort
/encoder/path
/file
Notice that the first part of the link refers to settings on the receiver, and the second part refers to settings on the transmitter.
Component | Meaning |
---|---|
Receiver Information | |
http |
The protocol used to initiate streaming. |
Receiver |
Host name or IP address of the receiver. |
HTTPPort |
Optional; include only if the port setting has been changed from its default value of 8080. |
ramgen |
Used to create the link shown in "To create the direct link URL for pull splitting:". |
broadcast |
The receiver's mount point, usually /broadcast/ . |
SourcePath |
The value in the Pull Splitting Source Path box. |
Transmitter Information | |
Transmitter |
Host name or IP address of the transmitter. |
ListenPort | The transmitter's Listen Port value. Default default value is 2030. |
encoder |
The live mount point. |
path |
Optional. The virtual path (if any) defined by the source software. |
filename |
Name of the file being split. |
The link to the split content, as created by the transmitter or as typed directly in the Open Location dialog box of RealPlayer, has the following format. 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.
rtsp
://Receiver
:RTSPPort
/broadcast
/SourcePath
/Transmitter
:PullListenPort/encoder
/file
Consider the example shown at the beginning of this chapter, in which a transmitter in Japan sends its broadcasts to receivers in Australia and North America.
Note that the direct link to the Japan RealServer uses a regular live broadcast link (rather than the special pull splitting format).
The links used in the Web page have the following format:
...we hope you enjoy the concert! Choose the link nearest you:
<a href="http://Japan.example.com.jp:8080/ramgen/encoder/concert.rm">
Japan</a>
<a href="http://Australia.example.com.au:8080/ramgen/broadcast/pull
">Australia</a>
/Japan.example.com.jp:2030/encoder/concert.rm
<a href="http://NorthAmerica.example.com:8080/ramgen/broadcast/pull
">North America</a>
/Japan.example.com.jp:2030/encoder/concert.rm
Links typed in RealPlayer, or used in SMIL or Ram files, have the following format:
rtsp://Japan.example.com.jp:554/encoder/concert.rm
rtsp://Australia.example.com.au:554/broadcast/pull/Japan.example.com.jp:2030
/encoderconcert.rm
rtsp://NorthAmerica.example.com:554/broadcast/pull/Japan.example.com.jp:2030
/encoder/concert.rm