3. Installation

Installation should be pretty straight forward. Right now you
should have all the packages you need to get things rolling. If you're compiling
from source, you should compile and install software as directed by the
documentation. Also, install dependencies as needed.
If you're using RedHat or one of its brothers, you can grab an RPM,
download it, and install it like this:

rpm -Uvh <file>

where
<file> is the name of the RPM to install.
If you're using Debian, you can just

apt-get install xmms
icecast-server

to install xmms and the Icecast server. As for LAME, you
can use a program called Alien to convert an RPM package into a Debian package.
Just

apt-get install alien

and, as root,

alien
package.rpm

to produce a .deb, which you can install by using

dpkg -i <file>

where <file> is the name of the Debian package.
You'll need to be root while doing most of this.

If you encounter any
difficulty with installation, let me know. My contact information is at the end
of this document.

Now that you've installed all of the required software,
let's get to setting it up.

4. Configuration

First on the list of things to configure will be the Icecast
server. Find your Icecast configuration directory (mine was /etc/icecast,
probably the same for RPM. If you compiled it, you're advanced enough to know
where it is) and you should be presented with a bunch of files with '.dist'
after them. Move all these files to their name without the '.dist' .. if the
file was 'icecast.conf.dist' it should be 'icecast.conf' now. If you don't see
any files with '.dist' at the end, you're okay here.

Go ahead and open up
icecast.conf with your favorite editor. The configuration is pretty straight
forward, but I'll help you along. Near the top you'll see some
location/information fields:

These settings are pretty much outrageous for most users.
Depending on how fast your Internet connection is, set these settings
accordingly. You'll probably want

max_clients

around 10, same with

max_clients_per_source

the rest you can usually leave alone. Now scroll down in the file until you come upon these:

encoder_password hackme
admin_password hackme
oper_password hackme

If you installed the Icecast server under Debian, or your
version has encrypted password support, it gets a little tricky here. You need
to encrypt your password in this file with the mkpasswd program, which is
probably installed on your system already. You can encrypt a password like this:

mkpasswd your_password --crypt

Copy and paste this into the
configuration file to make it look somewhat like this:

No matter which method you used to install, be sure to set
these with different passwords from 'hackme'. Generally all of them should have
the same password. Remember the password you set here, we'll be using it later
when we configure Liveice-XMMS.

Go farther down until you see:

console_mode 0

Change this to 3, so it launches into the
background.

The rest of the configuration file you can usually leave
alone. All of you advanced users can look around for more interesting things to
change if you wish.

Now for configuring Liveice-XMMS:

Reload XMMS so it notices there is another plugin. Rightclick on XMMS,
Click Preferences. Go into Effect/General Plugins. Under Effect Plugins you
should see Liveice in the list. If you don't, check your installation of
Liveice-XMMS. After you've selected Liveice, click Configure.

Under audio format, most of these settings are standard, so you probably
won't need to change too much. Change the encoder type to 'Lame' and the
executable name to 'lame'. If you already have some other LAME binary on your
system, enter the path to it here. Under the Description tab, change anything
that's needed.

Go to the Server tab, and change 'Encoder Password' to whatever you put in
the Icecast configuration file (remember, that one I told you to remember?). But
put it UNencrypted here, of course, if you had to encrypt it.

You're done.
Click OK. Check 'Use plugins' in the Preferences dialog that should still be up,
and click OK again.

In a terminal, type in 'icecast' and hit enter.. You should see it run
and go into the background.

If you're playing a song, click stop, and start
playing it again.

Nothing is.. Broken? No BOOM!? Well, you would hope so
:)
Get your friend to try to connect to your ip with XMMS or some other mp3
player, with the url http://yourcomputer:8000 .. they should hear music! If they
don't, check out the FAQ for troubleshooting info.

5. FAQ

Make sure Icecast is
running. If you have continued problems, in the conf file where you changed the
console_mode to 3 change it back to 0 to
get some debug messages. You should see yourself connecting as a source, if not,
check your settings inside of Liveice. If you see that your connected as a
source, or "encoder", and your friend is trying to connect but you don't see
something along those lines, it isn't your problem.

Q: People complain
about the quality, what can I do?
A: Well, that's one of the quirks of Internet radio. The most
you can do is change your encoding preferences in Liveice. As a general
guideline if you encode at 24,000 your going about 2k/s, so about ideal for
modem users. If your encoding 128,000 or more, that's more like 11k/s, so you're
merging on the broadband line here. Remember, if you encode at 128,000 and you
have 10 users you're uploading at 110k/s, not many people can handle this. So
make sure you review your connection max settings and such to adjust to
this.

If any of you have more questions/comments I will add them to the
FAQ in a later version.

This HOWTO is free
documentation; you can redistribute it and/or modify it under the terms of the
GNU GPL. This document is distributed in the hope that it will be useful, but
without any warranty; without even the implied warranty of merchantability or
fitness for a particular purpose.

Written in Emacs. :)

Page 1 of 1

Originally published on Linux.com. Released under the Open Content License unless otherwise stated.
Notify Gareth Watts of any
errors or copyright violations.