[Icecast] Config ICECAST server in Wndows XP Pro

Geoff Shang geoff at hitsandpieces.net
Wed Feb 15 14:46:54 UTC 2006


tam taly wrote:

>   1. Actually we are having MP3 file which is in server (Eg.
>   www.myserver.com/admin/music/myvoice.mp3 ). When user hit the url they
>   want to get the music with streaming.

Ok.  You don't really need Icecast for this, you can just stream it off 
your webserver.

1.  Create a .m3u file with the URL of your file.  Using your example 
above, it would contain:

http://www.myserver.com/admin/music/myvoice.mp3

For the sake of this example, lets put it in the same place and call it 
myvoice.m3u.

2.  Place a link to this m3u file on your server:

<A HREF="http://www.myserver.com/admin/music/myvoice.m3u">Click to 
listen</A>

3.  Try it out.  It should load a user's default MP3 player and stream the 
file from the beginning.  This means that if you want modem listeners to be 
able to listen to it, best to encode the file to something like 24kbps.

Note that people using Icecast who don't have a webserver can use Icecast 
as one by using the fileserve feature.  Just set fileserve to 1 in the 
config file and place the files you want to serve in the directory you 
configure as your webroot directory.

>   2. We want to give live voice streaming to users (Eg: Live Cricket
>   Commentary). When user is in our web page , they have to hear live voice or
>   some how they want to hear live voice with streaming.

Ok, here's where you need Icecast.

As far as your website is concerned, you do the same thing.  Create a .m3u 
file with a link to the stream (i.e. http://myserver.com:8000/cricket)

Note that Icecast can automatically generate these for you, if you place a 
link to your stream with .m3u on the end.  e.g. 
<A HREF="http://myserver.com:8000/cricket.m3u">click here to listen</A> 
would return the above URL in a .m3u playlist file.

For this to work properly the "hostname" item in the config file must be 
set correctly.  (see below)

Below are very basic instructions on how to get a stream up on Icecast. 
This assumes you want to use the same password for all streams and no 
listener authentication.  Obviously you can make it a lot more complicated 
than this, with authentication schemes, different streams with different 
source passwords, etc.  But lets keep it basic for now.

I believe you can edit the config file using the GUI in the Windows version 
of Icecast.  but I have no experience doing this and so will talk about 
editing the conf file with a text editor like Notepad.

I'm going to go through the minimal config which is supplied with Icecast. 
In the unix distribution I have, it's called icecast_minimal.xml and is 
meant to be simple to set up.

1.  Open the Icecast configuration file.  I've never used the Windows 
version so I don't know where it lives.  But it sounds like you've already 
looked at it.

2.  before you start, decide what bit rate you will be streaming at and how 
many listeners you can support.  Obviously, if you stream at 128kbps, 
unless you're on a big connection you won't be able to support too many 
listeners.  Also, only broadband listeners will be able to hear it.  As a 
general rule, you need to allow some overhead for internet protocols, etc. 
So if you have a 256kbps outgoing connection, you won't be able to support 
8 listeners at 32kbps, you should be able to support 6 and may be able to 
support 7 (you'll have to test).

3.  Having worked out how many listeners you want to be able to support, 
configure the server correctly.  "sources" refers to the number of sources 
or streams that you want to allow at any one time.  It's set to 2 by 
default.

Clients is, if I'm not mistaken, the total number of clients, not just 
listeners, so it needs to equal the max number of listeners you want to 
support, plus the max number of sources which is also defined here.  The 
clients line isn't in the basic file, which I think may be an oversight, 
and I don't know what the default limit is.  so if filling your server is a 
concern, you might want to add it in.

say you wanted to support 10 listeners and 1 stream, your limits section 
would look like this:

     <limits>
         <clients>11</clients>
         <sources>2</sources>
     </limits>


Note that you can set listener limits for individual streams, but that's 
outside the scope of this message (I can tell you how to do that next 
time) if you want to know.

4.  Set your source password.  ***DO NOT USE THE ONE THAT'S IN THE CONFIG 
FILE***  This is the password your streaming application will use to 
connect to your server.

5.  Set your admin username and password.  technically this isn't strictly 
necessary to change in order to start streaming, but I highly recommend 
changing it from the defaults, at least the password anyway.

6.  Set your hostname correctly if you want Icecast to generate .m3u files 
for you (see above).  If you set this wrong, the generated .m3u file wil 
have the wrong host name in it.

7.  Set the port item to the appropriate port you want your 
server to listen on for connections.  If you  are behind a firewall, you'll 
need to have this port forwarded through to your Icecast server.

8.  If you want to be able to serve other types of files with Icecast, 
enable fileserving.


You can probably leave everything else set the same unless you feel a need 
to change any of it.

Now, here's the fun part.  sourcing your stream.  There's many programs 
which can source a stream for you.  A bunch of them are listed on the 
Icecast website in the 3rd party apps section.  Since you want to stream 
something from your sound card, you'll want something which can do this. 
The simplest application may be Oddcast v3, the stand-alone edition from 
oddsock.org.  This means you don't need a program like Winamp with a 
plugin, though you can of course use this.

How you will configure your streaming client will differ from program to 
program, but here's the basics:

1.  Your streamer will need to specifically support Icecast2.  If it 
doesn't and you must use something that only supports Shoutcast, then your 
server will need some additional configuration to support this.

2.  configure your streamer to use the following settings:

Server type: Icecast2
Server host: <the address of your Icecast server, can be "localhost" if
 	it's the same machine>
Server port: <the port you specified in #7 above>
Password: <the source password you specified above>
Mount point: <your desired mount point for your stream - see below>

You may also want to tell your streamer to list, or not to list, your 
stream on a YP server.  this assumes your server is configured to allow 
this.  I think it is by default, though you'll need to hcheck this, but it 
will only list streams that are configured to be listed in the source 
client.

Discussion of mount points:

A mount point is used to allow more than one stream to be hosted on an 
Icecast server.  A mount point is vertual, in that it doesn't really exist 
anywhere except in the server.

For example: We have been using the mount point of /cricket in our 
examples.  You don't need to have a file or folder anywhere called 
/cricket.

Mount points are created by Icecast when a source requests that it be 
created, assuming the source has the authority to do so.  Using a global 
source password like we have here, any source that connects and supplies 
this password can create any mount point it likes.

By convention, MP3 mount points look like our /cricket example above, and 
Ogg Vorbis streams have .ogg on the end.  The reason for this is that some 
players are broken and do not play the stream properly, they assume it's an 
MP3 stream unless there's a .ogg extension on the end.  So if you want to 
stream in Ogg Vorbis, you might want to use /cricket.ogg instead of just 
/cricket .

It is possible to set up specific passwords for specific mount points, as 
well as max number of listeners, YP details, fallbacks, and all sorts of 
other cool stuff.  But that's outside the scope of this Email too.

3.  Since you're going to be recording from your soundcard, you'll need to
    inform your stream client to take its sound from the sound card.
    Presumably, this is the only way that Oddcast v3 stand-alone gets its
    audio.  If you use a program like Winamp or Foobar2000 with a plugin
    like Oddcast DSP or SAM, you'll either need to use a Line Input plugin
    in Winamp or enable advanced recording in the plugin.  Both approaches
    have advantages and disadvantages, a subject I'm happy to go into if you
    need it.

You will also have to configure your sound card to record from your line in 
source and set an appropriate level.  This is done in Volume Control, in 
the Recording Controls section.


Now that you've got your streamer and your server configured, start up your 
server and connect with your streamer.  And you should be good to go.

Let me know if you need any more details or clarifications.  And other 
listers let me know if I've left anything out.  And also let me know when 
you get that cricket streaming up <wink wink>.

Geoff.




More information about the Icecast mailing list