Sourcing from an encoder

When an encoder is providing a stream for a broadcast, it can either push the stream to the server or the server can pull it from the encoder. When pushing a stream, the encoder initiates the connection with the server; on the other hand, when pulling the stream from the encoder, the server initiates the connection. The decision whether to push or pull depends upon your situation.

Pushing the stream from the encoder is useful if the encoder is behind a firewall or if the encoder administrator needs to be in control of the broadcast.

Pulling the stream from the encoder is useful in several scenarios. First, if there are multiple distribution servers, all connecting at different times, each server can initiate the connection when it is ready to stream. In addition, pulling a stream from an encoder is useful if you need to minimize bandwidth usage between the server and encoder. For example, the server administrator can add a publishing point and configure it to start automatically, which means that the server does not initiate the connection with the encoder until the first client connects. This eliminates unnecessary bandwidth use between the server and the encoder. Pulling from the encoder is also useful when the server is behind a firewall.

Whether you decide to use push or pull to receive the stream from the encoder, the following rules apply:

  • Encoder streams are broadcast content. When the encoder pushes a stream through the server it must use a broadcast publishing point. If you are pulling the stream from an encoder you can use either an on-demand or a broadcast publishing point, but the user experience will not change. The content is still treated as a broadcast and users cannot control the content — they cannot fast-forward, rewind, seek or pause regardless of whether they connect to an on-demand or broadcast publishing point.

  • HTTP is used to transmit a stream between an encoder and a Windows Media server to enable communication through firewalls. If the encoder is pushing the content, the WMS HTTP Server Control Protocol plug-in must be enabled on the server so that the encoder can connect to it. If you are pulling the stream, set the publishing point path to reference the URL of the encoder from which you want to stream content, such as http://encoder:port. To verify that you have the correct URL and that the encoder is broadcasting, open the encoder URL in Windows Media Player. The Player should play the stream from the encoder.

  • Using redundant encoders increases the reliability of the source content. You can configure Windows Media Services to switch from one encoder to another if the primary encoder fails. For more information, see Controlling encoder failover with URL modifiers.

To receive the content, users type the URL of the publishing point in their players; for example, mms://server/publishing_point.


If the server pulls the stream from an encoder through a proxy server, you may need to configure proxy server settings to enable your server to connect to the encoder using HTTP. For more information, see Data source.

See Also


WMS HTTP Server Control Protocol

Other Resources

Windows Media Encoder
Use your server to publish live content from Windows Media Encoder
Use your server to broadcast a stream published by Windows Media Encoder