Multimedia places high demands on the network, the computer, and the user. The challenge thus lies in preparing files that are small enough to be accessible to the broadest possible audience yet are of sufficient quality to be worth the effort. To balance quality against accessibility you’ll need to understand both the characteristics of different media formats and the limitations of delivering media in a networked environment, and you must be ready to compromise.
In preparing media for web delivery, you should aim for files that can be managed by the average network connection and desktop machine of your target audience. The key measure is the data rate, normally measured in kilobytes per second (kbps), which is the amount of data used to represent one second of movie playback. For users to play your files in real time without hiccups or delays, you need to set a data transmission rate that is slightly lower than the throughput of your users’ connections. The way to reduce data rate is through downsampling and compression.
Audio and video generally comes with certain established characteristics. For example, cd-quality audio is sampled at 44.1 kiloHertz (khz), 16-bit stereo sound, and standard ntsc video is 640 × 480 pixels in dimension and plays at 30 frames per second (fps). However, full resolution audio and video requires enormous amounts of disk storage and is far too large to be used on a network. One way to prepare media for network delivery is to reduce the data by, for example, downsampling the audio material to 11.025 khz, 8-bit mono sound or reducing the frame rate to 15 fps. This reduces file size as well as quality.
Compression first eliminates redundant data from a file and then removes less important data to shrink file size still further. This process is achieved using algorithms, or “codecs” (short for compressors-decompressors), that handle the media compression and the decompression when it is played. The codecs that are used for web delivery use lossy compression: the process removes data from the original source material. You should never compress material multiple times, because each process will lower the quality.
The technology of networked media consists of four main components: the server, the network, the client computer, and the web browser and browser plug-ins in use. These components must work in tandem to deliver good web multimedia to the desktop. The bandwidth available between you and the viewer is the least predictable part of the equation. If your media files are served from a high-end media server, you can expect a high level of performance. You can predict playback performance on desktop machines. But unless you are working with a dedicated network, bandwidth will be hugely variable and difficult to predict in all possible conditions across the Internet. Issues regarding bandwidth run from the basic configuration of your connection to the network to the amount of network traffic at any given time.
Given these variables, the parameters for creating and delivering web multimedia are not easily defined. They will vary depending on the scope and content of your project. If you are creating a web site for a corporate intranet, for example, your media can be more technologically demanding than if you send it worldwide over the Internet. The key is to be well acquainted with the configuration of your client base, study your web server logs so that you know what your typical user’s connection speed is, and prepare your multimedia content accordingly.
Streaming technology sends data to the desktop continuously but does not download the entire file. In the optimal scenario, the content is stored on a streaming media server, which maintains a constant conversation with the client to determine how much data the user can support. Based on this information, the server adjusts the data stream accordingly and sends just enough data to the client.
Streaming offers many benefits, the first of which is random access. Streaming technology permits movies to be viewed at any point in the video stream. If your user is accessing an hour’s worth of video and wishes to view only the last five minutes, he or she can use the controls to move forward to the desired starting point. Another benefit is a lower storage demand on the client machine. Streaming media plays directly to the display; it is not stored in memory or on the user’s hard drive.
The strengths of streaming are also its shortcomings. To play a movie in real time the player software needs to keep up with the incoming data sent from the server. As a result, if there are glitches in the network or if the client machine cannot handle playback, the media data may simply be lost. Streaming playback requires significant processing power, so playback may be suboptimal if the viewer’s computer processor has to drop video frames to keep pace with the incoming stream.
Downloadable media is stored on the client machine in memory or on the viewer’s hard drive. Most downloadable media is progressive, which means that the information necessary for playback is stored at the beginning of the file. Progressive download allows the viewer to start watching the video before the entire file has downloaded. Downloadable media is sent to the client using the same http protocol as a web page, so no special server is required. As long as the download speed stays above the data rate of the movie, playback will be uninterrupted.
The quality of downloadable media is generally higher than that of streaming media. Because the data rate is not forced to remain low enough to play the material in real time, more data can be devoted to image quality and motion. Downloadable media also has integrity: all the data in the original movie is contained in the downloaded version.
The main drawback of downloadable media is the storage demand it places on the viewer’s computer. Even videos of short duration require many megabytes of temporary storage, which may be a problem if the viewer has a nearly full hard disk. The other problem is that downloadable media does not allow random access. If you want to view only the last few minutes of a long clip you must wait for the entire clip to download. One solution to both problems is to split longer media segments into smaller chunks. This reduces the demands on the client machine and allows users more direct access to the material they want. Splitting longer video segments is much like chunking text content: web users are not expecting to sit through long video programs like television viewers. Most web videos are short, to-the-point segments on a tightly focused topic.