Windows Media Server or Web Server?

Author: David Nelson

Published on April 30, 2008 by dmnelson

Updated on May 15, 2008 by dmnelson

Average Rating  Rate It (0)

RSS

You can deliver digital media audio and video files either from a Windows Media server (a server that is running Windows Media Services) or from a Web server (a server that is running Internet Information Services (IIS)). In addition, you can deliver a live stream from a Windows Media server (but not from a Web server). Windows Media servers and Web servers use different methods to deliver digital media content to clients. Clients can receive digital media files over a network by streaming them from a Windows Media server or by downloading them from a Web server.

With the broader availability of high-bandwidth networks and changes in technology, the differences that previously favored the use of a Windows Media server over a Web server for delivering digital media content have blurred. Depending upon your business need, a Windows Media server or a Web server can both be viable options for digital media content delivery today. This article can help you decide which server type to deploy for your delivery scenario.

In this article:

About Windows Media servers

   Streaming

   Network throughput

About Web servers

   Downloading

   IIS 7.0 Media Pack

Comparing Windows Media server and Web server features

About Windows Media servers

A Windows Media server is designed specifically for streaming on-demand and live digital media. It provides high-quality streaming over a wide range of bandwidths to Windows Media Player and to Web browsers that use the Windows Media Player 9 Series ActiveX control or the Microsoft Silverlight browser plug-in. It is especially useful for streaming large amounts of data over busy, congested networks and low-bandwidth connections. Streaming uses bandwidth more efficiently than downloading because it sends data over the network only at the speed that is necessary for the client to render it correctly. This helps prevent the network from becoming overloaded and helps maintain system reliability.

Users that connect to a stream can start to play it almost immediately. If streaming on-demand content was indexed during encoding, they can use Seek functions (Fast-Forward and Rewind) on their player to jump to any part of the stream without waiting for a download to finish. Streaming prevents users from downloading files directly to their hard disk because the streaming data packets are delivered directly to the client application and discarded by the client application after they are rendered.

A Windows Media server supports delivery of a limited number of popular digital media file formats, including Windows Media Audio (WMA), Windows Media Video (WMV), and MP3. It also supports the use of JPEG files as media elements in server-side playlists or as banner graphics to be displayed in Windows Media Player.

Streaming

User Datagram Protocol (UDP) is the preferred transport protocol for streaming media. It is a fast, lightweight protocol without any retransmission or data-rate management functionality, making it an ideal protocol for transmitting real-time audio and video data, which can tolerate some lost packets. UDP also has higher priority than Transmission Control Protocol (TCP)-based HTTP for Internet traffic, giving streaming audio and video data higher priority over file and Web page transfers and increasing the likelihood of uninterrupted viewing on congested networks. A Windows Media server also uses UDP Resend, an intelligent UDP-retransmission scheme that ensures that it only retransmits lost packets that can be sent to a player in time to be played, instead of the blind retransmission scheme employed by TCP. This smart-resend feature conserves additional bandwidth on congested networks.

A Windows Media server may stream digital media by using the Real Time Streaming Protocol (RTSP) with UDP-based transport (RTSPT) to take advantage of UDP-based streaming efficiencies. On networks that don’t support UDP, the server uses a process called protocol rollover to try TCP-based streaming, first by using RTSP, and if that doesn’t work, it uses its own version of HTTP for firewalls that allow Web traffic through port 80. This enables corporate users to view Internet content without compromising firewall security and ensures that all users on all networks can access all streaming media content. For more information about the streaming protocols that are used by Windows Media Services, see Comparing HTTP Streaming Protocol with RTSP.

Network throughput

A Windows Media server sends data at the same bit rate as the content, leaving more bandwidth available for servicing concurrent client requests for content and resulting in better quality audio and video for connected clients. There is typically a delay between the time the stream is received by a player and the point at which it starts to play because the player must first buffer some data in case there are delays or gaps in the stream. This buffer allows the media to continue playing uninterrupted, even during periods of high network congestion. Because data streaming and rendering occurs almost simultaneously, streaming also enables you to deliver live content. Windows Media Services contains many additional features that are used to optimize network throughput. This section describes two of the most important: Intelligent streaming and Fast Streaming.

Intelligent streaming

The most difficult task of streaming audio and video over a network is maintaining a continuous presentation to the user in a highly changeable environment. Buffering is the biggest problem of streaming digital media. It is caused when the client runs out of data in memory (the buffer) and must wait for more to arrive. The client will always run out of data if the bit rate of the incoming stream exceeds the current available bandwidth.

Unpredictability of bandwidth is taken for granted on the Internet. The actual bandwidth at any given point is determined by network conditions and traffic, which are constantly fluctuating. To ensure a continuous presentation, Windows Media technologies use intelligent streaming, which adjusts the bit rate of the content stream to counteract changes in available bandwidth. When a client first connects to a stream, intelligent streaming ensures that the client receives content at the bit rate that is most appropriate for the current bandwidth. As the stream plays, intelligent streaming dynamically and seamlessly adjusts the bit rate of the streaming content as the available bandwidth changes.

Intelligent streaming progresses through a series of strategies to modify the bit rate of the stream so that it plays continuously on the client regardless of the current bandwidth. As bandwidth fluctuates between server and client, the server detects the changes and adopts the best strategy. The strategies are as follows:

1.  The server and client automatically determine the current available bandwidth, and then the server selects and delivers the stream with the most appropriate bit rate. This requires that the content be encoded as a multiple-bit-rate (MBR) stream.

2.  During transmission, if the bandwidth decreases, the server automatically detects the change and switches to a stream with a lower bit rate. If bandwidth improves, the server switches to a stream with a higher bit rate, but never higher than the original bit rate. The process of selecting the appropriate stream is transparent to the user.

3.  If the bandwidth can no longer support streaming video, the client and server intelligently degrade image quality to avoid buffering. This method of decreasing the bit rate to accommodate the current bandwidth is called stream thinning. The server decreases the video frame rate first. If the bit rate is still too high, the server stops sending video frames.

4. After the server stops sending video frames, it uses intelligent streaming to try to maintain a continuous audio stream. If audio quality starts to degrade, the client reconstructs parts of the stream to preserve quality.

When bandwidth is at its best, the server uses the first strategy. As conditions worsen, the server tries each strategy in the previous list of options in succession until the bit rate is optimized for the current bandwidth.

Fast Streaming

Fast Streaming refers to a group of features in Windows Media Services that improve the quality of streaming media content for the user. These features allow for a combination of streaming, downloading, and caching to provide the best user experience:

  • Fast Cache. Enables Windows Media Services to use any additional bandwidth to send additional data to the player buffer, allowing the player to better withstand network bandwidth fluctuations.
  • Fast Start. Enables the beginning part of the content to be quickly downloaded to a player at the maximum available bandwidth, reducing the time required to fill the player’s buffer requirement and the amount of time a user has to wait (also known as latency) before starting to receive the stream.
  • Fast Recovery. Enables the server to provide an uninterrupted viewing experience to users receiving content over high latency network connections, such as wireless and satellite networks, by using forward error correction to greatly reduce packet corruption and interruption.
  • Fast Reconnect. Enables the server to automatically restore client connections—including encoders, distribution servers, and players—that are lost during a broadcast because of network conditions.
  • Advanced Fast Start. Adds to Fast Start capabilities by allowing the player to start to play content as soon as its buffer receives a minimum amount of data, further reducing the amount of latency before the user starts to receive the stream.

About Web servers

A Web server is designed to host Web sites and serve the Web site pages to clients upon request. When a client requests a file from a standard Web server, all available network bandwidth is used to download the data to the client as quickly as possible. Web server deployments that serve small files to a limited number of users simultaneously require little bandwidth. But as delivery of audio and video files (which are frequently large) has increased, and as sites must serve greater numbers of simultaneous client requests, more bandwidth is required to fulfill the client requests in a timely manner.

With its built-in bandwidth-management capabilities, a Windows Media server is an ideal way to deliver digital media content to large numbers of concurrent users. However, with the broader availability of high-bandwidth networks and given the other changes in Web server technology, a Web server is increasingly becoming a practical option for digital media file delivery.

Downloading

The bandwidth-management capabilities that are present in a Windows Media server are lacking in a standard Web server. When a client requests digital media from a Web server, the Web server downloads the content to the client as fast as the network will allow without monitoring the quality of the delivery and adjusting the bit rate for the client in the way that a Windows Media server does. A client can start to play the content as soon as enough data is downloaded to its Internet cache (this is referred to as progressive downloading); however, in bandwidth-constrained systems, simultaneous requests from multiple clients can quickly saturate the available network bandwidth and clients must buffer more data to the cache before resuming playback.

Downloading also uses the available bandwidth less efficiently than streaming. Web server content delivery uses HTTP, the standard Web protocol that is used by all Web servers and Web browsers for communication between the server and the client. HTTP operates on top of the TCP transport protocol, which handles all data transfers. TCP is optimized for non-real-time applications such as file transfer and remote log-in; therefore, it maximizes data transfer rates while ensuring overall stability and high throughput for the whole network. TCP achieves reliable data transfer by re-transmitting all lost packets, but it can’t ensure that all resent packets will arrive at the client in time to be played, and so sometimes wastes bandwidth.

IIS 7.0 Media Pack

The IIS 7.0 Media Pack is designed to add Windows Media server capabilities, in the form of modules, to a Web server that is running Internet Information Services (IIS) 7.0. This section describes the media modules for IIS 7.0. Be sure to monitor the IIS Media Delivery Blog to learn more about additional modules that may be developed to enhance delivery of digital media content from Web servers.

Bit Rate Throttling

If you are concerned about the overall bandwidth limitations of your Web server system, instead of switching your network computers to a new streaming distribution system, you may be able to use the Bit Rate Throttling module for IIS 7.0, which offers some of the bandwidth-management and client-connection capabilities used by Windows Media Services. You can configure Bit Rate Throttling to send an initial burst of data to a client’s cache (similar to the Fast Start capability of Windows Media Services that reduces latency) so that the client application can start to play the file by using progressive download, and then configure the rate at which the remaining data is downloaded to the client. Typically, this throttle rate is slightly greater than the encoded bit rate of the file, so that the client renders the throttled data as it is downloaded (similar to a streaming experience). When multiple clients request data from the Web server, they consume the data at the throttled rate, instead of all at once. This frees additional bandwidth for servicing additional client requests.

On standard Web server networks that have lots of available bandwidth, a complete file can be downloaded to a user’s Internet cache in just a few seconds, provided it isn’t exceptionally large, and content providers can incur costs related to unused bandwidth if users stop playing the downloaded file after a short time. By throttling the content download rate so that clients receive just enough content to render it, content providers don’t incur costs related to the bandwidth that is wasted in the unviewed parts of downloaded files.

The Bit Rate Throttling module offers advanced settings that allow you more control of the cumulative network throughput from your Web server. For example, you can specify global default and maximum throttle rates for all digital media files (regardless of their encoded bit rates) and specify a total bit rate throughput limit for a site so that the available bandwidth is dynamically allocated to connected clients. The Bit Rate Throttling module also offers a useful secondary feature that throttles data file types at specified bit rates.

For more information, see Readme for IS7 Media Pack - Bit Rate Throttling Module.

Web Playlists

The new Web Playlists module for IIS 7.0 offers some of the capability provided by server-side playlists in Windows Media Services. This module allows you to create a list of media content items, in such a way that playback of the content items on client computers is controlled by the Web server. For example, this feature allows you to insert advertisements in a list of media content items so that users must play them before they continue to the next item in the list. Additional constraints can be added to individual media items in the playlist, such as the ability to prevent seeking through an item, skipping to the next item in the list (or allowing skip-forward only after a specified percentage of the currently playing item is played), or skipping back to the beginning of the currently playing item.

Instead of switching your Web server network computers to a new streaming distribution system so that you can start to collect advertising revenue, this module lets you to insert preroll, interstitial, and trailer advertisements, either from the local computer or from remote advertising servers, in a playlist that is delivered to clients from your Web server.

The Web Playlist module includes these key features:

  • Support for all digital media files types. Any digital media file type that can be downloaded from a Web server can be added to a Web playlist by using this module.
  • Works with most media players. Web playlists (files that have .isx file name extensions) on the Web server are delivered to players as client-side playlists (files that have .asx file name extensions). Any client application that supports playback of .asx files, including the Silverlight browser plug-in, Windows Media Player, and Adobe Flash Player, can render the content.
  • Session settings. You can specify a maximum number of clients that can connect to the playlist and the amount of content that must be watched before allowing a user to skip to the next playlist item.
  • Session persistence. You can use ASP.NET session persistence to deliver personalized advertising and content and specify how long the content referenced by a playlist is available.
  • Asset protection. You can add media items that are protected by user credentials to the playlist. In addition, media items are referenced by tokenized URLs in the playlist, protecting your media assets from unauthorized access.
  • Client-side playlist import. You can quickly convert your client-side playlists to Web playlists.

For more information, see Readme for IS7 Media Pack - Web Playlists Module.

Comparing Windows Media server and Web server features

A Windows Media server is designed to handle the special requirements of streaming and administering Windows Media-based content. However, a Web server can be a practical option for delivering digital media content, especially by installing modules for IIS 7.0 Media Pack that bring Windows Media server capabilities to the Web server.

Windows Media Services 2008 and IIS 7.0 have additional features that are not described in this article that might affect your choice for delivering digital media. For example, Windows Media Services is the only server role that can be used for multicast delivery of content on enterprise networks. Before you make a final decision about which server role to deploy to facilitate your business model, review the features for each server role in the following table.

Windows Server 2008 Feature

Windows Media Services 2008

Internet Information Services 7.0

Optimized for delivering Windows Media-based content

X

X

Delivers a broad range of digital media file formats

 

X

Delivers content through most firewalls

X

X

Broadcasts live content