Configuring network application services streaming media
Configuring network application services
Maximizing and managing the streaming media process
There are two ways to run media files over the network. The traditional method is to download the file and save the file on a disk. You can then double-click the media file, and Windows Media player or a similar player plays the media file. Unfortunately, this method is time consuming because you have to download the entire file before you can play it. Many of these files can be quite large, consuming large amounts of disk space. In addition, this method does not use the network bandwidth efficiently, which can also affect the performance of other network applications.
The other method is to deliver it as a stream that is delivered from a Windows Media server and assigned to a publishing point. You can then access the media through an URL of the publishing point or by creating an announcement file. Different from downloading the media file, you can play the media much more quickly than you can with downloading. Different from downloaded files, streaming uses bandwidth more efficiently because it sends data over the network only at the speed that is necessary for the client to render it properly. It also uses a buffer where the data is temporarily stored. If you have higher network bandwidth, the buffer is smaller. When the buffer is filled up, you can start playing the file before it is completely downloaded. This also enables you to deliver live content.
To use the network efficiently, Windows Media Services has to use different technology than what is available to a traditional web server. This includes using
- Multiple bit rate (MBR) streaming
- Unicast versus multicast streams
- TCP versus UDP
- HTTP versus Real-Time Streaming Protocol (RTSP)
Multiple Bits Rate Streaming (MBR)
When you play media and do not have sufficient network bandwidth, your sound and/or video sounds choppy or pauses often, has poor resolution, produces images that are not sharp, or provides audio only. For content to stream smoothly, the bit rate of the content must be lower than the bandwidth of the network connection.
Some websites may enable you to choose at which bandwidth you want to play. Of course, if you have two choices in bandwidth, you would have to create two media files or streams made for the two different bandwidths. One technology developed for streaming media is multiple bit rate (MBR) streaming, which has the same content encoded in different bit rate data streams. Therefore, a client with a lower available bit rate can request a lower bit rate stream from the server so that a steady stream can be delivered.
TCP versus UDP
The protocols that work on top of the IP protocol are TCP and UDP. TCP, which stands for Transmission Control Protocol, is a popular data delivery service. TCP is known for its reliability and convenience of transmitting data by breaking it down into smaller packets which are routed to their destination to be reassembled at the end point of this communication chain. It establishes a virtual connection between the two hosts or computers so that they can send messages back and forth for a period of time. A virtual connection appears to be always connected, but in reality it is made of many packets being sent back and forth independently. The TCP uses acknowledgements to verify that the data were received by the other host. If an acknowledgement is not sent, the data are re-sent.
Unicast versus Multicast
Another technology used in data delivery is unicast or multicast. As it's clear from the term itself, a unicast stream is a direct one-on-one connection the server has with a client. If you have five people playing the same media stream, you will have five concurrent streams delivering five sets of data packets. If you have many people connecting to a media server, unicast streaming can consume a large amount of data bandwidth. One advantage of using unicast streaming is that you can start and stop the content for each client independently. Unicast streaming is the default method by which a Windows Media Server delivers content, facilitated by the WMS Unicast Data Writer plug-in (enabled by its default setting).
Data Transfer Protocols
Because media sent over the network is broken down into data packets and sent to a host, you need to use a data transfer protocol to get the data packets delivered. The data transfer protocol determines the method for error checking, data compression, and end-of-file acknowledgements. The protocols used to stream Windows Media-based content are Hypertext Transfer Protocol (HTTP) and Real-Time Streaming Protocol (RTSP).
HTTP is the traditional protocol used on web servers using port 80 to view web pages. Because HTTP is designed to deliver packets, it can be used to stream content from an encoder to a WMS server and it can also be used to distribute media streams. One advantage of HTTP over RTSP is that HTTP supports Windows Media Player found in Windows XP and Windows Vista, as well as earlier versions of Windows Media Player. Last, because it is a well-established and commonly used protocol, it can also be used to distribute streams through a firewall. HTTP for the Media Server is disabled by default.