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:
- Darkice redirects the sound from your speakers to a remote server
- Icecast re-broadcasts that audio to n clients
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.