There are a number of different technologies available for producing and delivering streaming media on the web. Each has its corresponding browser plug-in that your viewers will need to obtain and install before they can view any media presented using that technology. If you feel that an audio or video presentation is what you need to convey the finer points of your message, how do you decide which streaming technology to use?
Factors to consider:
- Is the plug-in already widely in use, thus increasing the probability that a visitor to your site already has it installed?
- Is the plug-in easy to obtain and install, and is it free?
- Do the realistic playback capabilities and limitations of a specific streaming technology provide the kind of viewing or listening experience you want your visitors to have--or will they leave your site disappointed and feeling like their time was wasted?
Two popular streaming technologies that clearly meet criteria 1 and 2 are RealNetworks’ RealSystem (RealAudio, RealVideo) and Apple’s QuickTime. As to the third criterion, neither is perfect and each has its strengths and weaknesses.
RealNetworks’ RealSystem G2
If you are going to broadcast live, or if the punch of your message necessitates immediate, uninterrupted delivery, take a look at RealSystems. Live broadcast as well as complex presentations and/or high traffic sites will necessitate a RealServer host. If your streaming media needs do not justify the expense of a RealServer setup, however, keep in mind that RealVideo delivered with HTTP protocol from an ordinary Web server may be a viable alternative.
Most people have heard of RealAudio and RealVideo, but these are not the only streaming clip types available from RealNetworks. RealSystem 5.0 introduced RealFlash, and the new RealSystem G2 adds RealPix and RealText as well as additional features for RealFlash. Also new with RealSystem G2 is the SureStream technology which simplifies multi-bandwidth options, provides backward compatibility, and enables RealPlayer G2 to respond dynamically to changing network conditions to help ensure uninterrupted play.
Well designed RealSystem presentations will ideally have a reasonable initial buffering time (preroll) of 15 seconds or less before starting to play and then continue uninterrupted to the end.
While RealServer G2 is the preferred host for RealSystem presentations, it is also possible to host presentations on a Web server. The tradeoffs and limitations of Web server (http) vs. RealServer delivery are an important consideration when designing streaming content.
RealSystem Clip Types
RealAudio is an established standard for web delivery of relatively high quality streaming audio. RealSystem production tools make it easy to encode sound clips for target bandwidths to achieve maximum quality given realistic limitations.
RealVideo offers a viable way to play video clips over the internet. Compression rates on standard video clips cannot produce files small enough for web delivery, but RealSystem encoding can create clips that play with acceptable quality over a 28.8K modem connection, and also offers the option of better quality encoding targeted at higher bandwidths.
RealFlash pairs Macromedia Flash animation with a RealAudio soundtrack in order to stream animated presentations accompanied by good quality sound. RealFlash was intruduced with RealPlayer 5.0 and Flash 2.0. RealPlayer G2 now supports Macromedia Flash 3.0 features with the exception of transparency.
RealPix is a new RealSystem G2 clip type for streaming still images as a slide show. It uses a mark-up language to specify the locations of image files, set up a timeline, and create special effects such as fades, dissolves and zooms.
RealText is another new RealSystem G2 clip type which streams text at specific times within a presentation, for example to add subtitles to a video, or to lay out text from a live source to create a real-time stock ticker. It uses a mark-up language for formatting text.
SMIL: A set of clips in a RealSystem G2 presentation can be controlled with a SMIL (Synchronized Multimedia Integration Language) file. SMIL, pronounced "smile", is an XML-based mark-up language for specifying how and when each clip plays.
Delivering RealSystem Presentations
RealSystem development tools provide the means to construct simple or complex presentations: video, audio, slide shows, animation, simultanious clips, full-length television-like cartoons, and live broadcasting. Imagination and creativity may be all that’s necessary to produce brilliant designs, but bandwidth, server options and platform capabilities are considerations that define the practical limits of what can be successfully delivered.
Total bandwidth is the upper limit on how much data can pass through a network connection per second. Designing content suitable for viewers’ available bandwidths is crucial to delivering compelling multimedia presentations. Because most Internet users have 28.8 Kbps modems, content available to the public should target that bandwidth. A RealVideo clip encoded for a 28.8 Kbps modem will not be as high quality as one coded for a higher bandwidth, but on the Internet, exceeding the user’s bandwidth will produce two adverse effects: an unacceptably long wait before the clip begins to play (preroll) and periodic stalls during your presentation while data rebuffers.
RealServer vs. Web Server
All RealNetworks streaming media types are designed to be delivered by a RealServer, and for the content created with the new RealProducer G2, a RealServer G2 is required. However, if you do not have access to RealServer G2, you can host your presentation on an ordinary Web server (i.e., where your web pages reside) as long as you understand the limitations of this mode of delivery.
Web server playback uses the HTTP protocol and provides a reasonable (and cheap!) method for sending simple presentations to a small number of users. It is not recommended for lengthy or complicated presentations, however, or for clips viewed simultaneously by large groups. Although RealPlayer can play back clips as they download, the HTTP protocol does not give RealPlayer the ability to adjust the download to compensate for changing network conditions. Also, HTTP downloads files without regard for timelines. That makes it difficult to ensure that simultaneous clips such as animation and audio in RealFlash will remain synchronized, and RealPix presentations will have a higher preroll because with HTTP all the images begin to download as soon as presentation playback begins. Web servers cannot serve SureStream clips or present live broadcasts.
RealServer is not something you can simply set up in your home web server directory with your web files, and your average ISP doesn’t provide it. You must either obtain RealServer G2 and set it up on your own server (with all that entails), or else contract for access to a RealServer through a commercial provider. RealServer uses the RTSP protocol, which is designed specifically to stream clips that have timelines. RTSP lets RealPlayer G2 and RealServer G2 exchange information about a presentation in progress and dynamically adjust the streaming data from preroll through the end to keep the clips playing smoothly throughout. The new SureStream technology, which is available exclusively in RealSystem G2, and operational only with a RealServer, lets you encode a single RealAudio or RealVideo clip for up to six separate bandwidths, and even select a backwards-compatibility option to include an encoding for earlier versions of RealPlayer. RealPlayer will then automatically select and play the correct version for the bandwidth of each individual viewer, and even shift dynamically to a lower or higher version as network conditions change. The RealServer administrator can also set up many content delivery and security features such as live broadcasts, pay-per-view content and password authentication.
Embedded vs. separate RealPlayer window
The "standard" mode of delivery for Realsystem presentations is by opening a separate RealPlayer window which looks like this:
The size of the window adjusts automatically to accommodate the size of the presentation. As you can see, the window comes with its own set of "attractions" which may or may not suit your purposes, especially since some of them may have the result of luring visitors away from your site.
An alternate mode of delivery is to embed the player in the web page itself. This option gives you complete control over the visual presentation environment, and you can even set up the page so that there’s a single viewing area where videos play but the viewer can select from among a set of different videos to play there (examples provided below).
Theoretically, embedding is fully supported by version 3 and above of Netscape and Internet Explorer, and you can offer the non-embedded option to those with other browsers. In practice, however, early versions of RealPlayer G2 are buggy when playing embedded RealVideo, especially on Netscape 3. Also, some earlier versions of RealPlayer (e.g., RealPlayer 5.0) have a bug that may affect viewers who try to play embedded RealSystem G2 videos. See specifics below:
Problems Encountered With Embedded RealPlayer: Netscape 3 with a non-current version of RealPlayer G2 on Windows successfully played embedded videos, but then crashed attempting to leave the page. Netscape 4 on a Macintosh G3 with some version of RealPlayer 5 installed: Attempt to play the RealSystem G2 videos displayed the appropriate message advising the viewer to upgrade, but then either crashed or hung when leaving the page.
QuickTime 3.0 supports delivery of video, audio, MIDI, sprite animation, VR and slide show presentations. This discussion will address video for Internet delivery and how QuickTime 3.0 differs from RealVideo.
Data compression for QuickTime 3.0 is still a matter for external applications with 3rd party compression technologies, and the file sizes you can obtain are not anywhere in the ballpark with what RealVideo achieves. This is not, however, reason enough to write QuickTime 3.0 off entirely as a web delivery platform. There are some cases where QuickTime 3.0 is the ideal choice.
In order to see QuickTime 3 movies, your viewer must have the QuickTime 3.0 plug-in which can be downloaded free from Apple’s site. They have to download the entire QuickTime 3 package, of which the plug-in is just one part, and it’s a hefty 7-plus megabytes. The install is simple, though, and once installed, all of the QuickTime 3.0 capability is then available for any and all other applications, CD-ROMs and such that use the new and wonderful QuickTime 3.0 technology.
Creating a QuickTime 3 video for the Internet is basically a matter of taking a previously created video, opening it in the Professional edition of QuickTime 3.0, and saving it. QuickTime 3 structures the movie so that the plug-in can present the first frame of the embedded movie almost immediately, and then can begin playing it once some portion of it has downloaded.
This may sound similar to the way RealPlayer works, especially HTTP streamed RealVideo, but it’s not. QuickTime doesn’t have a chance of playing a whole video from start to finish after only a few seconds of preroll because the file size is far too large for that to be possible. As you’ll see in the examples at the bottom of this page, a short RealVideo clip encoded for 28.8K modem bandwidth may look decent and play uninterrupted after a 15 second wait because it weighs in at a mere 15 Kbytes. That same clip will be more like 260 Kbytes even with heavy compression for QuickTime. As the lengthy download progresses, the QuickTime plug-in plays what it can, then stops. The viewer can sit and watch the status bars that provide running feedback on the progress of the download, and periodically hit the "Play" button to see a little more of the movie, or just go get a cup of coffee and come back later to watch the whole thing interrupted.
This scenario is absolutely unacceptable for most presentations that are basically informational in nature! However, there is a place for it. In the case of an over-the-top incredible (and short) piece of video footage such as an amazing animation sequence or anything meant to be appreciated primarily for its sheer beauty, QuickTime is the way to go simply because you CAN present it in all its shining glory. The viewer gets a nearly immediate "preview", if you will, of what to expect, and can use that as the basis of a decision to wait for an experience that looks like it will be worth it the investment of time.
You could theoretically use RealVideo for this type of clip by simply offering only a version encoded at the highest quality, at compression rates targeted for highest bandwidth connections and just let people wait for it, but RealVideo is engineered for uninterrupted delivery, and that means the quality can’t possibly compare to a nice, fat QuickTime clip.
"Streaming" Video Examples
Below are links to samples of the two different modes of delivery (embedded vs. separate viewer window) with RealVideo, as well as QuickTime 3.0 for the same set of videos. All of these videos are hosted on a standard Web server and delivered with HTTP protocol.
Before you attempt to view these samples please ensure that you have the necessary versions of browser and plugin.
Example 1: Standard External RealPlayer Window
The viewer selects the video s/he wants to see and it plays in a separate RealPlayer window. This appears to be stable for browsers that support the RealPlayer G2 plugin. If you have the RealPlayerG2 plugin, give it a try.
Example 2: Embedded RealPlayer
This sample uses an embedded viewing area and separate controls for each video. WARNING: You are advised to avoid this version if you don’t have a recent version of RealPlayer G2 installed (see "Problems Encountered with Embedded RealPlayer" above).
Example 3: QuickTime 3.0
Here is the same set of videos delivered with QuickTime 3.0. This is clearly not the appropriate choice for informational videos, but there's a link to a page where QuickTime 3.0 is hands down the best choice.