Icecast is a free/open-source media stream server for Linux and Windows. It includes a web interface (running on the same port as the streaming services, so it does not conflict with other standard web services running on the same device) for administration.
The basic idea is simple:
- Source clients (i.e. software with a stream to share) request broadcast access and are authorized with a password.
- Listener clients (i.e. media players that want to receive the stream) request listening access for a given stream's "mount point", which is just a name assigned by the source.
- All of this activity is conducted on the same port (8000 by default). Different client types are distinguished by virtue of the username given:
- "source" = media stream source
- "admin" = administrator, i.e. web interface
- none = listener, i.e. media stream receiver/player
Multiple sources can connect to Icecast, but each must use a unique mount point name. Multiple listeners can connect to each mount point. The primary (only?) constraints are bandwidth and CPU power of the machine running Icecast.