RealServer - Frequently Asked Questions

What The Heck Is A RealServer?

It's a server program, provided by Real Networks, that runs on our machine. It allows you to set up streaming audio and/or video services on your site, using RealAudio and RealVideo technology.

Why Do I Need To Use A RealServer?

Actually, you likely don't. But it's nice to have around. :-)

Many web sites have RealAudio and/or RealVideo service, yet don't have a RealServer. How do they do this? Simple: they let the web server handle it. In most cases, this works just fine. The web server delivers the media stream file just like it does with any other document, using the HTTP protocol.

This has a few limitations, though. If your files are under 5 minutes in length, you probably don't need to worry about this. If your files are longer than that, it might be time to consider using the RealServer.

Consider this situation: you've got a 30 minute radio interview on your site. A visitor to your site decides to listen to it. But wait, they've heard the first 20 minutes of this interview already, so all they want to hear is the last ten minutes.

The RealPlayer client (which your visitor is using) has the ability to jump ahead to any point in the file, which is cool. However, the HTTP protocol and the web server do not know how to handle this. So your listener cannot jump ahead to the 20th minute until the preceding 19 minutes have been streamed. And if they're on a dialup modem, this could take... well, almost 19 minutes.

If, instead, you configure your system to use the RealServer, then the HTTP protocol isn't used. Instead, a proprietary signalling system, based on the UDP protocol, is used. This will allow your visitor to jump ahead to the 20th minute.

The RealServer has some other advantages too. For one, you can use "SmartStream" files.

What The Frag Is A SmartStream File?

I'm glad you asked. Consider this situation: you've got a video clip, or high fidelity music clip, that you want to share with your viewers. If you've played with RealMedia before, you know that a 28k stream is BARELY enough for good audio, and nowhere near good enough for video. The old solution was to code two or more different versions, one for each bandwidth your visitors are likely to use (for example, 28k and 56k). The problem here is that you then have to provide two (or more) separate links, one to each version of the file. SureStream lets you create just one single file, which contains all the versions that you specify. SmartStream files must be served by a RealServer, so don't do this if you're going to use HTTP streaming.

When the visitor clicks on the link to play the SmartStream file, the visitor's RealPlayer client will communicate with the RealServer here and together they'll figure out what the best possible speed they can achieve is. The RealServer will then deliver only the correct stream. Moreover, if network congestion causes bandwidth to fall off, the RealServer can downshift to a lower speed, then upshift again later if congestion decreases.

One file. One link for your users. Nice and simple.

OK, I'm Sold. How Do I Set It Up?

Well, assuming that you've already got a site set up on our servers, the first thing we need to do is establish a "mountpoint" for you. This is just a name that the RealServer uses to determine where to pull the files from. Using the World Wide Webb site as an example, this is how it would look:

Mountpoint: /webb/
Points To: d:\htmldocs\worldwidewebb\ra\

All of the RealAudio files on the World Wide Webb site are stored in the directory d:\htmldocs\worldwidewebb\ra\, but now we've created a mountpoint called "webb" which points to that directory.

The next step is modifying the existing *.RAM files. If you're not sure what these are, you'll want to visit Real Networks to learn all about setting up RealMedia for playback.

Now, before switching to the RealServer, I had a file called canuck_real_audio.ram which contained a list of RealMedia files, which looked like this:

http://webb.GaryNuman.Info/ra/gwn01.rm
http://webb.GaryNuman.Info/ra/gwn07.rm
http://webb.GaryNuman.Info/ra/gwn15.rm

There was a web page that pointed to this file, and that caused the RealPlayer to load and play the files gwn01.rm, gwn07.rm, and gwn15.rm, in that order.

Notice, please, the "http://" at the beginning of each line. This is what tells the RealPlayer *HOW* to load and play the files. It says "use the HTTP protocol using the default web server". But now we're going to change that.

First, we need to tell the RealPlayer to use the RealServer. So we replace all occurences of "http:" with "rtsp:", as follows:

rtsp://webb.GaryNuman.Info/ra/gwn01.rm
rtsp://webb.GaryNuman.Info/ra/gwn07.rm
rtsp://webb.GaryNuman.Info/ra/gwn15.rm

We're not quite done yet, though. The RealServer is on its own host, and is not on "webb.GaryNuman.Info". We need to change that to "stellarcom.GaryNuman.Info", as follows:

rtsp://stellarcom.GaryNuman.Info/ra/gwn01.rm
rtsp://stellarcom.GaryNuman.Info/ra/gwn07.rm
rtsp://stellarcom.GaryNuman.Info/ra/gwn15.rm

And, finally, we need to tell the RealServer where to find the files, and that brings us back to the mountpoint. Remember earlier we defined the mountpoint "webb" to point to this directory. So, we make that change as well:

rtsp://stellarcom.GaryNuman.Info/webb/gwn01.rm
rtsp://stellarcom.GaryNuman.Info/webb/gwn07.rm
rtsp://stellarcom.GaryNuman.Info/webb/gwn15.rm

This last step may seem rather pointless, but you have to remember that all of the other sites using this server are sharing stellarcom, so each must have a unique name. The mountpoint name is up to you, so if you'd prefer something a little shorter than "webb", we can do that. :-)

And that's how ya do it.

If you've got a lot of RealMedia files, changing all of your *.RAM files (one per RealMedia file) is a royal pain in the ass. You don't have to do this: just identify those files that would best benefit from being served by the RealServer, and let the HTTP server handle the rest.

I Have A Question That Isn't On This List.

No problem. Send email to joey@garynuman.info and I'll try to answer your question as best I can.