Installing the Sources


Jump to: navigation, search

Several very different programs can produce a source for the Icecast server. Among the most interesting: ices, xmms and pure data. Please note that most of these programs can produce a stream either from static files saved on a harddisk or from live input, but rarely from both. First, we will be setting up a source from static files.

We chose Ices from as a source for the streaming server, for the reasons explained under 2.2 above (In terms, this program is called a client, which is a bit confusing I think). Ices comes in two versions: the 0.x version can encode mp3, and the 2.x version encodes primarily in ogg format.



Download and compile the lame mp3 encoding library from Alternatively, you can install the lamedev Ubuntu package.

> tar xf lame3.x.tar.gz
> cd lame3.x
> ./configure
> make
> sudo make install

Download and compile libshout from Alternatively, you can install both the libshout and libshoutdev Ubuntu packages.

> tar -xf libshout2.x.x.tar.gz
> cd libshout2.x.x

If you installed libvorbis and libogg in the previous step, then just do

> ./configure
> make
> sudo make install

Compiling Ices0

Download the ices0 source archive from and decompress it.

> tar -xf ices0.x.tar.gz
> cd ices0.x
> ./configure withpython --with-lame

The configure script should print a list of fetaures. Make sure at least XML, Python and LAME are checked. If the configure script complains about missing dependencies, do

> ./configure help

and try tweeking the options.

> make
> sudo make install


Grab a few MP3s, place them in a temp folder in your Home. Make a text file called playlist.txt and save it in the same temp folder. The contents of the file should be the full path to the MP3s, one per line. No empty lines, not even after the last entry. Example:


Start the icecast server.

> icecast -c /usr/local/etc/icecast.xml &

Start ices Copy the default ices configuration file to the temp dir

> cd ~/temp
> cp /usr/local/etc/ices.conf.dist ./ices.conf.xml

You will have to edit the password entry in the ices configuration file, to enable Ices to connect to the Icecast server. The Icecast default password is...hackme (remember, we are just testing now, we will configure all this properly later on). Open ices.conf.xml in a text editor, and change the entry called Password to read 'hackme'. Don't touch anything else for now.

Now star Ices

> ices -c ices.conf.xml &

Now start an MP3 player, such as xmms, amarok, and open http://localhost:8000/ices If everything went well, you just installed the most complicated way to hear your MP3 collection. To stop it, first stop the client

> ps -C ices

This gives you the process id #### of Ices

> kill ####

Then kill the server

> ps C

icecast (or icecast2 on some systems)

> kill ####


If Ices cannot find your MP3, please check the path in your playlist.txt file. Paths are case sensitive, and should contain only letters and numbers, no spaces etc. If the list stops playing after one iteration, then your playlist prbably contains an empty line at the end. No empty lines. If Ices gives you Mount Failed, you probably didn't set the password correctly in ices.conf.xml To help you find out whats going wrong, Icecast keeps a log in /usr/local/var/log/icecast, and Ices in /tmp/ices.log

Personal tools