[ppldm] protocole x-audiocast

  • From: fasa <tremon_r@xxxxxxxx>
  • To: proj libre mailling list <ppldm@xxxxxxxxxxxxx>
  • Date: Tue, 23 Jul 2002 13:48:19 +0200

9. Icecast/Shoutcast Protocol.

 Both protocols are very tightly based on HTTP/1.0. The main difference
 is a group of new headers such as the icy headers by Shoutcast and the
 new x-audiocast headers provided by Icecast.

 A typical shoutcast request from the client.

 GET / HTTP/1.0

 ICY 200 OK
 icy-notice1:<BR>This stream requires <a href="http://www.winamp.com/";>
icy-notice2:SHOUTcast Distributed Network Audio Server/posix v1.0b<BR>
icy-name: Great Songs
 icy-genre: Jazz
 icy-url: http://shout.serv.dom/
 icy-pub: 1
 icy-br: 24

The icy headers display the song title and other formation including if
 this stream is public and what the bitrate is.

 A typical icecast request from the client.

 GET / HTTP/1.0
 Host: icecast.serv.dom
 x-audiocast-udpport: 6000
 Icy-MetaData: 0
 Accept: */*

 HTTP/1.0 200 OK
 Server: Icecast/VERSION
 Content-Type: audio/mpeg
 x-audiocast-name: Great Songs
 x-audiocast-genre: Jazz
 x-audiocast-url: http://icecast.serv.dom/
 x-audiocast-public: 0
 x-audiocast-bitrate: 24
 x-audiocast-description: served by Icecast 


NOTE: I am mixing the headers of the controlling client with those form
       a listening client. This might be better explained at a latter
 The CPAN Perl Package Apache::MP3 by Lincoln Stein implements a little of
 each which works because MP3 players tend to support both.

 One of the big differences in implementations between the listening clients 
 is that Icecast uses an out of band UDP channel to update metadata
 while the Shoutcast server gets it meta data from the client embedded within
 the MP3 stream. The general meta data for the stream is set up via the
 icy and x-audiocast HTTP headers.

 Although the MP3 standard documents were written for interrupted communication
 it is not very specific on that. So although it doesn't state that there is
 anything wrong with embedding garbage between MPEG frames the players that
 do not understand it might make a noisy bleep and chirps because of it.

Tremont Romain 
epita Promotion 2004
gpg  Key fingerprint = 410E 9358 16A6 BCC9 8537  CE78 5F38 0F19 5DBC 9388

-- Attached file included as plaintext by Ecartis --

Version: GnuPG v1.0.6 (NetBSD)


Other related posts:

  • » [ppldm] protocole x-audiocast