[Icecast-dev] need API doc to develop a radio client

Ralph Giles giles at thaumas.net
Mon Aug 27 11:46:28 PDT 2012


On 12-08-27 6:18 AM, sanjay.girigoswami at wipro.com wrote:

> 1) How to connect with the Icecast server

One connects to an icecast server over normal http.

> 2) How to get the station list from the server

By default the icecast server returns an html version of the station
list. You can try interpreting that, for example looking for stream or
playlist urls.

An xml version is available from e.g. admin/stats or admin/listmounts,
but this requires basic auth with the administrator username and
password as set in the config file.

Why xml variants aren't available on the public page, I don't know.

Individual icecast servers can also post their station lists to a
directory server. You can retrieve a machine-readable version of this
list from http://dir.xiph.org/yp.xml

> 3) how to get the playlist

Just request the mountpoint with a playlist extension. For example, to
get a playlist wrapper around
http://ec2-50-112-77-171.us-west-2.compute.amazonaws.com:8000/clock.opus, ask
for
http://ec2-50-112-77-171.us-west-2.compute.amazonaws.com:8000/clock.opus.m3u

> 4) How to play a radio station

You need to download the http stream and feed it to an audio decoder.
For example, you can do this in html5 with:

<audio
src="http://ec2-50-112-77-171.us-west-2.compute.amazonaws.com:8000/clock.opus">
</audio>

> 5) How to fetch the metadata information.

Metadata is sent inline with the stream. Unfortunately there's no server
api to query this separately, beyond what's in the mountpoint listing.

On 12-08-27 8:55 AM, Marc wrote:

> If you klick on this link you might get the information you want.
>
> http://bit.ly/NWJ1aF

Please don't use url shorteners. The obscure the history (and
provenance) of your link.

Additionally, I don't find many of these questions easy to answer at all
from the icecast documentation. There's documentation for the config
file options, but nothing about the server APIs or how https streaming
works.


Hope that helps,
 -r



More information about the Icecast-dev mailing list