[Icecast-dev] Client development

Marvin Scholz epirat07 at gmail.com
Mon Feb 9 13:36:02 PST 2015

currently there are no official Docs about the Icecast Protocol, but 
basically it is HTTP with some special headers.
You can find some information here: 

Note that HTTP PUT support is only present since Icecast versions 2.4.0. 
Older Versions use a custom HTTP Verb called SOURCE, which basically 
works exactly the same as PUT, but it is not possible to use a 
100-continue header.
Additionally it is important to note that currently Chunked Encoding is 
NOT implemented, so it should not be used. Sending chunked encoded data 
to Icecast results in a unplayable Stream.

If you do not want to do all work yourself, you can use the libshout 
Git: https://git.xiph.org/?p=icecast-libshout.git;a=summary
Download: http://icecast.org/download

More information about the Icecast-dev mailing list