Welcome to RealServer, the streaming media solution! RealServer streams audio, video, image, animation, text, and other data types. RealServer also allows you to grow with your changing needs. This chapter introduces RealServer concepts and features.
To begin serving right away, consult Chapter 1, "Quick Start".
RealServer is software that streams media-both pre-recorded and live events-over a network. The client receives the media in real time, and does not have to wait for the clip to download.
RealServer software consists of the following components:
rmserver.exe for Windows platforms, and rmserver for UNIX platforms.
rmserver.cfg.
RealServer is a member of the RealSystem G2 family of software tools. Three components make up RealSystem G2:
The following diagram provides an overview of how RealSystem components work together.
The person who designs the content that you serve from your RealServer uses production tools to create the content. These tools convert audio, video, or animation to a data type format that RealServer can stream.
The content creator may additionally create a SMIL file to synchronize several clips in a single presentation. A SMIL file coordinates the playing and layout of media clips in parallel or sequence.
Since RealServer is able to deliver many formats, there are many tools that can be used in creating content. Production tools can optimize the material for delivery over the Internet, based on the content of the material and the expected capabilities of the users' equipment.
The content creator can prepare media clips in advance, or can encode a live event as it happens. In this manual, we use the generic term "encoder" to describe the software (such as RealProducer) that converts media or events into a format that RealServer can deliver.
Just as a Web server delivers pages to Web browsers over the Internet, RealServer serves media clips, created with the production tools described earlier, to clients. It allows users to stream, rather than download, the media clips. By streaming the content, the user can begin to watch the clip almost immediately and does not have to wait for the entire file to download.
A client such as RealPlayer plays the streamed media.
In addition to the RealSystem G2 software, you may work with additional optional software, such as:
RealServer streams media to clients over networks and the Internet. It is usually employed in conjunction with a Web server. Some RealServer features can interact with third-party products to create specialized functions, such as report analysis.
RealServer uses two connections, known as "channels," to communicate with clients: one for communication with the client, and one for actual data. The communication channel is known as the "control channel," since it is over this line that RealServer requests and receives passwords, and the client sends instructions such as fast-forward, pause, and stop. Media is actually streamed over a separate "data channel".
Every link to content begins with a protocol identifier, such as rtsp, pnm, or http.
RealServer uses two main protocols to communicate with clients: RTSP (Real Time Streaming Protocol) and PNA (Progressive Networks Audio).
Occasionally, RealServer will use HTTP for metafiles that point to RealServer content, and for the HTML pages served by RealServer (such as the Web-based RealSystem Administrator). It may also be used in delivering clips to clients that are located behind firewalls.
Within these channels, RealServer uses two other protocols for sending instructions and data:
See Chapter 9, "Firewalls and RealServer" for more detailed information on RealServer's use of ports.
Because many firewalls are configured to allow only TCP connections or HTTP traffic, you may need to make some adjustments to receive data from an encoder or to work with clients if there is a firewall between it and your RealServer. See Chapter 9, "Firewalls and RealServer".
When the encoder connects to RealServer and sends encoded media data, it uses a one-way (UDP) connection to communicate with RealServer.
Some firewalls do not permit UDP packets, so RealNetworks encoding software such as RealProducer has a setting that uses TCP connections to send the same encoded media, since many firewalls allow TCP traffic.
When the user clicks a link that points to a media presentation, RealPlayer opens a two-way connection with RealServer. This connection uses TCP to send information back and forth between RealPlayer and RealServer.
Once RealServer approves the request, it sends the requested clip along a one-way UDP channel.
As it receives the streamed clip, RealPlayer plays it at high fidelity.
There are two main ways for controlling how a user experiences a clip:
A third method, which uses on-demand clips but delivers them as if they were live, is available. It is not used as commonly.
The table below summarizes the three participation types.
Once you have determined how you want the user to experience the clip (as on-demand or live), you choose which delivery method you will configure RealServer to use.
Pre-recorded clips are delivered through a method called streaming. A user who clicks a link to an on-demand clip watches it from the beginning. The user can fast-forward, rewind, or pause the clip. See Chapter 10, "Streaming On-Demand Presentations".
Live clips can be delivered in several different ways. As the administrator, you will decide which method to use based on your network needs. A user who clicks a link to a live clip joins the live event in progress; fast-forward, rewind, and pause are not available because the event is happening in real time.
Live clips are broadcast as they are created. These clips don't exist as files, since they are created as the live event happens. Live content can be saved into files through the live archiving feature; the archived files become on-demand content and are handled as such.
This is the simplest and most popular method for live broadcasting. It requires little or no configuration. Refer to Chapter 11, "Unicasting Live Presentations".
Splitting is a term to describe how one RealServer can share its streams with other RealServers. Clients connect to these other RealServers, called splitters, rather than to the main RealServer where the streams originate. Splitting reduces the load on the source RealServer, leaving it free to distribute other broadcasts. This method moves the broadcasts closer to clients, improving the quality of service for them. See Chapter 12, "Splitting Live Presentations".
Multicasting is a standardized method for connecting large numbers of users with presentations delivered over a network or the Internet. Consult Chapter 13, "Multicasting Live Presentations".
The same delivery options are available as for live broadcasting: unicasting, splitting, and multicasting. The only difference is that the event has already been recorded, and no connection to a production tool or encoder is needed. The G2SLTA program, included with RealServer, sends the on-demand file to RealServer as if it were a live event. See "Creating a Live Source with G2SLTA".
The following table shows the user participation styles and the accompanying delivery methods.
In some cases, you can use more than one live delivery method at once, to reach the maximum number of users while minimizing network bandwidth.
Links to media clips served by RealServer have several components that tell RealServer how to serve the clip and where to look for the clip.
Content creators will put most links into Web pages. A user looking at a content creator's site will click the link, and through the process described in "How RealServer Works", will receive the media.
For example, the following link for a RealVideo file would appear in a Web page (the URL for the media clip is shown in bold):
<a href="http://realserver.company.com:8080/ramgen/Concerts/French/
debussy.rm">Click here to watch today's concert!</a>
The clip may be pre-recorded, live, or pre-recorded but delivered as live.
|
|
Additional Information |
|---|
| Instructions on creating links to RealSystem clips are described in depth in Chapter 5, "Understanding Link Formats". |
This manual assumes that you (the RealServer administrator) are managing your RealServer, and that a second person (the content creator) is making media clips and SMIL presentations and putting links in Web pages. In reality, you may be filling both roles, especially when you are setting up a feature and want to do some quick tests. But it makes it easier to discuss the roles when they are described as separate people.
The RealServer administrator needs to provide the content creator with certain information, so that she can create the correct links in her SMIL files and Web pages. If the content providers are encoding live material, they will need to know where to direct their live data.
Content creators will need the following information:
In order to encode a live stream to RealServer, content creators need to know this information:
RealServer can broadcast to other RealServers, which can redistribute the presentations to clients, thus reducing the load on the original RealServer. This feature is called splitting. If you are working with the administrator of the other RealServer (the splitter), you will need to give that person certain information about your RealServer settings. That information is outlined in Chapter 12, "Splitting Live Presentations".
If there are users within your network that either cannot receive presentations from RealServers on the Internet or who receive poor quality streams, information in Chapter 9, "Firewalls and RealServer" will help the firewall administrator understand what changes can be made that will enhance the users' experience.
In determining both how much bandwidth is available on your network, and how much is appropriate for RealServer to use, network administrators can help you arrive at suitable numbers.
In addition to the delivery methods described earlier in this chapter, RealServer has other features that help you administer your RealServer.
RealSystem Administrator is the Web-based console for customizing RealServer features. It can be run from any browser on your network. It is password-protected when first installed, and you can create additional user names and passwords for any other people who will be helping you administer your RealServer.
The access control feature lets you associate certain client addresses with the ability or permissions to connect to certain ports.
Authentication verifies the identity of a user or RealPlayer that is making a request for streamed media. The verification can come in the form of asking for a name and password, or it can be hidden from the user.
RealServer works with your existing user accounts and directory structure to make users' media files available for streaming. You allocate a minimum and maximum number of connections for each account, based on the number of streams permitted by your license. Allocating on a per-connection basis, rather than by stream, ensures that all files, including SMIL files which reference multiple streams, will always be served.
RealSystem Administrator includes a real-time Java Monitor to show activity on your RealServer, making Server management easy. It shows who is using the Server, when it is most used, and which files are the most requested, as well as other information.
RealServer can create reports of historical data that let you see trends and gather information. Track who visited your site and for how long; what clips they watched and whether they watched them all the way through to completion. This information is stored in the access log. Any error messages are recorded in the error log. Requests for streams which will be cached are stored in the cached requests log.
RealServer can dynamically insert ads into streaming presentations. Offering integration with any HTML-based ad serving system, RealServer uses SMIL (Synchronized Multimedia Integration Language) to lay out ads and requested content in RealPlayer. This chapter explains how to set up RealServer's ad streaming features.
RealProxy is software that stores streamed media. While it is not part of RealServer, 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.
Firewalls are not specifically a RealServer feature, but they are important in networked environments. A firewall is a software program that monitors, and sometimes controls, all transmissions between an organization's internal network and the Internet. A network can consist of a company's local area networks, wide area networks, and the Internet, or it can be just an Internet Service Provider preventing inappropriate access to the files of its customers. The firewall's role is to ensure that all communication, in both directions, conforms to the organization's security policies.
RealServer components can be combined to conserve bandwidth and deliver high-quality presentations. The table below summarizes RealServer features and how they work together.
For additional information on exactly how any of these features work together, refer to the chapter that describes the feature.