Using the Streaming Media Protocols

Applies To: Windows Server 2008, Windows Server 2008 R2

Windows Media Services 2008 uses the following protocols to deliver content as a unicast stream to clients:

  • Real Time Streaming Protocol (RTSP)

  • Hypertext Transfer Protocol (HTTP)

These protocols support client control actions such as stopping, pausing, rewinding, and fast-forwarding indexed Windows Media files.

Using RTSP

RTSP is an application-layer protocol that was created specifically to provide controlled delivery of real-time data, such as audio and video content. You can use RTSP to stream content to computers running Windows Media Player 9 Series or later, to clients that use the Windows Media Player 9 Series ActiveX® control, or to other computers running Windows Media Services 9 Series or later. RTSP works in tandem with Real-Time Transport Protocol (RTP) to format packets of multimedia content and negotiate the most efficient transport-layer protocol, either User Datagram Protocol (UDP) or Transmission Control Protocol (TCP), to use when delivering the stream to clients. You can implement RTSP through the WMS RTSP Server Control Protocol plug-in in Windows Media Services Administrator. This plug-in is enabled by default.

Using HTTP

If ports on your firewall cannot be opened, Windows Media Services can stream content by using HTTP over port 80. HTTP can be used to deliver streams to all Windows Media Player versions. You can implement HTTP through the WMS HTTP Server Control Protocol plug-in in Windows Media Services Administrator. This plug-in is not enabled by default. If another service, such as Internet Information Services (IIS), is using port 80 on the same IP address, you cannot enable the plug-in. For more information about HTTP streaming concurrently with other services, see Using HTTP for Streaming and Downloading from the Same Computer.

HTTP can also be used to do the following:

  • Distribute streams between Windows Media servers.

  • Source content from an encoder.

  • Download dynamically generated playlists from a Web server.

Data source plug-ins must be configured in Windows Media Services Administrator to support these additional HTTP streaming scenarios.

About Protocol Rollover

If clients that support RTSP connect to a Windows Media server using an RTSP URL moniker (for example, rtsp://) or an MMS URL moniker (for example, mms://), the server uses protocol rollover to stream the content to the client to provide an optimal streaming experience. Automatic protocol rollover from RTSP/MMS to RTSP with UDP-based or TCP-based transports (RTSPU or RTSPT), or even HTTP (if the WMS HTTP Server Control Protocol plug-in is enabled) may occur as the server tries to negotiate the best protocol and provide an optimal streaming experience for the client.

Earlier versions of Windows Media Player, such as Windows Media Player for Windows XP, do not support the RTSP protocol. When these players attempt to connect to a Windows Media server using an MMS URL moniker, automatic protocol rollover from MMS to HTTP occurs, if the WMS HTTP Server Control Protocol plug-in is enabled on the server.

To make sure that your content is available to all clients that connect to your server, ports on your firewall must be opened for all of the connection protocols that might be used during protocol rollover. For more information, see Allocating Ports for Windows Media Services.

You can force your Windows Media server to use a specific protocol by identifying the protocol to be used in the announcement file (for example, rtspu:// server/publishing_point/file). However, to provide an optimal streaming experience for all client versions, we recommend that the URL use the general MMS protocol. If clients connect to your stream using a URL with an MMS URL moniker, any necessary protocol rollover occurs automatically. Be aware that users can disable streaming protocols in the property settings of Windows Media Player. If a user disables a protocol, it is skipped during rollover. For example, if HTTP is disabled, then URLs will not roll over to HTTP. For more information, see Windows Media protocol reference.