Setting up the IceCast Audio streaming server.

Jan 21, 2010 | Uncategorized | 0 comments

I decided on Sunday that I was going to set up a service on a Linux box for streaming audio. It’s not for me… not for the moment anyway. It’s for Stuart Lawler He wanted to stream his weekly podcast, the Stuart Lawler Show live to listeners while also making it available as a downloadable podcast. He’s planning to air it every week at 2PM. So, if your around at that time which is 7AM in Canada and 9AM in most parts of the US, Hop on over to The live show feed. Note, that feed doesn’t work when he’s not broadcasting so be warned, it will probably just give you a page not found error message.

I wanted to write a few notes to explain the process that I used to get IceCast running on this Ubuntu 8.04 machine. Firstly, I made a mistake. I didn’t realise the Icecast2 package was available in the apt repositories. So, I compiled all of the dependencies and the actuall Icecast package my self from source. So, I could have made it much easier on my self if I had checked the repositories before hand but… hay, that’s life.

So, when installing Icecast from source, you’ll need to download, configure, make and install LibXML, LibXXLT, LibTool, Curl and make. You’ll also need libvorbis, libogg and possibly a few other packages depending on what your doing.
You should install your dependencies in that order before moving on to IceCast as the make clean option didn’t work after the make process failed due to dependency problems.

Of course, if your compiling Icecast from source, you’ll need to add it as a service to run so you’ll need to grab or manually create a file to run it for /etc/init.d/

But, that isn’t probably necessary if you bother to check the package repository first though.

simply, go and grab it by typing sudo apt-get install icecast2 and your done. Don’t do what I also stupidly did when I installed icecast-server as that is version 1 of the package. Why they still have that in the repository I will never know.

Right. Is that done?

The config files are in /etc/icecast2.

Hay, I noticed a little funny thing when I installed it. I created a group called icecast with limited access and then a user with a similar name. Then, the installer created a new group… But what wsa funny was that in the config it generated in /etc/icecast2/icecast.xml, it elft the last bit commented out where the user name and the group is specified for better security. Something must have been left out somewhere when the package was created for the Ubuntu repositories. anyway, it’s simple enough to customise the xml file. The only problem is figuring out what addesses it’s looking for. The howtos, forums and every other bit of documentation out there is confusion at it’s best. Forget it all! Just use the release notes and the comments in the config file to guide you because they won’t stear you wrong.

Change the hostname to yourdomain.com.
Leave the port.
uncomment the changeowner part of the config at the bottom. comments start with . If your reading this with a screen reader, that last bit will make no sense to you. Use your read by character functions to see it.

Finally, when that’s done, create your mount point. At this stage, look at the sample mount points in the config. Only take what you need from them. Start the block with , end it with and you’ll be fine. The only information it really needs is the tag. Make that /name.mp3 or something like that.

That’s all there is too it really. It’s really much easier than I thought it was going to be. Actually, by complicating it, I probably made it more difficult than it needed to be.

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.