About unicast streaming
Updated: October 4, 2007
Applies To: Windows Server 2008, Windows Server 2008 R2
A unicast stream is a one-to-one connection between the server and a client, which means that each client receives a distinct stream and only those clients that request the stream receive it. You can deliver content as a unicast stream from either an on-demand or a broadcast publishing point.
Unicast streaming is the default method by which a Windows Media server delivers content. Unicast streaming is automatically enabled by the WMS Unicast Data Writer plug-in, which is enabled by default.
The following figure shows an example of delivering content as a unicast stream by using an on-demand publishing point.
As shown in the figure, there is an on-demand publishing point named TV1 on the server running Windows Media Services, named Server1. This publishing point identifies the location of the content you want to stream. The content can be hosted on the local server or a network file system. You can source from a specific file, a playlist file, or a directory. In this example, the publishing point is sourcing from a playlist file that is stored locally on Server1. When you are ready for users to begin streaming, you can create an announcement to give users the URL to the content. Because the content is being delivered as a unicast stream, each player has a unique connection to Server1.
After the client has connected to the server, the content can be delivered through either UDP or TCP. The difference between these two protocols is how clients acknowledge the receipt of data packets.
If the UDP delivery method RTSPU is used, the server does not have to receive verification that a data packet was successfully received before transmitting another data packet. This method works best for streaming. If the client does not receive a packet, it can request that the server resend the missing data packet. This is known as a UDP resend request. When the server receives a request for a UDP resend, it checks its buffer to see if it still has the data available. If it does, the data is resent to the client. If it does not, the server cannot fulfill the request. The client can withstand some packet loss and can continue to render content even after an unsuccessful UDP resend request.
If a TCP delivery method is used, such as HTTP or RTSPT, the server must wait for the client to acknowledge a successful receipt of a data packet before it can send another. If the data packet is lost, the server must resend it before continuing with the data transmission. This method works best for connections between platform components, such as encoders, cache/proxy servers, and distribution servers, because it maintains the highest quality stream.
By default, Windows Media Services determines the optimum packet size for streaming based on the content. If you are streaming content over a unicast connection by using the RTSP protocol and are experiencing a high amount of packet loss or fragmentation, you may want to set a specific unicast packet size for your server by using the properties sheet of the WMS Unicast Data Writer plug-in. When determining the correct packet size for your server, consider the following:
If the packet size exceeds the capacity of the router that is forwarding it to the client, the packet is fragmented by the router, and then the fragments are sent to the client. When all of the packets are received by the client, they are reassembled into the original packet. This can result in a high amount of packet loss because the loss of any one of the fragments will result in the entire packet being lost.
Each packet sent by the server has an additional bandwidth requirement to transfer header information, such as the control protocol, stream format, and server address. Sending out a large number of small packets can result in a large increase in bandwidth use.
Each resend requires the same amount of bandwidth and time to send as the original data packet.
Different audiences can support varying packet sizes. Optimize your packet size for your target audience.
When using UDP with the RTSP protocol (RTSPU), setting the RTP packet size to too small a small value may prevent the Windows Media server from being able to stream.
Unicast streaming offers the benefits of interactivity between the Player and server, easier setup, and multiple-bit-rate streaming capability. However, the number of users that are able to receive unicast streams is limited by the bit rate of the content and the speed of the server network. A large unicast audience can quickly overwhelm a network or server. Consider using unicast streaming if:
You want to take advantage of multiple-bit-rate encoding and intelligent streaming.
Your projected audience size and content bit rate is compatible with the capabilities of your network and server.
You require a detailed client log.
Your network is not multicast-enabled.