Difference between revisions of "How to send metadata to a shoutcast server"

Line 5: Line 5:
Well - this very much depends on how you operate your shoutcast server !  
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).
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 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.  
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).
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).
Line 21: Line 22:
RelayPort=8000
RelayPort=8000


RelayServer=192.168.110.179 (Instreamer IP)
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.




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


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]]
Back to [[FAQ]]

Revision as of 07:45, 11 May 2012

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