How to create an internet radio station
If you’ve ever wondered how internet radio stations work and/or wanted to create your own, this tutorial will show you how. It is actually very easy, and you can set up your own radio station and begin broadcasting songs in about 10 minutes.
First of all, let me give you a quick rundown on how it works. You have your music player (I will use Winamp, get it if you don’t have it) and you play your music as you normally would. Through a plugin (which you will download and install), Winamp will send the music you play to the broadcasting server (which can be on your PC or on another one with a larger connection), and the server sends the music to the listeners, reencoding it to a better format, if you are so inclined. Note that the amount of listeners you will be able to support is limited by your outgoing bandwidth and the bitrate of the song you are streaming, so if you’re streaming at 128 kbps and you have 256 kbps upload bandwidth, you’ll obviously be able to support 256/128 = 2 listeners.
The programs I use are Winamp for playing, oddcast DSP for broadcasting to the server and Icecast for serving. You can use Winamp’s own Shoutcast plugin and server, but I prefer to broadcast in Vorbis because it’s smaller and has much better quality than MP3.
Let’s get started, then. Download Icecast from this page (you presumably want the Windows version) and install it. Run it and click “Edit configuration” in the “Configuration” menu. A notepad window will pop up with various configuration options. My configuration is this:
<limits>
<clients>100</clients>
<sources>2</sources>
<threadpool>5</threadpool>
<queue-size>524288</queue-size>
<client-timeout>30</client-timeout>
<header-timeout>15</header-timeout>
<source-timeout>10</source-timeout>
<burst-on-connect>1</burst-on-connect>
<burst-size>65535</burst-size>
</limits>
<authentication>
<source-password>hackme</source-password>
<relay-password>hackme</relay-password>
<admin-user>admin</admin-user>
<admin-password>hackme</admin-password>
</authentication>
<hostname>localhost</hostname>
<listen-socket>
<port>8000</port>
</listen-socket>
<fileserve>1</fileserve>
<paths>
<basedir>./</basedir>
<logdir>./logs</logdir>
<webroot>./web</webroot>
<adminroot>./admin</adminroot>
<alias source="/" dest="/status.xsl"/>
</paths>
<logging>
<accesslog>access.log</accesslog>
<errorlog>error.log</errorlog>
<loglevel>4</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1 Error -->
<logsize>10000</logsize> <!-- Max size of a logfile -->
</logging>
<security>
<chroot>0</chroot>
</security>
</icecast>
You can copy it and paste it in the open notepad window (the one with the configuration), but make sure you change “hackme” to more secure passwords. Once you have done this, save the file and close the window. Click the “Start server” button and the listboxes below should be populated with various information, like this:

Your server is now ready for people to connect to it, but there’s no music playing, so let’s tend to that. Download oddcast for Winamp from this page and install it. Now, run Winamp, go to the “DSP/Effect” section of the preferences and click on “oddcast DSP v3”. You should see the oddcast window pop up, looking something like this:

Click on “Add encoder” and a new encoder will be added in the box below. Right-click on it and select “configure”. A dialog will pop up, asking for various information. For “Encoder type” select “OggVorbis” (or MP3, if you are so inclined), this will make you stream in Vorbis. Some people might not be able to have the available codecs if they’re running a very old version of their player (all newer players worth their salt support Vorbis).
For “Quality” I have entered -2, it is the lowest quality, giving you about 30 kbps bitrate and very acceptable quality. You can experiment with 0 or 2, going over 6 is overkill in my opinion (since 6 is what I use to archive music from my CDs), and you will be able to support more listeners if you have lower bitrate for the song.
For “Server IP” enter the IP of the server you’re running Icecast on (it’s “localhost” if you’re running it on your own PC). “Server port” is whatever you entered in the configuration, 8000 if you used mine, and “Encoder password” is hopefully something other than “hackme”. I also use mono, because my connection only has 128 available upstream bandwidth and it doesn’t sound too bad. It should now look like this:

Click OK here and then click “Connect”. If you did everything right, the encoder should now connect to Icecast and begin streaming, like so:

If you want to do a voiceover (speak in your radio) just click the Live Recording button and it will broadcast anything that you say in the microphone (or whatever you enter as the input device). Click on it again to return to your normal music (I haven’t actually tested this, if there are any problems just comment here).
The “Source Level Stats” section of Icecast should also change to include your stream, and will look something like this:

Try connecting with another player (not the one playing the songs) to http://localhost:8000/stream.ogg (e.g. for Winamp click Open URL). If that connects and plays, everything is set up correctly. You can now tell people to connect with Winamp or whatever player they use (and NOT WITH AN INTERNET BROWSER) to http://[yourip]:8000/stream.ogg (if you don’t know your IP, visit http://www.whatismyip.com/, or see the “Client address” in the “Details” tab of your Local Area Connection if you want to stream on a LAN) with their players, and that’s all there was to it.
If you get a permission error under Vista, swamplingman suggested that you give your user full permissions for the Icecast and Winamp folders. That should solve the error.
Note: Before you broadcast any music, make sure you have the right to do so, otherwise you could be breaking the law of your country. Also, if you are having connection problems, you are probably behind a NAT or a firewall that does not allow other people to connect to your computer. To clarify, you (from your internal network) can only connect to your station using your internal IP (192.168.0.1 or whatever) and people from the internet can only connect to you using the IP from whatismyip.com and only if you have forwarded port 8000 corrrectly. Ask your network administrator or visit www.portforward.com for help, as these problems are outside the scope of this tutorial.
Very nice tutorial but could you rewrite the tutorial or create another that shows you how to set up an online radio station using MP3s instead of oggs? Thanks.
Submitted by Rob (not verified) on Mon, 22/05/2006 - 22:42.Just select "MP3" instead of "Vorbis" in the DSP encoder configuration box.
Submitted by Stavros on Mon, 22/05/2006 - 23:01.---
Vidi, Vici, Veni.
It's Veni Vidi Vici... i came, i saw and i won.
Submitted by xiled (not verified) on Tue, 23/05/2006 - 01:49.It's actually not "I won", but "I conquered"
Submitted by Anonymous (not verified) on Tue, 23/05/2006 - 02:42.I saw, I conquered, I came. Think about it.
Submitted by Anonymous (not verified) on Tue, 23/05/2006 - 06:16.It's a joke based on a mistranslation, since "come" in English has the secondary meaning of "achieve orgasm." A Latin speaker wouldn't get the joke, since the Latin verb "venire" doesn't have the same variety of meanings as the English verb. (As your language teacher always said, word-by-word translation doesn't work.)
Submitted by Anonymous (not verified) on Tue, 18/07/2006 - 20:59.Wrong. -come- as -venire- or -venir- have the same double meaning. An to assure that English has much more multiple meanings for a word, you must be aware of all the universe of languages you do NOT know. !D10T!
Submitted by Anonymous (not verified) on Sun, 29/10/2006 - 11:25.actually its i came, i saw, i conquered just to let you know
Submitted by Anonymous (not verified) on Sat, 06/10/2007 - 04:26.erm, this is about a radio station
does it really matter what veni vidi vici means?!?
Submitted by Anonymous (not verified) on Sun, 28/10/2007 - 10:56.How Can you see how many people are listening?
Submitted by Mysterio320 on Fri, 14/07/2006 - 08:31.If you can show it with a picture.
You can see that from Oddcast->Source Level Stats->/stream.ogg->listeners.
Submitted by Stavros on Thu, 24/05/2007 - 21:28.---
Vidi, Vici, Veni.
I cant get the mp3 selection? what do i have to do to get it?
Submitted by Paatzo (not verified) on Sun, 16/07/2006 - 18:27.Really superb tutorial. I just have one quetion. I've set and installed everything as written in the manual. The prob is that as soon as I execute a track or say sth into a mic the status in the Oddcastv3 window becomes "disconected => connecting in xy seconds". Does this prog necessarily need a public IP or it is possible to run it on a server-assigned ip. Thx
Submitted by Michal (not verified) on Mon, 28/08/2006 - 12:26.I have the same problem!!!
does anybody can help?
great tutorial.
thanks
Submitted by Vlad (not verified) on Tue, 27/02/2007 - 03:59.You don't need a public IP to run this, you can just run it on your PC, although you need proper connectivity if you want people to be able to listen. Make sure everything is as in the pictures above to enable it to connect. It's pretty foolproof, so I don't know why yours is not working...
Submitted by Stavros on Thu, 24/05/2007 - 21:29.---
Vidi, Vici, Veni.
i got a 128 kb ps connection?
getting speed 30 kb i think
is it enough
please help, its been a month i have been banging my head on google looking for tutorials trying to set up a normal radio to stand as much listners possible, normal music, and mic........
and if my connection is weak, can you tell me is there any other way by which i can still host a radio?
and how much will it cost etc?
thanks in advance! :]
btw i used the tutorial but now when i open local host it opens a while which never stops downloading?
raghav
Submitted by Raghav (not verified) on Tue, 05/06/2007 - 08:33.(raghavsey@msn.com)
Well, if you have a 128 kbps connection you’ll be able to stream about 4 people at 30 kbps. I would suggest you sign up for a host such as slicehost.com, they let you do anything with the server and it’s not very expensive.
Edited: Wrong URL.
Submitted by Stavros on Tue, 05/06/2007 - 10:41.—-
Vidi, Vici, Veni.
is that link correct slicehosting.com?
Submitted by Anonymous (not verified) on Wed, 06/06/2007 - 06:25.No, sorry, it should be slicehost.com. I don't know how I misspelt that.
Submitted by Stavros on Wed, 06/06/2007 - 09:22.---
Vidi, Vici, Veni.
because I have the exact same issue. If I set my IP to "localhost" it connects, but when start Winamp playing, it disconnects itself back and forth. If I set my IP to the address I have, it doesn't connect itself at all (connects, disconnects back and forth). Also The statistic window hasn't changed to /vogg... or whatever as shown on the picture. I have played with settings and tried so many options and still couldn't figure out what I am doing wrong.
Submitted by Martin (not verified) on Thu, 08/05/2008 - 02:01.Ive Done Everything As You Said But My Encoder Says 'Connected' But The 'Peak Meter' Is Blank And Just Black, I Also Cant Change My Pass In Icecast From 'hackme' I Try And Save And:
Cannot Create The icecast.xtml File.
Make Sure The Path Name And File Name Are Correct
I Need Help, Please Reply
Submitted by Alex .O. (not verified) on Sat, 07/07/2007 - 11:34.this is solved by changing permissions for the folder where icecast and winamp are located, give youre user total control over the folders. im guessing you are using windows vista, i had the same problem, but i solved it by doing what i just said.
Submitted by swamplingman (not verified) on Sat, 03/05/2008 - 20:56.I think it is because the server name and password is not equal! Change so that server IP and password are the same. Hope it is helpfull
Submitted by Bondhan (not verified) on Mon, 28/05/2007 - 04:07.i keep having the same problem bout the disconnection when starting the song or mic... i tried to change the "server name" but it didnt work :(
Submitted by Myrna (not verified) on Tue, 29/05/2007 - 06:31.Altought i changed the password at the configuration of the server (from hackme to another one) the encoder configuration keeps working with the "hackme" password only... if i dont use that password the encoder keeps disconecting as fast as i try to broadcast something. Maybe i should change something else in the server configuration in icecast, but i dont know what :S
Submitted by Myrna (not verified) on Tue, 29/05/2007 - 23:04.You have to change it in three places or so in the configuration.
Submitted by Stavros on Wed, 30/05/2007 - 00:16.---
Vidi, Vici, Veni.
If you change your password "hackme" you have to change both in the icecast server and the winamp encoder, I am using OddcastV3. If not, then it will disconnect, since IMHO OddcastV3 cannot log in to the Icecast. Good luck!
Submitted by Bondhan (not verified) on Sat, 09/06/2007 - 04:31.Poromenos, coool signature vidi go first and veni the last.
Submitted by Jessica (not verified) on Sat, 25/11/2006 - 16:06.ps. have you ever seen such phrase in that variant before?
Tutorial i hav been looking for help to set up online radio station am looking @ supporting aleast abt 5000 listerner for starts i need some thing to be good sound
Submitted by Abu (not verified) on Thu, 26/04/2007 - 01:50.what wud be the best way to do it? i hav,t set up homepage yet
i dont have a selection for mp3 i really need mp3 because the music stream i use don't support .ogg
Submitted by danny (not verified) on Tue, 04/12/2007 - 11:44.der is no oddcast v3 in dsp effects...........
Submitted by sita (not verified) on Mon, 11/02/2008 - 08:21.Awesome tutorial. One quick question:
Submitted by Bichiliad (not verified) on Fri, 09/05/2008 - 00:54.Do I need to open/forward any ports for this?
when u install oddcast mark the "mp3" option as well u will be asked to start aother internet page,enter it and download "lame.dll" in the winamp folder ,uncompress it and ure ready to use mp3 instead of ogg
Submitted by Anonymous (not verified) on Wed, 01/11/2006 - 13:07.hey, ive followed all ur things and got it up and running but when i put the link up with http://myip and all the rest it just comes up The page cannot be found, on oddcastv3 its connected and ive got tunes playing but people cant listen to wat im playing, can u tell me wat ive done wrong
Submitted by shadow (not verified) on Mon, 13/11/2006 - 22:24.u have to go on your music player and click file open url
Submitted by Anonymous (not verified) on Mon, 20/11/2006 - 16:51.I DID!!!!!!...but...
No one cam hear my broadcast although everything is working fine...even when I opened amother instance of winamp and checked http://localhost:8000/stream.ogg...it worked!
...But When I exchange [localhost] for my IP Address ...and I try to connect through another player using htttp://[myipaddress]:8000/stream.ogg....there is no connection at all
Submitted by Anonymous (not verified) on Sun, 04/02/2007 - 19:59.I've got the same problem.
Submitted by Anonymous (not verified) on Wed, 21/03/2007 - 13:16.Anybody who can help?
all i get is page not found and it is really anoying plz can anyone help me
Submitted by Anonymous (not verified) on Sun, 29/04/2007 - 15:11.thx
not in a web browser... but i have the same problem in itunes, connecting to my IP with the URL http://71.186.163.4:8000/stream.ogg
Submitted by Anonymous (not verified) on Mon, 01/10/2007 - 01:48.no one but me can hear the broadcasting (http...localhost..ogg) but when someone wants to listen (http..myip...ogg) it stays in connecting but nothing else happens... havent seen an answer for that.. does anyone knows?? :(
Submitted by Myrna (not verified) on Tue, 29/05/2007 - 23:20.You probably didn't forward the port correctly. Also, open it in your firewall if you have one.
Submitted by Stavros on Wed, 30/05/2007 - 00:16.---
Vidi, Vici, Veni.
great tutorial but its missing an important step.. its looks like Divinci wrote this bad boy ;).. on your icecast server see what your source ip is.. this is the ip address u need to use in your we browser (it is not your ip address)
holla
Submitted by Lunn Records (not verified) on Sun, 03/06/2007 - 03:38.Those two addresses should be the same, since you're streaming from the same PC. In any case, you need to connect to the server, not the source... Localhost should definitely work, I don't know why so many people are having problems.
Submitted by Stavros on Sun, 03/06/2007 - 10:02.---
Vidi, Vici, Veni.
I Have The Same Problem, But The Opposite Way Round!, It Only Works When I Exchange localhost For [My Ip]
You Put [My Ip] When You Give The URL To People You Dont Use [ + ], I Dont Think Juz
http://Your Ip.stream.ogg
Not:
http://[Your Ip].stream.ogg
Submitted by Dj. Ocky! (not verified) on Tue, 10/07/2007 - 15:21.If I have radio card for FM in my PC how can I transmite this FM to the internet.
Submitted by blinks on Tue, 20/02/2007 - 16:22.i think u can just select the source in the plugin as the fm radio output...depends on what output ur radio gives(analog/digital) and what all inout sources u can select in ur plugin...
Submitted by Anonymous (not verified) on Tue, 07/08/2007 - 05:37.How do i make it so people can listen to me (put it on a website...) Kind of something like maple-radio.com that is what i am trying to make.
Submitted by Anonymous (not verified) on Mon, 25/06/2007 - 23:02.Ive Done Everything As You Said But My Encoder Says 'Connected' But The 'Peak Meter' Is Blank And Just Black, I Also Cant Change My Pass In Icecast From 'hackme' I Try And Save And:
Cannot Create The icecast.xtml File.
Make Sure The Path Name And File Name Are Correct
I Need Help, Please Reply
Submitted by Anonymous (not verified) on Sat, 07/07/2007 - 11:35."But The 'Peak Meter' Is Blank And Just Black".
-Click on it and it will start.
"I Also Cant Change My Pass In Icecast From 'hackme' I Try And Save And:"
Submitted by Lullaby (not verified) on Sat, 10/11/2007 - 02:24.-Try to open it with the notepad. Worked here.
It is pretty important information to say somewhere that we should click on the meter. When the meter is off, the connection won't work. I clicked on it and everything started working.
Submitted by Martin (not verified) on Thu, 08/05/2008 - 02:20.