How to broadcast audio with Icecast
You need to install Icecast and Winamp with the Shoutcast plugin for Winamp.
In this howto I explain:
- how to set up Icecast and Shoutcast plugin to broadcast audio over a LAN or the internet
- how to reduce the audio delay between the server source and the client playback
- how to use Icecast to replace Skype or MSN voice chat when using RDP
On the server
icecast.xmlto make some changes according to your preferences.
The variables that should be changed are:
<clients>- maximum number of concurrent listeners to the server (I set 3)
<sources>- maximum number of sources sending audio to Icecast (I set 1)
<source-password>- the password used by the source (Shoutcast plugin) to connect to Icecast
<relay-password>- the password used by a remote Icecast to connect to the local Icecast and relay the stream
<admin-user>- the username to access administration features
<admin-password>- the password to access administration features
<hostname>- the server URL or IP or
<port>- the port Icecast will use to serve the stream to the clients
<bind-address>- optional IP to bind to a specific network card
- run Icecast and click Start server: Server status should show a green Running
- run Winamp, open Preferences, Plug-ins, DSP/Effect, Nullsoft SHOUTcast Source DSP; go to the Output tab, change the password as configured as
icecast.xml(leave the default values for address and port:
8000), then set the encoder options you prefer in the Encoder tab. When you press Connect in the Output tab, Winamp connects to Icecast through the shoutcast plugin and if everything is working fine Status should display the bytes sent and the time
- configure your firewall to allow incoming connections to the port specified in
icecast.xml(if you want to stream over the internet)
On the clientOpen Winamp and play this location (Ctrl + L): http://YourIP:YourPort/stream
You can also see the status of your new station: http://YourIP:YourPort/status.xsl
And if you click on Administration and log in using the username and password you specified as
icecast.xmlyou can see the clients and kick them off (but it's only a matter of time before the client will reconnect).
- In listener's Winamp Preferences, Plug-ins, Input, Nullsoft MPEG Audio Decoder, Configure, Streaming tab, set Streaming Data Buffer and Streaming Prebuffer to the lowest possible values.
- The server's Winamp and the listener's Winamp must connect to Icecast with as little delay as possible: press the Connect button in the Preferences, Plug-ins, DSP/Effect, Nullsoft SHOUTcast Source DSP, Output tab on the serving Winamp and open the
http://YourIP:YourPort/streamlocation on the listening Winamp at the same time or with very little delay.
At the moment Remote Desktop Protocol doesn't support bi-directional audio and it's not possible to use Skype or MSN or other voice chat services because they require to transmit audio from the server to the RDP client and vice versa.
Obviously, this applies when it's not possible to install voice chat services on the client, for instance when the client is Windows 98 or Linux, otherwise the solution would be to use the chat software on the client bypassing RDP.
- on the RDP server Icecast should listen to remote Winamps: remove from
- on the RDP client Winamp should serve audio to the RDP server (192.168.0.16), where Icecast is running
- on the RDP client Winamp should get audio from the microphone
For me to hear my pal, he could broadcast audio himself starting Icecast and Winamp on his station and I could connect Winamp on my RDP server to my pal's Icecast and hear his audio through RDP from my RDP client speakers.
It's quite complex but it works.