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:
iwq
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
[...] 1x Shoutcast server installed and running [...]