How to send metadata to a shoutcast server

Revision as of 06:16, 21 May 2012 by StefanG (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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 ?".


To send metadata to the Instreamer for inclusion with the stream, please use the E= command. After the "E=" you must supply standard Shoutcast metadata format. 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';

The 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.


The Instreamer can insert metadata in two modes:

1) The metadata feature can be also used when the Instreamer is acting directly as streaming server (configured as "Internet Radio : 0.0.0.0 : port number"). In this case no other streaming server is involved, the clients/listeners will request/get the stream directly from the Instreamer.


2) When the Instreamer is used for Shoutcast server mode (Shoutcast : 0.0.0.0 : port number) and your Shoutcast or Icecast server is configured as "relaying" server, then - and only then - you can feed metadata from the Instreamer through the Shoutcast/Icecast relay server to the clients/listeners. Here is an example how the Shoutcast or Icecast server must be configured as relaying server - of course, this is just an incomplete snippets of the configuration files:


Shoutcast config:

RelayPort=8000

RelayServer=192.168.10.175 (the Instreamer IP address)


Icecast config:

<relay>

<server>192.168.10.175</server> (the Instreamer IP address)

<port>8000</port>

<mount>/xstream</mount>

<local-mount>/xstream1.mp3</local-mount>

<relay-shoutcast-metadata>1</relay-shoutcast-metadata>

</relay>


On the Instreamer configure for both servers under "Streaming / Stream to" = Shoutcast : 0.0.0.0  : 8000

The Shoutcast/Icecast server will pick up the stream from this socket.


When the Instreamer is connected as "Shoutcast source" (Shoutcast : <IP address of the SC server> : port number) then Barix Instreamer actively connects to and sends the live audio feed after authenication over a raw TCP connection to the server. In this mode it´s not possible to add any metadata for the Instreamer, because there is no space in the header for it. Then the metadata must be inserted on the Shoutcast server directly. The same is valid for Icecast servers.

Back to FAQ