The Difference Between a Push and a Pull Live Webcast with Windows Media 9 Encoder:


Push:
In some live encoding situations, the streaming server may not be able to coordinate the content feed between the encoder and the server. With Push you can use the encoder to control the server and “push” the encoded content to a broadcast publishing point. Using encoder push, you will have to log in to the server to distribute your streaming media. This is a very handy tool if your encoding computer is set up behind a router and you do not know how to configure your router to port forward, however it can also cause problems. A disadvantage of using push is if your connection drops, you will lose your connection to the server and have to manually re-connect to the server to continue streaming. So you would need to re-start your encoder.

Pull:
When Windows Media Services “pulls” the content from the encoder, the server connects to an encoder stream that is already in progress. With encoder pull, the server connects to your encoder, as apposed to ‘push’ where you log into the server to stream your content. This is very useful because if you lose your connection to the server, the server will reconnect to your encoder automatically, once your Internet connection resumes. In an encoder pull configuration, the encoder must be started and encoding content before the Windows Media server can connect to it.

In order to stream using ‘pull’, you must have an external static IP address. If your encoding computer is behind a router, the server would not be able to communicate with the encoder, unless you have your router configured to port forward to your encoding machine.

Ports:
Applications running on TCP/IP open connections to other computers using something called ports. Ports allow multiple applications to reside on a single computer – all talking TCP/IP. Ports are another set of numbers AFTER the standard IP address. Applications often hide these port numbers to reduce the complexity of TCP/IP. Example: web services (HTTP) reside on port 80 by default. To reach this web site, you could type http://www.live-webcasting-internet-broadcasting.com:80 into your browser. The 80 is the default port number for the HTTP protocol so typing it is not necessary. There are 65535 available ports.

Commonly used streaming ports:
554
1554
4040
8080

Port Forwarding:
A broadband router or other NAT application creates a firewall between your internal network and the internet. A firewall keeps unwanted traffic from the internet away from your LAN computers. A “tunnel” can be created through your firewall so that the computers on the Internet can communicate to one of the computers on your LAN on a single port. This is handy for running your encoder from behind a router if you need a static IP to stream your media.

Testing your Live stream:
If you have your encoder running and are not able to connect to your stream through your server link, you can test if your encoder working properly by pulling your stream directly from your encoder using Windows Media Player.

To do this:
Open your Windows Media Player and click on “File”, then “Open URL”. If you enter your IP:Port here you should be able to connect directly to your encoder ex. (http://youripaddress:8080). 8080 is the default port you will be streaming through with Windows Media, if you are using a different port, replace 8080 with the one you are using.

If you are unable to connect to your encoder using this method, then the Streaming Media Server will not be able to connect to your encoder either. The most common reasons for this happening are:

1.) You are behind a router/firewall
Fix: If you are behind a router, you will need to either set up your encoding computer directly to your internet connection, or configure your router to forward port 8080 (or whatever port you are using to communicate through) to the computer you are encoding with.

2.) You are trying to distribute your content at a bitrate your internet connection cannot handle. If you are encoding your content at multiple bitrates, add the rates together to deturmin what bitrate you are trying to distribute. (ex. if you have selected 56k and 100k as bitrates to distribute your content at, you will need to have atleast a 156k internet upload capacity.)