How can streaming multimedia enhance your Web site?
Thinking about adding audio and video to your Web site? Is it worth the time and money? Consider the options -- Two companies tell why and how they did it
While it has been possible to send large multimedia files across the Internet since it was created, it has traditionally been too slow to work with over anything but a high-speed connection. During the last couple of years, a number of companies have developed technologies for streaming audio and video over the Internet which enable a client to begin listening and watching before the file arrives. This story explores some of the issues involved in setting up your own streaming multimedia server. (2,700 words)
Have you tried experimenting with one of many streaming servers yet? A variety of technologies now enable you to distribute audio and video streams from that Sun server you might have sitting idle. For the most part, these offerings do not require high-end servers. They do, however, require plenty of bandwidth. And if you want to do a fairly reliable broadcast to a large number of recipients on an occasional basis, or for a special event, you'd probably be better off hiring a service that specializes in producing video streaming programs.
Companies are finding several uses for streaming multimedia over the Internet and on their own intranets. One popular use is for broadcasting radio and video shows that tend to be advertising supported. It also is used to make conference sessions available after the fact. Other corporate functions include using audio streaming to transmit corporate news or executive speeches to employees, distance learning, telerobotics, device control, and collaborative research.
Streaming to a plug-in
There are a variety of technologies and products for streaming audio over the Internet. The most popular, judging from the number of servers, is RealAudio from Progressive Networks. There are now more than 100 Internet broadcasters online, and the list keeps on growing. Other audio technologies include Xing Technology's Streamworks, Vocaltec's Iwave, and the DSP Group's TrueSound. In addition, some Webmasters are using Java applets to distribute audio, without requiring a plug-in on the client machine.
RealAudio, Streamworks, and Java-based audio push audio streams out to the client, and therefore require special software on the server. All of these technologies work with Unix, Windows, and Macintosh clients. With Iwave and TrueSpeech, the client pulls audio content from the server, so no special server software is required, although the network administrator has to add new data types for these in the HTTP server configuration (see Resources links at end of story). Although neither Iwave nor TrueSpeech support Unix, both can be streamed off of a Solaris server.
There are a variety of options for streaming video as well. VDOnet Corp. makes VDOLive, which lets you stream video using wavelets. Wavelets are a relatively new kind of compression technique that many feel is superior to the discrete cosine transform technology used for compression in JPEG and MPEG. However, they have not been around long enough to be adopted into open standards.
Xing Technologies developed an MPEG streaming server to complement its audio offering. It is also possible to deploy video by streaming JPEG frames into Netscape so that you do not need a plug-in.
Bringing space to the Internet
The Houston Chronicle began testing RealAudio about a year ago in order to boost traffic to its Web site, says Glen Golightly, program manager for the Chronicle's multimedia project. Since they are close to NASA's Mission Control center, they were able to get access to live NASA audio and video feeds, which is their highlight. According to the Chronicle, the relationship between the newspaper and NASA grew from the coverage the paper gave the space agency. Because they were in the same neighborhood, it seemed logical that the two should work together, Golightly says.
The chief attraction appears to be space shuttle missions; he credits this addition with doubling the Chronicle's page views for the rest of the site.
During peak moments in a mission, such as docking, all 400 RealAudio streams are used, Golightly says. The VDO streams are not all in use, but Golightly believes that is because there was not enough bandwidth for more connections.
They currently have 400 streams of RealAudio and 100 streams of VDOlive video running off a SPARCstation 20 clone server from Tatung with a single, 120-MHz processor with 512 megabytes of RAM and 4 gigabytes of disk space. The server still has plenty of processing capacity even at this level, says Mike Mathews, systems administrator of the project. The bottleneck is a 10 megabits-per-second connection to the Internet that fills to capacity and restricts the number of simultaneous users to fewer than the maximum load permitted by the servers.
The Chronicle has also covered a number of events around the Houston area in both RealAudio and VDO format, but it limited its real-time coverage to RealAudio. "With RealAudio, we can do a lot more live events than VDO because RealAudio uses less processing power," Mathews says. "We can send people out into the field with a laptop and a modem, and they can connect back into our server and feed a RealAudio stream to us. We have had some interviews and concerts broadcast in such a fashion."
The only real-time video broadcasts has been NASA's shuttle missions, for which the station has a dedicated 166-MHz Pentium system that converts the video into VDO format. Mathews says they tried using a faster machine, but it made no difference. The video is captured in real time and forwarded to a Sun SPARCstation 20.
The bandwidth limitations of the Internet put restrictions on the kind of video that can be streamed with respectable quality. Even over a 28.8 kilobit-per-second connection, the video is either small, slow, or both. Video that has a lot of small things moving around a screen at high speeds, like a sports game, is very difficult to follow. Slow-moving video, such as a head shot of someone talking or broad sweeps of an architectural skyline, is easier to follow.
"Fast-motion video is not there yet," Golightly says. "If you encode it, you lose a lot of quality. The NASA stuff is really good because it is slow motion, space ballet kind of stuff."
The Chronicle has yet to do a cost/benefit analysis of the service to determine if they will be able to make it pay for itself, but Golightly is convinced that it is here to stay. "This will be reality for us, not some gimmick or extra trick. We want to add more bandwidth and streams, but that will cost more money. I think the process of settling in and getting some more money is really important."
PBS gets wired
The Public Broadcasting System began streaming audio and video about a year ago. It started off by encoding the audio from its shows into RealAudio, and subsequently began encoding video using VDO. Its first video program was the series "Life on the Internet."
PBS currently has one SPARC 1000 exclusively for its Web page, and another SPARC 1000 that is used for Web page backup and for streaming audio and video. They have only two T1 (1.5 megabit-per-second) lines connecting the servers to the Internet. David Johnston, a Webmaster at PBS says, "In terms of the horsepower of the box, having these run on a SPARC 1000 is overkill. Something like an Ultra 1 server would do just fine."
PBS is currently looking at moving the audio and video to a separate server. Johnston says that they are getting a lot of smaller hits on the Web server, whereas they get far fewer request for the large multimedia content. "We are looking at moving this to a separate box that can be tuned just for streaming without buying the new Sun MediaCenter server for serving streams. We looked at it briefly, and realized we did not need it at this time as it is more of an intranet, high-bandwidth server for passing out full-motion stuff."
To encode the video, they start with a standard 3/4-inch or VHS tape. Johnston said the lower quality VHS is just fine because you're putting it in a much smaller window, and the quality does not have to be as high as the source. The video is captured to a 90-MHz Pentium with 16 megabytes of RAM into an .AVI file. A half-hour program can take up as much as a gigabyte of space. It takes them about three and a half hours to compress each half hour show into a 45-to-50-megabyte VDO file. The file is copied to the streaming server.
The VDO file only needs to be saved once in the highest resolution desired because the server determines how much bandwidth is available to a client and scales the quality of the video to fit during transmission. Once the video is on the media server, a pointer must be created on the Web page that directs a browser to the new content.
PBS currently gets about 670,000 hits per day on its Web site, which represents at least 20,000 unique users. The user number was determined by counting separate IP addresses. The caveat here is that organizations, such as AOL, use the same IP address for many of its users, so the count cannot be fully accurate.
Between 500 and 600 people play back video each day. Almost all of them do so at 28.8 kilobits per second or greater speeds. Johnston explained, "It is a higher bandwidth experience. It needs 28 kilobits per second. Even though VDO will work at 14.4 kilobits per second, not many people are willing to accomplish that."
When they first deployed VDO, one of the most surprising things was the number of people that watched the show to the end. Johnston said, "For a while, we were seeing upwards of 90% of the people watch our half hour show to completion. It could be that they just ran it in a separate window so they could continue browsing while it was running.
Golightly found it surprising because he did not think that high a percentage of people would have an interest in watching the broadcast from beginning to end. He thought more people would check in just to see what it was and then move on. It did not really impact the paper's bandwidth expectations, however, because of the limit on the number of streams coming from the server and because of the limited amount of bandwidth required.
Streaming directly to a browser
While software for streaming audio over the Internet like RealAudio is freely available, some people are trying to avoid it entirely in order to simplify the listening experience for the end user. John Graham, President of Graham Technology Solutions, has built a business on streaming audio and video over the Internet without the use of a client-side plug-in.
Graham explained, "To achieve the simplest mechanism we decided to keep all of our code on the Sun server, instead of writing client code. All of our technology is done using Java, which appears when you hit the page, or as part of the native methods available on the Netscape browser. We don't write any client software other than a client applet for decoding audio. If you have Netscape, Java, and enough bandwidth, everything instantly works. That minimizes our customer support, and maximizes enjoyment. If you have a half-hour event, and you do not have the technology to look at it, it may take 40 minutes just to download the plug-in."
The audio codec Graham uses is only 20 kilobytes large, so it loads as rapidly as many pictures do. Once in the browser, it persists until the browser is shut down, so it does not have to be reloaded when you visit another audio site. Even though they have to push both the Java decoder and the data to the client, Graham says they have written the code so tight that even when the network connection gets saturated, the CPU of a SPARC 20 is still 90% idle. Graham's system can feed audio into two separate audio streams via the left and right channels on a sound card. The one limitation is that you can only insert a single sound card into the Sun boxes, which limits it to two streams. Each channel can simultaneously transmit 64, 40, 24, and 16 kilobit-per-second audio, which enables clients to listen to it at a variety of different qualities.
The workaround to get more than two channels, unfortunately, is to add SPARC systems. The alternative is to wait for someone to come out with an S-bus audio card, but that is not in the offing at the moment.
For doing video, Graham says that theoretically you can plug as many streams into a server as there are S-bus slots. On a SPARC 20 you could have 6 streams, although Graham says that he has never tried more than three at once.
Distributing your content
There are a number of issues associated with distributing multimedia content. First you need to get it to the server. If it is a time-delayed broadcast, you can often make do with an analog recording which can be converted into a digital format in the studio and saved to the server.
If you are doing a live broadcast, you need to find a way to get the data to the server in real time. Graham said that he often uses microwave links within a city for one-time events like the Digital Be-In he recently broadcasted in San Francisco. He has also worked with transmitting things over satellite, which he has used for broadcasting Sun Microsystems's Corporate Network, Sunergy, to mix live video from Europe and California.
Once the data is on the server, you need to consider who will access it, and how. Having a 1000 stream server does you no good, if there is not enough bandwidth on the backbone to handle it, even if you have a T3 (45 megabit-per-second) connection to your Internet service provider. There are a variety of technologies like RSVP or RTP that are on the drawing board or deployed in experimental networks. They will make it easier to distribute broadcasts to more people. However, none of these are ubiquitous enough to really work over the Internet on a large scale.
Today, the best approach to making sure your content gets massive distribution is to distribute it to several different servers located near different routers on the Internet. For example, Graham has built a proxy network on top of the Internet for streaming data using Genuity's high-availability network. When Graham does a broadcast, it is replicated to six proxy servers located at the New York Network Access Point (NAP), Metropolitan Area Exchange (MAE) East, MAE West, MAE LA, and the Genuity NAP in Phoenix.
Genuity uses a technology called Hopscotch to balance the load on the servers and the network. When a request comes in, Hopscotch looks for the closest available server with enough available network bandwidth to get to the user. This enables Graham to distribute 5000 streams over the Internet, without fear of causing a meltdown.
If you are building a high-quality broadcast network that will run for a long time, the best approach would be to find an Internet service provider that can distribute your content as Genuity's network can. On the other hand, if you just want to broadcast a one-time event, you would probably be better off hiring a company like Graham Technology to do it for you. They charge a $2000 setup fee plus $600 an hour for broadcasting time, which can go up if a complicated setup is involved.
The easiest and cheapest way to stream audio and video over the Internet is probably to convert your content into an Iwave or TrueSpeech format, and save it to the server. But you can get higher quality if you use a technology like RealAudio, and you can support decent quality video if you use VDO. On the other hand, if you want any client to be able to watch your video or listen to your audio without having to struggle with plug-ins then you should consider using Java to send your audio codec, and JPEG to send video.
About the author
George Lawton (firstname.lastname@example.org) is a computer and telecommunications consultant based in Brisbane, CA. You can visit his home page at http://www.best.com/~glawton/glawton/. Reach George at email@example.com.
If you have technical problems with this magazine, contact firstname.lastname@example.org