The encoder produces the stream Icecast distributes. A running encoder application is not necessarily connected: playback, encoding and server output may be separate controls. Diagnose the output connection rather than using the application’s open window as evidence.
Match the two ends
| Encoder field | Icecast counterpart |
|---|---|
| Server type | An Icecast-compatible protocol, not an arbitrary streaming mode |
| Host and port | A reachable listening socket |
| Encryption | TLS support and the selected socket’s policy |
| Username | Usually source, unless the mount’s policy changes it |
| Password | Matching global or mount-specific source secret |
| Mount | Exact path such as /live.ogg |
| Media type | Actual codec/container and appropriate Content-Type |
Do not include a URL scheme in a host-only field or append .m3u to the encoder’s mountpoint. That suffix requests a listener playlist; it is not the incoming stream name.
Know which protocol is in use
Current source applications can use HTTP PUT. Legacy applications may use the older SOURCE method, and Shoutcast DSP compatibility has its own socket rules. Icecast’s 2.4 series introduced PUT support; that does not mean every encoder uses it automatically. Select the matching mode in the source client and consult that client’s own documentation for its fields.
The source must describe what it really sends. An MP3 byte stream labelled as Ogg is not corrected by giving its mount an .ogg extension. Icecast also does not transcode it into the desired format.
Read a failure as a sequence
First check whether a TCP/TLS connection is established. Then check authentication, the accepted mount path and whether media continues arriving. A credential failure can come from a mount override even when the global password appears correct. A source-limit failure may include active relays. A second source on an already active mount is a different case from a bad password.
Once connected, verify the mount in administration, listen with a known-compatible player and watch the error log during a planned disconnect/reconnect. Use a local, non-sensitive test source first. Keep production passwords out of screenshots, URLs, shell history and support excerpts.