Hi, I?ve been tasked with developing an Icecast broadcast client for iOS. I am not sure how to get started. Ideally, I?d like to get my hands on documentation that describes the Icecast API. Otherwise, if there is a code example in either C, C++ or Obj-C, that should be enough to get me started. I don?t need help figuring out how to generate the audio stream, as I already know how to do that; I just need to know how to send it to the server, and how to do basic things like authenticate and ask for information about the user?s account and stations. Thanks.
Hey, 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: http://people.xiph.org/~epirat/protocol_rfc_draft/ 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 library: Git: https://git.xiph.org/?p=icecast-libshout.git;a=summary Download: http://icecast.org/download
Great, thank you for the information. The draft page is especially helpful. Frank> On Feb 9, 2015, at 3:36 PM, Marvin Scholz <epirat07 at gmail.com> wrote: > > Hey, > 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: http://people.xiph.org/~epirat/protocol_rfc_draft/ > > 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 library: > Git: https://git.xiph.org/?p=icecast-libshout.git;a=summary > Download: http://icecast.org/download
reflum, On Mon, 2015-02-09 at 22:36 +0100, Marvin Scholz wrote:> If you do not want to do all work yourself, you can use the libshout > library: > Git: https://git.xiph.org/?p=icecast-libshout.git;a=summary > Download: http://icecast.org/downloadI would support this. libshout takes care of many problems and will always match Icecast development. And it's even easy to use! :) -- Philipp. (Rah of PH2) -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 490 bytes Desc: This is a digitally signed message part Url : http://lists.xiph.org/pipermail/icecast-dev/attachments/20150209/21c31c26/attachment.pgp