Make the most of NT technology to transmit your video effectively over the Internet

Video and the Internet are a winning combination. Video is unsurpassed as a vehicle of display or demonstration, and it can make the displayed object or process feel alive, vibrant, and present. Anyone who can go online can watch a video on the Internet without traveling or waiting in line. With an Internet video, you can teach your employees or clients how to use your product, for instance, and they can watch a video at their leisure, without leaving their computer stations. Video on the Internet is an exciting development.

Why Internet Video?
The Internet is the perfect medium for up-to-the-minute information. You can present the same information on CD-ROM or videotape, but you face the necessity of promoting, distributing, and delivering the product. Information presented on Internet video, however, is universally available as soon as you create the video. Internet distribution lets you protect sensitive information: You can password-protect your site and code your video so that viewers can't save it to a disk. Anyone can watch your Internet video anywhere, anytime, and with any computer system.

This situation sounds ideal, and it certainly comes close to being ideal, but you face challenges when you produce Internet videos. You need to know about factors that present difficulties throughout the creation process, and about how NT addresses these factors. I'll show you how to adjust a video file so that it will travel across the Internet effectively. Along the way, I'll define several terms and practices of the Internet video trade, and the sidebar "Internet Video Terms" (page 198) provides additional definitions.

Begin with the End in Mind
The adage that you need to begin with the end in mind has never been truer than it is for Internet video. If you don't know what level of audio and visual quality your video requires, you can't make the decisions that are necessary to achieve that quality. And the principle of garbage in, garbage out means that adding quality to your Internet video entails adding cost. So your first challenge is balancing your desire for quality with the need to manage costs.

Every videographer must ask, "How good is good enough?" For example, if your videotape is primarily for TV viewing through a VCR, its picture quality must be higher than it has to be if you intend to send the same video across the Internet. If you want to release your video in different formats (e.g., videotape, CD-ROM, and Internet video), the quality of the base product will have to be the best possible in order to translate successfully and uniformly to other formats. The constraints of the format you choose will force you to make decisions about quality and will either enhance or limit your production options.

Video on the Internet is a challenging format. Most of the challenge relates to bandwidth. Because the Internet experiences frequent traffic congestion, you'll only add to the overall problem if you send too much data. The solution is to send as little data as possible, yet maintain the production quality of your video.

Three things matter the most in the production quality of an Internet video: frame rate, compression routines, and playback size. One frame of video at 176 * 144 resolution contains 25,344 pixels that must be transferred across the Internet, be processed by the receiving computer, and then be transferred through the video card before the monitor can display the image. A 320 * 240 frame has 76,800 pixels, more than three times as many pixels as the 176 * 144 frame. If you want your video to display optimally for the viewer, then depending on bandwidth constraints, you must either lower the frame and bit rates, use powerful compression routines, limit the size of the playback (i.e., go with 176 * 144 resolution instead of 320 * 240 resolution), or do all three. This balancing act can be difficult when the quality of your video is at stake. (Table 1, page 199, provides some tips to help you improve the quality of your Internet videos.)

Frame Rate and Bit Rate:
The Building Blocks of Video Production

The most basic way to deal with the bandwidth challenge is to manipulate the frame rate of your video. You measure video frame rate in number of frames per second (fps). Television in the United States, Canada, and Japan is NTSC standard and runs at 30fps. Television in the rest of the world uses PAL and runs at 25fps. On the desktop, frame rates as high as 25fps or 30fps aren't feasible because they use too much bandwidth and require excessive processing by the receiving computer. Therefore, most video on the Internet is between 2fps and 15fps. On a standard computer monitor, viewers perceive little difference in picture quality between 15fps and 30fps, so 15fps is usually the maximum used for Internet video. For head-and-shoulders (talking heads) shots, 10fps works well, but sometimes a computer has difficulty processing 10fps on the desktop and might drop frames erratically. Video at 5fps resembles dubbed movies in which an actor's lips don't move in sync with the sound. Video at 2fps is like a slide show.

Internet videographers routinely split total available bandwidth between the video and audio portions of a video production. The rule of thumb is that audio is more important than video, so experienced videographers generally give the highest bandwidth priority to audio. In fact, for audio, videographers sometimes reduce frame rate if bandwidth is insufficient (because of connection constraints or other limitations) to maintain the necessary data transfer rate. For example, I had a client who wanted to demonstrate his handmade violins on the Internet. To preserve enough bandwidth for CD-quality sound, I used 2fps in the video I produced for him.

Bit rate, the speed at which binary coded data transmits, determines how well your video transfers through viewers' modems to their monitors. If the modem connection is fast, it will transmit a video with either high or low bit rates. But a slow connection can't transfer all the data from a high-bit-rate video, and the quality of the playback will therefore be erratic. To maximize quality objectives, Internet videographers must adjust their video productions' bit rates in combination with the frame rates. (I'll show you how this adjustment works shortly.)

Codec Is Key
The need to compress your Internet video before you transmit it is a significant challenge, especially when you consider that a 500MB video file contains only about 45 seconds of uncompressed video. Here is where a powerful codec can save the day. Codec is short for compressor/decompressor. A codec is a compression algorithm packaged for use in a specific platform and file format. The most powerful codec I've heard about can generate a compression ratio of 1000:1 (RealNetworks, formerly Progressive Networks, developed this codec). The codec compresses digital data when it finds repeatable patterns in the binary code and replaces those patterns with a code that is much smaller than the original patterns. If a video has a lot of movement, the binary code has fewer repeatable patterns, and therefore the codec can't compress the video to as great a degree as it can a video with less movement.

Streaming Toward the Desktop
The Internet videographer's final challenge occurs when a viewer downloads the video at the desktop. Most video files on the Internet are AVI (Video for Windows) or MOV (QuickTime) files. Because video files are large, downloading even a short file with a 28.8Kbps modem can take as long as 20 to 30 minutes.

Enter streaming video. Streaming video is a one-way transmission over a data network that lets users begin to access a video file before it is transmitted in its entirety. A streaming video file will buffer a few seconds of data on the receiving computer's hard disk, then download only the data that is necessary for the viewing software to immediately display the file contents. As soon as the data has finished playing, the video software discards it, so a user can't capture any part of a streaming video on disk. This feature is important if you are concerned about unauthorized use of your video content.

To view streaming video, users must have the appropriate software. A good source of streaming video technology is RealNetworks. Internet Explorer (IE) 3.0 includes RealNetworks' RealAudio player, and you can download a free copy of the RealPlayer video player from the RealNetworks Web site (http://www.real.com). RealPlayer lets you open a video file, takes a few seconds to buffer the file, and then displays the video data on your screen in a near-realtime process. Internet Explorer (IE) 4.0 includes RealPlayer and requires no additional downloads.

If you provide streaming video content, you must have a streaming video server that can manage and send video streams. A multiple-stream server can transmit video data through each stream independently. For example, 20 viewers can watch a scheduled video broadcast simultaneously through a 20-stream server, and the same server will let 20 viewers watch 20 different videos on demand. The more viewers you want to reach, the more powerful your server must be (for more information about bandwidth usage, see the sidebar "Unicasting and Multicasting," page 200). Microsoft includes a 30-stream server, NetShow Server, in its NetShow 2.0. You can download a free copy of NetShow from Microsoft's Web site (http://www.microsoft.com). You can download a 60-stream server from RealNetworks' Web site.

Where Does Windows NT Fit?
Many people say that available bandwidth determines Internet video performance. This claim is not completely true. Certainly, if you want to watch video in near realtime, your computer processor must be fairly powerful--and the larger the picture and the higher the video file's frame rate, the more powerful your processor must be. But aside from this basic hardware consideration, your operating system also significantly affects received video performance and quality.

On the server side, NT affects the efficacy of streaming video in two ways. First, NT's capability for fast data transfer ensures prompt and effective transmission. When traffic is low on a server, the operating system doesn't significantly affect performance. But when the traffic levels increase (e.g., in serving 500 simultaneous streams), NT offers a distinct performance advantage. Second, NT offers superior performance in client/server-based applications. For example, the client component RealPlayer communicates directly with server software, and the server performs certain preprocessing functions, such as negotiating bandwidth and monitoring, that accelerate data transmission.

On the client side, NT offers better video performance than other operating systems do, because it can process threads simultaneously. If you watch the same video on an NT system and a Windows 95 system using identical hardware, the video performance is better on NT. The superior performance is possible because NT simultaneously manages the bandwidth negotiation (by communicating with the server, which preprocesses bandwidth), the overhead associated with the Internet connection, and the data flow into the computer.

Putting It All Together
So how do you send a video effectively across the Internet? First, you must determine what systems viewers will use to watch your video. If you know that everyone who will watch your clip is running a P166 or better computer and is connected to the Internet through a T1 line, you have tremendous flexibility in preparing the video. You can set the video to 15fps and a 106 bit rate, and your video will display smoothly, with rich sound, resolution, and color. However, if you're living in the real world and must prepare a video that anyone can watch, even someone with a 486 or slow Pentium and a 28.8Kbps modem, you must reduce the frame and bit rates. But keep in mind that whatever system a viewer uses, if the Internet connection is congested and the data transfer rate drops below your video's bit rate, the quality of the video will degrade and the picture will become choppy.

Table 2, page 199, shows the maximum bit rate you can achieve with various Internet connection methods. (You cannot use all the available bandwidth; reserve about 6Kbps to 7Kbps of bandwidth as overhead to maintain the Internet connection.) If the client connection is fast, it can play the video at a lower bit rate. However, if a viewer tries to watch a high-bit-rate video with a slow connection, not all the data will be transferred, and the video quality will suffer. It's best to assume that a viewer's connection will be slower rather than faster.

After you determine optimum bit rate, you must split the total bit rate between video and audio. (Table 3, page 199, shows requirements you can consider when distributing bit rates.) Remember that to enhance video, you must use a higher bit rate than you use to enhance audio. Remember also the videographer's rule of thumb: Audio is more important than video. For example, say you decide that the optimum bit rate for your video is 112Kbps, but you want to preserve sound quality. For high-quality sound, you allocate 16Kbps for the audio portion of the video. Thus, you have 96Kbps for the video portion.

After you target a total bit rate and decide how to allocate the bit rate to audio and video, you need to encode the file. Encoding will prepare the file to transmit across the Internet. You can use encoding software to encode a file (both RealNetworks' RealPlayer and Microsoft's NetShow Player have encoder components). Open the encoding software and set the total bit rate and the portion of the bit rate you've allocated to the video. Then, let your encoder automatically choose a frame rate that will optimize picture quality. If you prefer, you can specify a frame rate for the encoder to use, and it will balance the frame rate you've set with bit rates to produce the best possible picture.

Next, use the encoder to load the AVI or MOV file. The encoder will create an Internet video file of the same screen size as the current AVI or MOV file. Alternatively, you can use the encoder's cropping function to crop the video file. (You can crop a video file, but you can't stretch or shrink it to another screen size.)

The final step in preparing your video is to compress it. To achieve optimum quality, work with uncompressed video data in production and encoding--compress only once, after you've produced, encoded, and loaded the file. If you compress a previously compressed video file, you will lose video and possibly some audio quality. The encoder uses a compression routine, or codec, for the final compression, transforming a file that might be 3MB to 5MB in size so that it will transmit across viewers' modems. Remember that the more you compress a video, the poorer its playback quality will be. The impressive compression rate of 1000:1, which might be necessary to compress a video file enough to stream across a 28.8Kbps modem, compromises video quality.

After you've encoded and compressed the file, you can serve it in several ways. If you want to offer a video on an on-demand basis, you can put it on your server as a file and let viewers access it through the HTTP functions in their video players. With this setup, your video's performance will be adequate but not optimal. If you want your videos to perform optimally, you need streaming server software. And if you plan to broadcast a lot of live video sessions, you need a server with more simultaneous streams than you would require for on-demand sessions (see the sidebar "Want to Go Live?").

Gazing into the Crystal Ball
RealNetworks, which holds more than 95 percent of the streaming-media market share, has agreed to work with Microsoft. What this partnership means in the short term is that IE 4.0 will contain RealPlayer, so you won't have to download it separately to watch streaming video. Over the long term, RealNetworks will help Microsoft develop Active Streaming Format, which will standardize streaming video over the Internet. The Active Streaming Format standard will reduce the number of video file formats currently in the marketplace and make it easier for everyone to watch video on the Internet. As a first step toward this standardization, RealNetworks states that it will support the DirectDraw and DirectShow APIs, which will replace the AVI format.

Watch It
The best way to learn about video on the Internet is to watch some. RealNetworks' Web site has links to sites where you can watch streaming video clips over the Internet. One of the best Web sites to visit for a listing of events (a sort of Internet TV Guide) is http://www.timecast.com, which offers an extensive listing of both live and on-demand Internet video programs.