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. For information on how to configure your
server to broadcast content from an encoder, see To broadcast content
pushed from an encoder.
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 doesn't 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.
The encoder and the server connect using Hypertext Transfer
Protocol (HTTP). HTTP is used to transmit a stream between an
encoder and a Windows Media server in order to enable communication
through firewalls. If the encoder is pushing the content, the HTTP
server control must be enabled in order for the encoder to
successfully connect to the server. 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://encodername: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 render 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.
To receive the content, users type the URL of the publishing
point in their players; for example,
mms://servername/publishing_point_name.
Note
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 To configure the WMS
Network Data Source plug-in.