Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>As far as I know, there is no protocol spec anywhere, outside of the Icecast source code. Here's what I've found from packet sniffing:</p> <h2>Audio Stream</h2> <p>The protocol is similar to HTTP. The source client will connect to the server make a request with the mountpoint, and pass some headers with information about the stream:</p> <pre><code>SOURCE /mp3test ICE/1.0 content-type: audio/mpeg Authorization: Basic c291cmNlOmhhY2ttZQ== ice-name: This is my server name ice-url: http://www.google.com ice-genre: Rock ice-bitrate: 128 ice-private: 0 ice-public: 1 ice-description: This is my server description ice-audio-info: ice-samplerate=44100;ice-bitrate=128;ice-channels=2 </code></pre> <p>If all is good, the server responds with:</p> <pre><code>HTTP/1.0 200 OK </code></pre> <p>The source client then proceeds to send the binary stream data. Note that it seems some encoders don't even wait for the server to respond with <code>200 OK</code> before they start sending stream data. Just headers, an empty line, and then stream data.</p> <h2>Meta Data</h2> <p>Meta data is sent using an out-of-band HTTP request. The source client sends:</p> <pre><code>GET /admin/metadata?pass=hackme&amp;mode=updinfo&amp;mount=/mp3test&amp;song=Even%20more%20meta%21%21 HTTP/1.0 Authorization: Basic c291cmNlOmhhY2ttZQ== User-Agent: (Mozilla Compatible) </code></pre> <p>The server responds with:</p> <pre><code>HTTP/1.0 200 OK Content-Type: text/xml Content-Length: 113 &lt;?xml version="1.0"?&gt; &lt;iceresponse&gt;&lt;message&gt;Metadata update successful&lt;/message&gt;&lt;return&gt;1&lt;/return&gt;&lt;/iceresponse&gt; </code></pre> <p>Also note that both the audio stream and meta data requests are sent on the same port. Unlike SHOUTcast, this is the base port that the server is running on.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload