[icecast] libshout1-based mp3 streaming to icecast2

Brendan Cully brendan at xiph.org
Sat Mar 15 18:12:08 PST 2003

The short answer, as Geoff says, is to use ices 0.x from CVS with libshout 2.
The good news is CVS ices 0 has a number of bug fixes.

libshout2 may be found at anoncvs at cvs.xiph.org:/usr/local/cvsroot libshout
ices is at anoncvs at cvs.xiph.org:/cvs/ice ices

Note the different paths above!

Now, a little more detail:

On Sunday, 16 March 2003 at 02:41, jeremy at squat.net wrote:

> ices0 -b 24 -h freeteam.nl -p 9000 -P ****** -m testxyz -F ./playlist
> >From the streaming end, I got the error:
> Error during send: Mount failed on,
> error: Could not login on server. Server message: HTTP/1.0 401
> Authentication Required

icecast 2 doesn't support x-audiocast, the default protocol in ices and
icecast 1.

> If I add the -i switch to the ices command line to make it
> icy-compatible, I get:
> Error during send: Mount failed on,
> error: Not connected to server.

The shoutcast protocol ("icy") actually uses two ports for encoders.
The base port is used for metadata (song name) updates, but the actual
data goes to that port + 1. So, to be fully shoutcast compatible, you have
to configure icecast to listen on two ports. In this case, those are 9000
and 9001.

The error you see here is because ices cannot connect to port 9001.
> and nothing logged in either the error or access logs of icecast2.


> Interestingly, when I used freestream with a Shout.pm that was compiled
> with libshout 1.0.5, I was able to log in and stream to icecast2, but

I imagine this is due to a bug in that version of Shout.pm, which connects
to the same port for both data and metadata (if Shout.pm supports metadata -
I haven't used it).

> when I tried to listen to the stream (at mountpoint /, the mountpoint I
> specified does not get through to icecast2 in any case), I got HTTP
> headers from icecast2 and then a disconnect.

Because shoutcast doesn't support mount points, icecast was forced to create
on itself. It's probably /icy_0, but you can see for yourself in the icecast 2
logs. When the source successfully logs in, you'll see the mountpoint assigned.

--- >8 ----
List archives:  http://www.xiph.org/archives/
icecast project homepage: http://www.icecast.org/
To unsubscribe from this list, send a message to 'icecast-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.

More information about the Icecast mailing list