Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save mluis/fcdb55986a5446ba4cb7ce8c4e276bc8 to your computer and use it in GitHub Desktop.
Save mluis/fcdb55986a5446ba4cb7ce8c4e276bc8 to your computer and use it in GitHub Desktop.
How to create internet radio on MacOS Sierra 10.12
All actions are performed in Terminal.app.
1. Install Homebrew http://brew.sh/
2. Install Jack (route audio tool) http://jackaudio.org/. Current stable version from official website doesn't work with
MacOS Sierra (I use 10.12.3) so you need to download beta version from there https://yadi.sk/d/JwT10b7v3Dm5yy.
After installing reboot your computer.
3. Install Darkice (audio streamer) via brew.
Run this command: brew install darkice --use-llvm
Darkice will be installed with Jack 0.125.0 that doesn't work with used MacOS so we need to uninstall it,
to continue using our Jack beta version.
Run this command: brew uninstall --ignore-dependencies jack
4. Install Icecast (web server for our radio station)
Run this command: brew install icecast
5. Download Icecast (https://yadi.sk/d/aq5OtdWJ3Dm5sb) and Darkice (https://yadi.sk/d/_WVtCjJE3Dm5ti) cfgs
and put to the root folder (I will use commands for root folder in next steps) or any folder you want.
6. Run Icecast with command: icecast -c ~/.icecast.xml
To run it in background add -b key.
If you get an error on this step "FATAL: could not open error logging" - open icecast.xml and change directory to your version
from /usr/local/Cellar/icecast/icecast_current_version.
7. Run JackPilot from Apps. Press Start.
8. Run Darkice with command: darkice -c ~/.darkice.cfg
To run it in background need to use screen.
Go to http://localhost:8000/admin/ and enter the admin-user (admin) and admin-password (hackme) from the icecast.xml
config file.
You should arrive at the admin page.
Suggest you to change user and password in both config files from default to prevent possible attacks.
Your stream available via http://localhost:8000/spin
9. To run radio separately from system sounds I prefer to use VLC player.
Install and run VLC player, go to Audio - Audio Device - and choose JackRouter as audio output.
Play music.
For shuffling use VLC plugin https://addons.videolan.org/content/show.php/Shuffle+Playlist?content=174527
10. Return to JackPilot, press Routing, Connection Manager opens.
Here you'll see in/outs for your system.
Now we need to bind VLC left and right channels to our Darkice server.
Just press on VLC out1 and on darkice left, color should change to red.
Do the same fro out2 and right channel.
11. Open 8000 port in your router settings to get access outside your network.
12. Enjoy your radio.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment