[Icecast-dev] Icecast protocol

Chris MacDonald chris at fourthandvine.com
Thu Jan 4 22:23:27 PST 2007

Hash: SHA1

Hi Ian,

What you're describing is typically the job of the source client, of
which there are already many to chose from. If you're still interested
in making your own I'd probably start with looking at the source for the
ezstream client that's on the icecast website. The source (C/C++) is
stright-forward enough and it makes use of libshout, an implementation
of the shoutcast protocol that icecast supports. In all likelihood it's
what you'll be using to transmit your encoded audio to your icecast
server (there are docs and examples in the libshout tarball on the
icecast website). Aside from C/C++ bindings there are also Perl, Ruby,
and others as well, so if you're comfortable with something else they
may be worth your while.

You'll notice that ezstream makes use of the host operating system's
decoders/encoders and just pipes the output from one to the other then
through libshout and finally to the server. In your case it sounds like
you want to just use the respective format's libraries and do the
decoding/encoding yourself.

If anyone else has anything to add/change, by all means... it's been a bit.

Best of Luck.

Ian Descôteaux wrote:
> Hey there,
> I'm writting a simple app which is gonna take FLAC file and convert them
> to ogg and mp3 format before sending them to icecast upon streaming.  I
> have search a lot over and can't find a icecast protocol definition, or
> even an overview anywhere.  Is somebody can point me on this one or I
> have to read the whole icecast source code (I know java but C/C++ is
> another thing...).
> Regars.
> _______________________________________________
> Icecast-dev mailing list
> Icecast-dev at xiph.org
> http://lists.xiph.org/mailman/listinfo/icecast-dev

Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org


More information about the Icecast-dev mailing list