Internet radio streams are delivered by one of three main protocols: Shoutcast, Icecast, or HLS. Each works differently and suits different use cases.
This article explains how each protocol works, how they compare on key technical dimensions, and which one to use.
Quick summary
| Shoutcast | Icecast | HLS | |
|---|---|---|---|
| Protocol | ICY (proprietary) | ICY + HTTP | HTTPS segments |
| License | Proprietary (freemium) | Open source (GPL v2) | Open standard |
| Latency | 2 to 5 seconds | 2 to 5 seconds | 15 to 30 seconds |
| Adaptive bitrate | No | No | Yes |
| Formats | MP3, AAC, AAC+ | MP3, AAC, Ogg, Opus, WebM | AAC (primarily) |
| Modern browser support | Via player | Via player | Native (Safari) + hls.js |
| Directory | shoutcast.com | dir.xiph.org | None |
| Cost | Free (non-commercial) / paid license | Free | Free |
Shoutcast
Shoutcast was released in 1998 by Nullsoft and is now maintained by Shoutcast LLC. It uses the ICY protocol, a proprietary extension of HTTP originally developed for Winamp.
How it works
An encoder connects to the Shoutcast DNAS server and pushes an audio stream. The server relays that stream to listeners who connect and request it. Track metadata (artist and title) is embedded in the stream at regular intervals using ICY headers.
Versions
Shoutcast DNAS is on the 2.x series. Version 1.x is no longer maintained and not supported by most modern browsers. If you are running a v1 server, upgrade to v2.
Licensing
The Shoutcast DNAS server software is free for personal and non-commercial use. Commercial use requires a paid license. Most hosting providers bundle a commercial license in their monthly plan cost.
Supported formats
MP3, AAC, and AAC+.
Pros
- Broad compatibility with legacy hardware, car radios, and older software
- Large listener directory at shoutcast.com for station discovery
- Widely supported by broadcasting software (most encoders list Shoutcast as an output option)
Cons
- Proprietary protocol; commercial use requires a paid license
- No open-source option for the server itself
- Does not support Ogg, Opus, or other open formats
- No adaptive bitrate; every listener receives the same single bitrate stream
- Metadata updates are stream-embedded and limited in flexibility
Icecast
Icecast was released in 1999 and is maintained by the Xiph.Org Foundation under the GPL v2 license. The current stable version is 2.5.x, released in late 2025.
How it works
Icecast accepts a source connection from an encoder (via HTTP PUT or the ICY source protocol) and relays the stream to listeners. It supports multiple simultaneous mount points, each with its own stream and metadata.
Licensing
Icecast is free and open source. You can run it on your own server at no cost, fork it, modify it, and contribute to it.
Supported formats
MP3, AAC, AAC+, Ogg Vorbis, Opus, and WebM. Icecast’s support for Ogg and Opus is native and well-maintained, making it the only major streaming server with good open-codec support.
Pros
- Fully free and open source
- Supports a wider range of audio codecs than Shoutcast
- Standards-based HTTP alongside ICY, making web integration more flexible
- Maintained actively; 2.5.x brought improved TLS handling, proxy header support, and better admin tools
- Metadata can be updated via external URLs, enabling richer now-playing integrations
Cons
- No adaptive bitrate; same limitation as Shoutcast
- Latency is similar to Shoutcast (2 to 5 seconds buffer)
- The Icecast directory (dir.xiph.org) is smaller than Shoutcast’s
- Requires a server to host or a managed hosting provider
HLS
HLS (HTTP Live Streaming) is a protocol created by Apple and published as an open IETF standard (RFC 8216). It is used by most major streaming platforms and is supported by CloudRadio One stations.
How it works
Instead of a continuous TCP connection, HLS breaks the audio into short segments (typically 2 to 6 seconds each) and serves them as files over HTTPS. A playlist file (.m3u8) lists the available segments and quality levels. The listener’s player fetches segments sequentially, buffering a few ahead to ensure smooth playback.
Adaptive bitrate
HLS playlists can contain multiple renditions at different bitrates. The player selects the best rendition for the listener’s current connection and can switch between renditions mid-stream without interrupting playback. This is the key technical advantage over ICY protocols.
See What Is HLS Streaming? for a detailed breakdown of how adaptive bitrate works.
Latency
Standard HLS has 15 to 30 seconds of latency because of segment buffering. Low-Latency HLS (LL-HLS) can bring this down to 2 to 5 seconds under good network conditions, but requires server and player support for partial segments.
For music radio, the additional latency is rarely noticeable to listeners. For live call-ins or interactive broadcasts, the delay is worth considering.
Supported formats
AAC is the primary codec for HLS audio. MP3 is also supported but less common.
Browser and device support
HLS plays natively in Safari on iOS and macOS. On all other modern browsers (Chrome, Firefox, Edge), HLS requires a JavaScript player library such as hls.js, which uses the Media Source Extensions (MSE) API. MSE is supported in all current desktop and mobile browsers, so the practical device coverage is near-universal.
Pros
- Adaptive bitrate: stream quality adjusts automatically per listener
- Delivered over standard HTTPS, so it works through firewalls and mobile networks that block non-HTTP ports
- No persistent TCP connection means better resilience to network interruptions
- Scalable via CDN without special streaming infrastructure
- Supported natively or via hls.js on virtually all modern devices
Cons
- Higher latency than ICY protocols (15 to 30 seconds standard)
- Does not have per-connection listener counts natively (HTTP-based delivery makes exact concurrent listener counting more complex)
- Requires a modern player; older hardware and software may not support it
- Not compatible with traditional radio directories that require an ICY mount point
Protocol comparison in detail
Metadata and now-playing info
Both Shoutcast and Icecast deliver metadata in-stream using ICY headers. Encoders embed track title and artist data at regular intervals, and compatible players display it. Icecast additionally supports updating metadata externally via HTTP requests, which makes it easier to push now-playing data from automation software or APIs.
HLS does not use ICY headers. Now-playing metadata on HLS streams is typically delivered via a separate API call or via ID3 tags embedded in the stream segments. Most modern players handle this, but it requires more setup than ICY.
Listener statistics
Shoutcast and Icecast maintain an active connection to each listener, so they can report exact listener counts and session durations in real time.
HLS listeners fetch segments over HTTP. Exact concurrent listener counts require log analysis or a counting layer on top of the delivery infrastructure.
Directory listing
Shoutcast has a large public directory at shoutcast.com. Listing your station requires registering it and running a compatible DNAS 2.6+ server. Icecast has its own directory at dir.xiph.org, which is smaller but works automatically when you enable YP listing in the server config.
HLS streams do not have an equivalent built-in directory. Stations using HLS for delivery still need an ICY endpoint to appear in most traditional internet radio directories.
Port requirements
Shoutcast and Icecast stream over a TCP port (typically 8000 or a custom port). Some networks and firewalls block non-standard ports, which can prevent listeners from connecting.
HLS uses standard HTTPS (port 443), which is almost never blocked. This makes HLS more reliable for listeners on corporate networks, public WiFi, and some mobile carriers.
What CloudRadio provides
CloudRadio One (the standard all-in-one plan) includes both HLS and a legacy ICY endpoint:
- HLS with three adaptive renditions (256 kbps, 128 kbps, 64 kbps AAC)
- An ICY-compatible 128 kbps MP3 endpoint for directories and legacy players
Both run from the same station. You do not need to choose between them.
Hosted Shoutcast/Icecast is a separate legacy product on CloudRadio for broadcasters who specifically need a standalone classic streaming server, for example to maintain an existing setup, run a relay, or use Shoutcast’s commercial authhash and directory features. See Shoutcast/Icecast Hosting for details.
Which protocol to use
| Use case | Recommended protocol |
|---|---|
| General music radio, modern audience | HLS |
| Maximum device and directory compatibility | ICY (Icecast or Shoutcast) alongside HLS |
| Low-latency live talk or call-in show | ICY (Icecast or Shoutcast) |
| Broadcasting on a budget, open-source preference | Icecast |
| Shoutcast directory listing required | Shoutcast DNAS 2.6+ |
| Corporate or mobile audiences where ports may be blocked | HLS |
Most modern hosting platforms provide both HLS and ICY endpoints, allowing broadcasters to serve adaptive bitrate streams to modern listeners while maintaining compatibility with directories and legacy hardware.
Related
- What Is HLS Streaming?
- Bitrates and Codecs
- Shoutcast/Icecast Hosting
- Submit Your Station to Directories