Streaming with Icecast

February 23, 2018

After years of no satisfactory music radio solution, I researched in earnest how to set up my own broadcast setup, and it was easier than I thought!

In essense:

Thanks to Ruggero “infiniteproject”, we have a dockerized icecast server, run it on your favourite container platform with these settings:


ICECAST_SOURCE_PASSWORD = yourpassword
ICECAST_ADMIN_PASSWORD  = yourpassword
ICECAST_RELAY_PASSWORD  = yourpassword
ICECAST_ADMIN_USERNAME  = DJ_Schmumu
ICECAST_ADMIN_EMAIL     = dj_schmumu
ICECAST_LOCATION        = Spaaaace
ICECAST_HOSTNAME        = your.server.here
ICECAST_MAX_CLIENTS     = 10
ICECAST_MAX_SOURCES     = 10

Then on your local machine, run Darkice, or the ui, Darksnow, with these settings:


[general]
duration        = 0      # duration in s, 0 forever
bufferSecs      = 1      # buffer, in seconds
reconnect       = yes    # reconnect if disconnected

[input]
device          = default # or `pulse' for Pulseaudio
sampleRate      = 44100   # sample rate 11025, 22050 or 44100
bitsPerSample   = 16      # bits
channel         = 2       # 2 = stereo

[icecast2-0]
bitrateMode     = vbr       # variable bit rate (`cbr' constant, `abr' average)
quality         = 1.0       # 1.0 is best quality
format          = mp3       # format. Choose `vorbis' for OGG Vorbis
bitrate         = 256       # bitrate
server          = your.icecast.server # or IP
port            = 8000      # port for IceCast2 access
password        = very secure password # source password to the IceCast2 server
mountPoint      = your_radio_station.mp3  # mount point on the IceCast2 server .mp3 or .ogg
name            = Your Radio Station Name

Then tune in with your favourite streaming client, or even just hitting your.icecast.server:8000 in a browser, the mp3 will stream!

You shouldn’t use this to stream spotify to your friends, as that’s in breach of their single-listener license, before you ask.

Streaming with Icecast - February 23, 2018 - Tristram Oaten