The RealServer technology, when it first appeared, had a huge impact on media aficionados. The mass media was no longer controlled by huge TV and radio stations. All you needed was a computer and the right connection. So, when I first heard about the Real technology, I knew I wanted to be in this.
Creating your own broadcasting service on the Internet may sound daunting at first. It certainly did sound difficult to me. It turned out with RealServer it is easier than I thought.
For this review, I'm going to be looking at the RealServer professional server instead of the basic one. However, everything said here about installation, requirements, etc., still applies to the basic version. The pro versions just handle many more concurrent client connections; the technology is more or less the same.
To get started, all you need to obtain is the free RealNetworks Basic Server. You can serve RealVideo and RealAudio broadcasts for up to 25 concurrent streams with it. Twenty-five connections are more than enough for serious experimentation with an average Internet connection. Incidentally, RealServer Basic 7.0 is not supposed to be used for commercial use as indicated in the licensing agreement. What the basic server won't do is play RealFlash animations. The Server Plus offering capable of doing animations sets you back a somewhat exaggerated US$695. The good news is, for what most of us will ever do, the basic server offering is more than enough -- and free -- (provided you can do with the 25 max concurrent streams).
What's so special about the Real technology is that it uses an interleaved data stream -- one packet of audio data contains little pieces from several time slices instead of all the data for one time slice. If a packet gets lost along the way, the RealPlayer interpolates frequencies across several small time slices instead of losing an entire time slice. The other innovation is the SureStream technology, a way for the RealServer and RealPlayer to dynamically negotiate bandwidth. With SureStream, you can automatically encode your audio or video at multiple data rates and let the player and server set an appropriate data rate. If your connection suffers Internet congestion, the RealServer and RealPlayer will drop to a lower data rate until it clears up and they can resume at the original data rate.
RealServer broadcasts RealMedia media. To turn wav files into RealAudio and avi files into RealVideo, you can obtain the free RealEncoder which lets you create RealAudio and RealVideo content from live feeds or static files. Here again, there is an enhanced version called RealPublisher selling at a reasonable $99. RealPublisher lets you create streaming-enabled Web (HTML) using helper apps or Active-X controls/plug-ins. During my broadcast career, however, I found the RealEncoder to be more than good enough. On the client side, viewers and listeners need the nowadays pervasive RealPlayer. That's all the software ever needed.
The hardware necessary to create content is quite limited, too. A camcorder for the videos and a cable to patch your audio source to your sound card is all you really need.
Installing RealServer
Obtaining the free versions of Real products is not easy. They tend to hide away the free versions on the Real site. You have to look carefully and you'll eventually see the link, usually next to a for-cost sister product. The license key will be delivered to the e-mail address you provide on the form they ask you to fill out. At around 7MB the download is quite painless, as the whole installation turned out to be.
I downloaded the Linux version of the Basic RealServer and chose an elderly Pentium II 400Mhz Netfinity 3000 machine with 384MB Ram as the server machine. The connection from my lab to the Internet is through an aDSL line with 128KB upward speed. Having lots of memory, as usual, helps. The I/O subsystem is less of an issue because of the highly compressed nature of Real content, but surely having a capable I/O bandwidth will help as well.
Once I was done unzipping the file and untarring it, I launched the installation script. If not told otherwise during the installation, communication ports are set to industry-standard defaults that should not be changed unless you know a specific reason to do so. Setting up a user account and password is about all that's necessary. The easiest thing about RealServer is the administration system: it's a fully browser-based administration application featuring a mix of HTML and Java applets powered by a built-in mini Web server. RealServer uses the same interface for local or remote administration, and you can control everything from configuring the mount points for live broadcasts to monitoring bandwidth utilization. The interface includes neat little Java-based meters that tell you things like the number of simultaneous audio streams being served and the CPU utilization.
RealServer can be easily reconfigured through a browser-based console. Changes to file locations, ports and log settings -- among other features --can be performed locally or remotely. My aDSL carrier provides me with a static IP, which is really a blessing for products like RealServer.
Should you have a dynamic IP address there are still ways to make your RealServer visible from the Internet. Services like tzo.com provide a way to let the world see your host each time you connect to the Internet and obtain a new IP address.
For approximately $35 a year, you can set yourself up as "my name.tzo.com." For a slightly higher fee you can register your own domain and have it mapped through the same service each time you connect.
My lab is obviously behind a firewall. RealServer does not react well to firewalls and only solutions are a Socks 5-capably proxy or just open up the ports configured for RealServer. Once I opened up my Cisco Pix firewall to the concerned ports, RealServer performed admirably.
If opening the firewall is not an option you should consider moving the RealServer to a perimeter network or making what's known as a DMZ (DeMilitarized Zone) host. If all else fails, RealServer can be configured to wrap streaming content as HTTP packets, thereby allowing transmission through most firewalls. Although this isn't optimal due to the added overhead's impact on performance, it may be your only work- around.
Needless to say in these days, you need to keep an eye on security issues. The http://service.real.com site informs administrators about the dangers and potential pitfalls of running a RealServer.
Next to the server-side firewall, you will likely find firewalls in front of your listeners' and viewers' clients. RealPlayer knows how to handle connections that don't get through from clients behind firewalls. RealPlayer has an auto configuration option that pops up when a connection fails. It will then proceed to discover the best way to connect to a RealServer and reconfigure the client accordingly.
|
RealServer Plus
- Price: $1,995 for 60 sessions
- Requires: 64MB RAM plus 12KB RAM for each kilobit per second of streaming content served
- Supported operating systems and hardware: Linux, Sparc Solaris 2.6, 2.7, WinNT4.0, Win98 and Win2000
- Web site: http://www.real.com
|
Broadcasting Content
For a quick start, the demo content placed in the Mount Points folder will do nicely. Just to make sure my server-side worked, I first fired up a RealPlayer client on my WinNT laptop. I typed in "rtsp://" and then my machine's IP address followed by a "/" and the name of the example file with its extension in the Content folder. Bingo. I could read the demo content just fine.
Next, I asked a friend to connect to my server and listen to the same demo stream again. Mind you, my friend sits on the other side of the Atlantic ocean and my connection is limited to 128Kbit. Still, he was able to connect and listen to the audio without any problems at all.
Time For Some Stress Tests
The RealServer technology is highly optimized. In the LAN environment, streaming in unicast with 25 simultaneous sessions at 200 Kbit/sec per stream made the system load of the PII400Mhz server show CPU usage of about 5 percent. Obviously, the 100mbit network was quite busy with all the streaming packets. In multicast mode the bandwidth peaked at about 2.6 times the stream bandwidth regardless of the number of connected clients.
The Java-based broadcast monitor of RealServer keeps track of the number of streams, server CPU and memory usage, and network bandwidth consumption, and comes in handy when tuning the system for best performance.
Multicasting a stored content requires to use a command-line utility but otherwise everything else can be managed through the Web-based GUI.
One noteworthy feature is the "splitter." It allows remote networks to download a live stream and then relay it in multicast mode to local nodes. This makes things easier in WANs because it reduces the strain on the link from the WAN to the server.
Although RealServer -- like QuickTime and Microsoft Media Server -- comes at a price in the Professional Edition, it is the recommended tool to broadcast content from your Unix server to your audience.
Moshe Bar (moshe@moelabs.com) is an Israeli system administrator and OS researcher, who started learning UNIX on a PDP-11 with AT&T Unix Release 6 back in 1981. He holds an M.Sc. in computer science. Visit Moshe's website at http://www.moelabs.com/.