How to send metadata to a shoutcast server

Revision as of 20:17, 27 January 2009 by Jrietschel (talk | contribs)

A common question posted to the Barix support team is, "I am using an Instreamer to feed my shoutcast server, but how can i add metadata, genre, title information ?".


Well - this very much depends on how you operate your shoutcast server !

1) If the Instreamer is connected by the "shoutcast source" protocol - the instreamer actively connects to and sends the live audio feed to the server, then there is NO WAY the Instreamer can send that information with the audio ! The Shoutcast source protocol uses a "raw" TCP connection (after authentication) to send the MP3 frames, there is no way the Instreamer could insert that information. If you use that mode, you must directly post the metadata information via HTTP to the shoutcast/icecast server (check the server documentation).

2) If the Instreamer is operated in shoutcast/icecast emulation mode ("internet radio"), and your shoutcast/icecast server is configured as a "relay", then - and only then - you can feed metadata through the Instreamer.

Of course, that metadata cannot be sent through the analog or S/PDIF audio ports .. it needs to be provided to the Instreamer via the command interface, using raw TCP, UDP, serial port or the cgi interface.

To send metadata to the Instreamer for inclusion with the stream, please use the E= command. After the "E" parameter, you will need to supply standard shoutcast metadata format (documented somewhere else). Here is an example to post the Stream Title - note the command is case sensitive and must be correctly terminated (;) and quoted (single quotes).

http://<ip-instreamer>/rc.cgi?E=StreamTitle='Title';

Here is an example how the shoutcast server is configured as a relay - of course, this is just an incomplete snippet of the configuration file:

Shoutcast config:

RelayPort=8000

RelayServer=192.168.110.179 (Instreamer IP)


On the Instreamer, at least one "internet radio" server needs to be enabled.