Key Concepts in Windows Media Technologies
Summary: This article explains some basic concepts of digital media delivery over a network, and contains information about capturing, distributing, playing, downloading, streaming, compressing, encoding Windows Media content. (6 printed pages)
To put together a solution for delivering digital media on a network, you first need to understand some basic concepts. It is easy to deal with one box that does everything with the push of a button, like a TV. However, to understand digital media delivery on a network, you need to have an understanding of a system that is bigger than one box.
A network digital media system, like the type you can put together with Microsoft® Windows Media™ Technologies, involves several boxes and a lot of cable. It also involves integration with other components, like network hardware and video capture cards. To understand all there is to know about network multimedia, you would need to be an expert in producing audio and video content, computer software development, networking, Web scripting and design, and business plans, among other things.
Fortunately, you don't have to know everything to start using Windows Media Technologies to deliver digital media over a network. If you know how to produce audio and video content, know how to use a computer, and have general knowledge of network multimedia concepts, you can get started. From there, you can expand your knowledge and explore the possibilities.
This part of the Introduction to Windows Media Technologies explains some basic concepts of digital media delivery over a network, and contains the following sections:
- Getting from Here to There. The process of delivering digital media over a network.
- Downloading. A method of delivering digital media over a network in which users copy files.
- Streaming. A method of digital media delivery in which audio and video content is delivered to users, but files are not copied.
- Compressing. Making digital media small enough to fit through the network.
- Encoding. Putting digital media in the correct format to be streamed.
From a high-level viewpoint, the basic process of getting content from here to there follows this sequence:
To help you understand the process, let's say you want to make a movie on VHS tape available for streaming on the Internet.
The first thing you do is capture the movie to a file on your computer. This process is called digitizing or capturing. You convert your analog audio and video to a digital form that can be saved as a file.
To capture from a VHS tape, you plug the video and audio outputs from your VCR into a video capture card on your computer. You then use a capture program to digitize the analog signal. Many capture cards include a simple capture program. Most of these save the digitized media as an AVI file, which is a standard Microsoft video file format. After the video is saved as an AVI file, you use Microsoft Windows Media Encoder to convert it into a Windows Media file that can be streamed. You can also capture directly to a Windows Media file by using Windows Media Encoder.
Figure 1. The process of capturing and converting audio and video
When you capture audio and video to your computer, it is no longer sound and pictures. It is data. Analog information from your VCR is converted into a digital stream of zeros and ones, or bits. It helps to think of bits as a long series of instructions. The bits aren't the audio or video itself, but rather a series of instructions for how to recreate the audio or video in analog form.
With your movie digitized to a file on your computer, you can distribute it just as you would any other data. For example, you can make copies on floppy disks, CD-ROMs, or other storage media, and then send them in the mail to your audience. You can also distribute the data over a network, such as the Internet.
A network is created when two or more computers are linked so that data can be exchanged between them. Corporate intranets can consist of hundreds or thousands of networked computers; the Internet consists of millions.
There are two types of computers on a network:
A client requests data from a server, and a server handles the request and sends the data back. One of the advantages of Microsoft Windows® operating systems is that a computer can be either a client or server depending on what a user wants to do. For example, a computer can be used to copy files from another computer, and another computer can be used to copy files from the first computer.
There are, however, special computers used on networks that have server operating systems, and they are configured for and capable of handling large numbers of client requests. A computer running Microsoft Internet Information Services (IIS) on Microsoft Windows 2000 Server can be configured as a Web server for distributing Web pages, images, and other files to thousands of clients on the Internet or an intranet. The server can also run Windows Media Services for delivering streaming media.
Digital media can be delivered to clients over a network using one of two methods:
The Windows Media file format is optimized for streaming, but the files can be downloaded as well. The best way to stream Windows Media files is by hosting them on a server running Windows Media Services.
After encoding your digital media to a Windows Media file, you host a file by copying or publishing the file to a location on the server. This location is called a publishing point. When a request is received from a client, Windows Media Services accesses the digital media from this publishing point. Then, assuming the server computer has a high-speed connection to an ISP and is properly registered on the Internet, users can play the digital media.
The final step is accessing and then converting the bits—the digital instructions—back to analog form so the movie can be viewed. An end user does this with Windows Media Player. A digital media file can be opened and played directly if it is on the end user's computer or another computer connected through a LAN (Local Area Network). An end user can also play Windows Media files by streaming them from a Windows Media server. This is done by entering the URL (Uniform Resource Locator) of the digital media in the player.
The URL for accessing Windows Media files and streams from a Windows Media server is similar to the URL for accessing Web pages from a Web server. The main difference is the protocol used. An end user opens a Web page with a URL such as http://WebServer/default.htm. An end user opens a movie on your Windows Media server by entering a URL using the Windows Media protocol, such as mms://WMServer/MyMovie.wmv.
End users can open a Windows Media file by entering a URL in Windows Media Player, but typically, the digital media is accessed from a link on a Web page. For example, an end user can come to a page for a radio station, read the information on the page, and then click a link to some Windows Media-based content. When the user clicks the link, Windows Media Player opens and initiates a connection to the file on the server. After the connection is established, the digital media starts to play.
There are three main ways to incorporate Windows Media in your Web design. You can put a simple link on a page that opens Windows Media Player outside the browser and initiates the connection between the player and the digital media. This design enables the end user to continue to surf with the browser while listening to the stream. Another method is to embed the player in your Web page using OBJECT tags in your HTML. This method enables you to integrate the design of the player with that of your page. The third method uses a simple link but opens the digital media in the Windows Media Player radio toolbar that is built into Microsoft Internet Explorer 5.
The complete Windows Media system involves capturing, encoding, distributing, and playing digital media. In the following sections, we take a closer look at downloading and streaming, and what happens during the encoding process.
When you download a file, you copy the file from one computer to another over a network. This is similar to copying a file locally from a floppy disk to your hard disk drive.
When you want to play content that is available for downloading, you click a hyperlink on a Web page that points to a file on a Web server. Your browser initiates the process of copying the file from the server. After the file has been copied to your hard disk drive, you can open and play it by using software such as Windows Media Player.
Downloading files takes time because you have to wait for all of the data to be copied from the server to your hard disk drive before you can play the file. Copying time is directly related to the available bandwidth of the network and the communication speed of your modem (or NIC). Network bandwidth can be compared to a water pipe. If you connect to the Internet by using a modem and telephone line, the size of your pipe is very narrow—only a limited quantity of data can get through in a given amount of time. A file is like a tank of water. A very large tank of water takes a long time to go through a small pipe. A large file can take several minutes to download over the Internet. However, it may only take a few seconds to copy locally from a CD-ROM to your hard drive, for example, because the bandwidth is much higher.
Figure 2. Bandwidth available with a slow Internet connection versus a local transfer
When a user plays digital media, Windows Media Player uses the instructions contained in the bits to recreate the original sounds and pictures. The more instructions you have, the better the rendition, and the higher the quality; the more bits, the bigger the file, and the longer the download time.
What if you could skip the download process and simply play the data as it is being received by your computer? Instead of waiting for the bits to be copied, they would be converted and played as soon as they arrive. This is the concept of streaming. The bits are played as they are being received from a server on a network and are usually not saved on your hard disk drive.
With streaming media, you get instant gratification—there is no download wait. Streaming an audio or video file is like playing a CD or tape. You have all the same playback controls, like play, pause, stop, and rewind. The only thing you don't have is the physical media. That is, the tape or CD. You can choose what you want to listen to and when you listen to it.
Streaming also enables you to do live broadcasting, just like a radio or television station, except over the Internet. You can eliminate the need for files altogether. Windows Media Encoder sends the bits it creates directly over a network to a player, instead of to a file.
For streaming to work, the bit rate of the media must be lower than the bandwidth of the network. Bit rate is the speed at which data is sent across the network. Returning to the plumbing metaphor, if bandwidth is the size of the pipe, the bit rate is the amount of water—or data per second—that can travel through the pipe. Because you are playing the digital media as it is being received, if the network bandwidth is lower than the bit rate of the media, the media will not play properly.
If you download a still image over a slow connection, the image quality will not be affected. It will just take longer for all the bits to get to your computer. The still image itself does not have a bit rate. On the other hand, streaming media does have a bit rate. As long as the content is playing in Windows Media Player, the bits are streaming at a steady and continuous rate. The player must receive a stream of bits continuously or the picture and sound will either stop or will play back unevenly. Think of it this way: when you encode a file for downloading, file size is important and bit rate is irrelevant. When you encode a file for streaming, file size is irrelevant and bit rate is important. You can easily stream a very large file, even one that has an undetermined size (such as a live stream), as long as the bit rate is within a client's bandwidth.
The bit rate of high-resolution, full-frame, broadcast video is about 128 megabits per second (Mbps). To download one second of broadcast video over a 28.8 kilobit per second (Kbps) connection using a modem would take one hour and 14 minutes. Streaming this type of video would be impossible over a network. To recreate every detail of a video frame would require so many instructions that most computers couldn't even play the video. It would also require a huge amount of storage space for the file. Windows Media Technologies handles this problem by using compression. Compression lowers the bit rate while maintaining the best possible quality.
A compression algorithm analyzes the data and removes or changes bits so that the integrity of the original content is maintained as much as possible, while reducing the file size and bit rate. Windows Media Encoder compresses the data when you create a Windows Media file, and Windows Media Player decompresses the data when you play it.
There are two types of compression: lossless and lossy. As the names suggest, with lossless compression, data can be compressed and decompressed, and the decompressed data matches the original data exactly. With lossy compression, data is lost during the compression process and cannot be recovered during decompression. The amount of data lost depends on the quality of the compression algorithm and the amount of compression applied to the data. To achieve the low bit rates necessary to stream audio and video over the Internet, streaming media compression and decompression algorithms (called codecs) are lossy.
Windows Media Technologies has been engineered to get the highest quality possible at a number of bandwidths and to automatically adjust the stream to accommodate unevenness in available Internet bandwidth. When you select a quality option in Windows Movie Maker or Windows Media Encoder, the digital content is compressed so that it does not exceed a given bandwidth. Therefore, you can create content with a bit rate of 20 Kbps, for example, that will play correctly on a computer that is receiving the movie over a 28.8 Kbps connection. You can also create a movie at 384 Kbps that will stream over a high-speed connection, also known as a broadband connection, such as when using ISDN, DSL, or a cable modem. A consequence of reducing the bit rate is a reduction in file size. A file that has been encoded for streaming may also be suitable for downloading or copying to a disk.
The Windows Media Audio and Windows Media Video codecs are used to compress your digital content. Aside from enabling high-quality playback of audio and video, they are designed to help the stream withstand highly variable bandwidth conditions. For example, when data is lost in transmission, the video codec attempts to fill in the missing parts of the frame. The audio codec enables you to get very good audio quality at relatively low bit rates. For example, you can get close to CD-quality audio at a small fraction of the bit rate and file size of uncompressed CD audio. A standard CD can hold a little over an hour of music. If you compress the music with the Windows Media Audio codec, you could have near CD-quality playback and fit 10 or more hours of music on one CD.
When Windows Media Encoder converts a file or captured audio and video, it first compresses the data, and then encodes it with the Windows Media Format. After digital media has been compressed and encoded, it can be saved as a Windows Media file. If the digital media is a live broadcast, the media is delivered in real-time to a Windows Media server, from which it is streamed to players that are connected to the server.
To continue with this introduction, go to Building a Windows Media Solution.