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 can’t use this to stream spotify to your friends, as that’s in breach of the single-listener license, before you ask.