[Icecast] targeted ads

Michał Jaszczyk jasiu85 at gmail.com
Sat May 9 19:17:12 UTC 2009

> I have some work implemented for this as an extension to my 10pre code. The
> interfaces are not documented yet as I wanted to try different use cases.
>  If you are interested then you are welcome to try it out and send feedback
> http://www.icecast.pwp.blueyonder.co.uk/icecast-2.3.2-kh-ads.tar.gz
> with this, each listener is allocated a group id (default 0) which the
> server will use to lookup a file to play. The number of groups is determined
> by the <mount> setting <jingle-groups>.  At the moment the group is only set
> in auth url by the Jingle-group; header, although I do have a hardcoded
> switch to allocate the next id to the next new listener for testing.
> You essentially set the group to file mapping via admin eg
> /admin/jingle?mount=/stream&id=0&file=/insert1
> /admin/jingle?mount=/stream&id=1&file=/insert2
> files are in webroot.  You then just trigger when the inserts are to be run.
> This is where things differ slightly.
> With vorbis streams, the trigger is a simple vorbis file from the source
> client that lasts however long you want (can be silence as the content won't
> be sent to listeners) but has a Jingle: in the headers.
> With non-ogg streams things get more awkward as you don't have the same sort
> of information in stream and metadata inserts are not good enough. The
> mechanism currently uses the /admin/jingle interface again but you have an
> option of
> /admin/jingle?mount=/stream&play=10000
> informs the server that this stream will be in jingle mode for 10 seconds.
> Any jingle files lasting longer than that will complete then return
> listeners to the stream.
> /admin/jingle?mount=/stream&play=on
> /admin/jingle?mount=/stream&play=off
> same sort of thing but a toggle
> I suspect the latter will be better so that people can interface with their
> source clients better. eg
> get next file
>   if file is insert marker then
>     .....&play=on
>   if insert marker finished then
>     .....&play=off
> karl.

Uhm, I guess I'm not following you... Could you explain once again
giving more details? :)

Michał Jaszczyk

More information about the Icecast mailing list