Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7729691
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 1, 20262026-06-01T06:01:58+00:00 2026-06-01T06:01:58+00:00

I need to write an Icecast 2 client that will be able to stream

  • 0

I need to write an Icecast 2 client that will be able to stream audio from the computer (mp3-files, soundcard recording and so forth) to the server. I decided to write such a client on C#.

Two questions:

1) It will be very useful to know common guidelines (best practices, maybe tricks) I may/should/must use to seamlessly work with streamed audio (streamed over network, of course) in C#. Some general technical documentation about streaming over TCP/IP in common and ICY in particular, advices and notes on the overall architecture of the application will be very appreciated.

2) Is there any good documentation regarding the Icecast 2 streaming protocol? I couldn’t find those docs on the official site of Icecast. I don’t want to extract the protocol description directly from the source code of it. If the protocol is really simple and neat, could anybody provide a summary of it right here?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-01T06:01:59+00:00Added an answer on June 1, 2026 at 6:01 am

    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:

    Audio Stream

    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:

    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
    

    If all is good, the server responds with:

    HTTP/1.0 200 OK
    

    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 200 OK before they start sending stream data. Just headers, an empty line, and then stream data.

    Meta Data

    Meta data is sent using an out-of-band HTTP request. The source client sends:

    GET /admin/metadata?pass=hackme&mode=updinfo&mount=/mp3test&song=Even%20more%20meta%21%21 HTTP/1.0
    Authorization: Basic c291cmNlOmhhY2ttZQ==
    User-Agent: (Mozilla Compatible)
    

    The server responds with:

    HTTP/1.0 200 OK
    Content-Type: text/xml
    Content-Length: 113
    
    <?xml version="1.0"?>
    <iceresponse><message>Metadata update successful</message><return>1</return></iceresponse>
    

    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.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I need to write code that picks up PGP-encrypted files from an FTP location
need to write a function that will accept unknown object properties and pass them
I need to write a Delphi application that pulls entries up from various tables
I need to write a script that handle files. Its aim is to open
I need to write, in JavaScript (I am using jQuery), a function that is
I need to write a small console app (patch) that turns off the print
I need to write an app that reads a config file with info on
I need to write a python script that makes multiple HTTP requests to the
I need to write some code to trigger internet connectivity on a computer. By
I need to write a little ruby function that does word wrapping. I have

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.