If you have ever wanted to do some broadcasting online, its essential you have a server to broadcast from. You could run one of these servers from your home broadband connection, but you upload speed will decide how many listeners you can broadcast to. For example on Virgin Media cable’s 10Mb package in the UK, while the download speed is 10mbps, the upload speed is actually only 512kbps, so that upload speed becomes the limiting factor of exactly how many listeners you can broadcast to. You can also use a server hosted in a datacentre to broadcast, this has the added benefit of not having the upload limits like your home connection does. I provide shoutcast servers for some of the worlds biggest names in internet radio, such as the ever wicked NSB Radio, Glitch FM and The Nuskoolbreaks.co.uk forums. If you are interested in getting server capacity from me, you can email me for a competitive quote.

You also need to decide what bitrate you wish to broadcast at. For example, 32kbps stereo is similar to FM radio, 96kbps stereo is somewhere between FM radio and CD quality and 128kbps stereo is just below CD quality. 192kbps stereo is just over CD quality. In short, the higher the ‘bitrate’, the higher quality your stream is. However you also need to consider your listeners – the higher the bitrate, the more listeners you exclude. For example, a 32kbps stream can be listened to on anything from a dial up modem to a broadband line but a 128kbps stream can not be listened to on a dial up modem or a mobile phone (on a 2G network). This is why many stations run two servers – one at a broadband (higher) bitrate and another at a modem (lower) bitrate and use technology called a ‘transcoder’ so the DJ does not need to send two different streams to two different servers. Clever huh?

As an example, lets say you have decided to make a 128kbps stream. Now if you have a 512kbps upload at home, this means you can comfortable broadcast to 4 people before your upload speed becomes saturated and no one can listen properly (during upload saturation, every listeners will get a stuttering/gap in play effect similar to a CD skipping). So we will configure a listener limit of 4 for this example. Of course, if you have a server out in a datacentre somewhere with a big upload speed you can up this number. a 10mbps upload server will comfortably support 75 listeners at 128kbps, and a 100mbps upload server will comfortably support 750 listeners at 128kbps.

First, open up a shell either via SSH or via your X terminal:

sudo useradd -m stream
sudo su - stream

You should now be the user ’stream’ in the directory /home/stream. Now we need to get the server files:

$ wget http://yp.shoutcast.com/downloads/sc1-9-8/sc_serv_1.9.8_Linux.tar.gz

Then untar them

tar -zxvf sc_serv_1.9.8_Linux.tar.gz

Which should give you three files

README.TXT
sc_serv.conf
sc_serv

I tend not to use the default config file, so first of all lets make a generic config file. Using copy&paste, copy this config:

MaxUser=4
Password=somedjpassword
PortBase=8000
LogFile=sc_serv.log
RealTime=0
ScreenLog=0
ShowLastSongs=10
W3CEnable=Yes
W3CLog=sc_w3c.log
SrcIP=ANY
DestIP=ANY
Yport=80
NameLookups=0
AdminPassword=someadminpassword
AutoDumpUsers=0
AutoDumpSourceTime=10
PublicServer=default
AllowRelay=Yes
AllowPublicRelay=Yes
MetaInterval=32768

Change your admin password and source password to whatever you like. If you want your station to always appear in the Shoutcast yellowpages directory, change ‘PublicServer=default’ to ‘PublicServer=always’. I always set ‘autodumpusers’ to 0 to allow the server to keep your listeners online when your Djs change, otherwise all your listeners will get kicked off! Back to your shell window:

mv sc_serv.conf sc_serv.conf.old
vi sc_serv.conf

this will move the default config to sc_serv.old and open an editor to add our new config. You can of course use other editors instead of Vi, however its really easy under Vi, the keys to press are:

i
  wq 

This should leave you a config file and server, ready to go. Lets fire it up:

./sc_serv ./sc_serv.conf &

You can now check if the server is working by going to http://your.ip.here:8000 in your web browser. If you run iptables firewall you can allow the ports like so:

iptables -A INPUT -p tcp -i eth0 --dport 8000 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp -i eth0 --dport 8001 -m state --state NEW -j ACCEPT

Share this post

One Comment

  1. [...] 1x Shoutcast server installed and running [...]

    January 25, 2010 Reply to this comment

Leave a Reply