How to send metadata to a shoutcast server
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 as "shoutcast source" (Shoutcast : <IP address of the SC server> : port number) - the Barix 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 used as Shoutcast relay and your shoutcast server is configured as a "relay", then - and only then - you can feed metadata from the Instreamer through the shoutcast server.
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.10.175 (the Instreamer IP address)
On the Instreamer configure under "Streaming / Stream to " Shoutcast : 0.0.0.0 : 8000
The Shoutcast server will pick up the stream from this socket.
3) The Metadata feature can be also used when the Instreamer is acting directly as streaming server (configured as "Internet Radio"). In this case no other Streaming server is involved, the clients/listeners will request/get the stream directly from the Instreamer.
Back to FAQ