[Icecast] Icecast source with updateable metadata?

Geoff Shang geoff at QuiteLikely.com
Fri Dec 10 20:44:59 UTC 2010


On Fri, 10 Dec 2010, telmnstr at 757.org wrote:

>   I'm looking for a source client that allows updating of the stream
> information real time. In darkice it's set in the config and it doesn't
> allow modification of this. Do any of the other source clients allow this?

If you want to change the title of the stream etc, which Darkice can send, 
then no you can't do this.  It's set when you connect and won't change 
unless you disconnect and reconnect.  Moreover, if the listener is not 
disconnected during this process (e.g. if you use fallback mounts to keep 
them connected), they won't see the title change, even if new listeners 
see the new title.  This is because the title is only sent from the source 
at connect time and only to the client at connect time.  I'd like to be 
able to change this too but the specs don't seem to allow for it.

If you want to send track metadata (aka "now playing" information), which 
IIRC Darkice does *not* support in any fashion (but I could be wrong about 
this), you can probably send this directly from your playout system as has 
been pointed out.

Assuming you're using a native Icecast2-style connection (i.e. not 
Shoutcast emmulation), I believe the format is as follows:

http://<username>:<password>@<server>:<port>/admin/metadata?mount=<mountpoint>&mode=updinfo&song=<metadata>

Most of these should be self-explanatory.  If you've not set a username, 
use "source".  Track metadata is usually sent as "Artist - Title".  All 
fields need to be URL-encoded.

Here's an example:

http://source:MyPassword@example.com:8000/admin/metadata?mount=%2Fstream&mode=updinfo&song=The%20Beatles%20-%20Hey%20Jude

In case you're actually using Shoutcast-style connections, the format is:

http://<server>:<port>/admin.cgi?mode=updinfo&pass=<password>&song=<metadata>

Note that for Shoutcast-style connections, the audio is sent to the 
listener port + 1 (e.g. port 8001), but the metadata updates are actually 
sent on the listener port (e.g. 8000).

HTH,
Geoff.




More information about the Icecast mailing list