local network streaming audio
I have the following use case:
- Server in the living room (needs ethernet)
- Office in the bedroom
- Work machine's audio output into headphones (notifications, meetings, etc)
- SSH into server from work machine, forward audacious to work desktop
- Output audio from audacious to speaker in office
We can achieve it with the following stack:
Configuration for darkice
and icecast
are self-explanitory. Set a predictible name for your darkice
jack client and connect it automatically via the settings in the jack driver for audacious
.
I have a little script to start the streaming setup:
#!/bin/sh if ! pgrep icecast > /dev/null; then echo "starting icecast..." else echo "restarting icecast..." killall icecast fi icecast -c ~/.config/icecast.xml > /dev/null & if ! pgrep jackd > /dev/null; then echo "starting jackd..." else echo "restarting jackd..." killall jackd killall qjackctl fi sleep 1 qjackctl -s >/dev/null & if ! pgrep darkice > /dev/null; then echo "starting darkice..." else echo "restarting darkice..." killall darkice fi sleep 1 darkice -c ~/.config/darkice.cfg > /dev/null & if ! pgrep audacious > /dev/null; then echo "starting audacious..." sleep 1 audacious > /dev/null & fi
From my phone, I install mpv via termux and stream the output from audacious
over the local network that way, with the device plugged into our compact portable speaker.