2010
04.11
When streaming doesn’t work, there are unfortunately quite a few variables involved. In this article, in an effort to help radio engineers troubleshoot streaming problems and make it easier to understand, I’m going to try to draw parallels between the world of radio broadcasting and Internet streaming.


In a typical analog radio broadcast there’s an audio processor/stereo encoder in the studio which sends the signal to the transmitter via studio-to-transmitter link (STL). From there, the transmitter broadcasts the signal to a multitude of receivers.

The topology of an Internet broadcast (streaming) is quite similar. There is an encoder in the studio that encodes the audio for streaming. This single stream is sent to the streaming server. A server distributes the stream to the multitude of players.

In order to troubleshoot streaming problems, you can therefore apply similar engineering techniques as you would do in a radio plant:

Check that your receiver supports the band/modulation you want to listen

If you want to listen to AM radio station, but you’re receiver is only FM, it’s not going to work, is it? So, the first thing to make sure is that the player you are using supports both the audio codec (HE-AAC, AAC or whatever you are using) and the protocol you are using (RTP, RTMP, ASX, HTTP, etc) with your encoder/server. Two free players that are quite useful as they will play most of the streams and codecs, are WinAmp and VLC Media player. If the stream doesn’t play on your mobile phone, check if it works on the PC.

Is the transmitter working?

Check you server. First check that it is on-line. Most servers will have a status web page you can access to see if the server is up and running. If it’s an on-demand as well as live streaming server, try playing an on-demand file from the server. If it works, your server is probably fine. If the server is running but you can’t play an on-demand stream on your computer/device, there could be a connection issue.

Weak reception

If the path is not clear, you might get poor reception. In streaming, this manifests as short audio drop-outs or long drop-outs that happen when the data packets don’t arrive for an unusually long time. Short delays will be covered by the buffering that’s done in the player before it starts playing the stream. But if the packets don’t arrive for an extended period of time, the buffer runs out and you get a drop-out. The problem is probably in insufficient bandwidth between the server and you, most likely the last-mile bandwidth of your ADSL/cable connection. Check that your download bandwidth is greater than the bitrate of the stream and that you haven’t used it all up with other downloads on your computer (or in your local network, if more computers are using the same Internet access).

No signal

If there’s a significant obstacle in the receiving path, say you’re in a basement of a big building,  that will prevent you from receiving the broadcast. In streaming, the most common obstacles are firewalls (blocked ports). A quick way to check if there are firewall issues is to temporarily disable all firewalls on your location – you could have a firewall running on your computer/device as well as on your router/gateway. Turn the firewalls off. If the stream plays, the firewalls were blocking your stream. Check which ports are needed for the server/protocol you are using. Then bring firewalls back up and open those ports or set up appropriate port forwarding.

It’s also a god idea to see if the stream works on another location – at your home or at your office, ask your colleague who lives across town to see if he can play it, etc. Maybe there are firewalls on your premises you are not aware of.

If you are running firewall on your server computer (and you should!) check that the appropriate ports are open there as well.

Is your studio-to-transmitter link down?

If you can’t play a live stream but you can play an on-demand file from the server, check that the encoder is running. Maybe the encoding software died (not uncommon with some encoders) or the encoding PC/device hung up and there is no stream coming to the server at all. On most servers you can see if the encoder is connected and which streams are mounted.

If the encoder is OK but it reports it can’t connect to the server (assuming the server is alive) verify that you can access the server from the encoding computer at all. Then check that the needed ports for encoder –> server communication are open on both the encoding computer and on the server.

Hopefully by now you have stumbled upon your problem… In practice, the most common ones appear to be those of compatibility – the codec and/or protocols are not supported on the player, server and the encoder. The other likely culprits are connection issues, among which ports blocked by firewalls are by far the most common.

Be Sociable, Share!

    1 comment so far

    Add Your Comment
    1. Great information! I’ve been looking for something like this for a while now. Thanks!