When encoding Windows media video or audio, you have two options. You can either ‘push’ the stream or ‘pull’ the stream. Each method has advantages and disadvantages which we will discuss here and help you to choose the method best for your circumstances.
Pushing a stream:
With a push stream, the local machine running the encoder is initiating the connection. This connection has to be made with a streaming server.
The main advantage of pushing a stream is that router port forwarding and firewall exceptions do not have to be made. A static IP address is not required to push a stream which would be necessary with the pull method. Static IP addresses are less common than they used to be and with some ISPs they have to be paid for. On an internet connection with no static IP address available, pushing the stream will be your only option. A push stream is generally less stable than a pull stream and would consume more local bandwidth because it is constantly connected to the streaming server that it is pushing to.
A push stream would normally be used for short one off webcasts rather than 24/7 webcasting because of its inherent bandwidth overheads.
Pulling a stream:
With a pull stream, a streaming server (or a viewer) initiates the connection with the encoding machine. It is possible to webcast without the use of a streaming server using the pull method; however, if more than 2 or 3 people connect to the stream simultaneously it will suffer and not be delivered properly to any of the viewers. When a streaming server is ‘pulling’ from the local encoder it would be possible to have hundreds of thousands of viewers without the stream suffering at all.
One of the big advantages of pulling a stream is that the server will only connect to the encoder when the stream is requested by a viewer. This means that you will be limiting your local bandwidth usage by using this method because you will not have to be constantly connected to the server. This obviously makes it much more suitable for constant 24 hour streaming. It is possible to restrict access to the encoder by IP address – which means you can only allow the streaming server to connect and restrict any unauthorised access. Windows media encoder also records and IP address of connections so you can see who is connected at any time.
One disadvantage of using this method is that in order for the streaming server to connect to the encoder, port forwarding and firewall exceptions will have to be set up. Using the pull method is ideal for streaming from a static location where the configuration of the network stays constant.