This guide is heavily based on derek's guide but i used liquidsoap instead of darkice and vnc for headless linux server.
Lets say you have some users talking in a mumble server and want to brodcast that conversation but dont want people to join and interfare but want people able to listen to. So, here's how to do that.
- Mumble Client
- Savonet Liquidsoap
Here i'm gonna do it in ubuntu.
If you are doing this in a headless server you'll also need vncserver. Realvnc is my favorite but tightvnc will also do.
Now install icecast
apt-get install icecast2
if you choose not to configure icecast2 during installation here's how to do that manually.
There is many configuration with comments, change them if you want, but at least we need to change the default passwords. change
Now enable icecast2, open
Now start icecast2
Point your browser to SERVER_IP:PORT to see icecast.
Skip this if you already have installed and access to Desktop Environment.
Now to run mumble, we need a DE. you may install lxde (as a lightweight DE)
apt-get install lxde
Start a vnc session which will also start the X server.
Now go to your own computer's desktop and using any VNC client, connect to you server. Credentials will be like host:
serverip:1 and your vnc password.
Assuming you were using ssh so far, now switch to DE, and start lxterminal to further complete tasks ahead.
Now we need to create a virtual device in pulseaudio from where we'll be capturing the mumble session and to where mumble should send its output.
To do that, run,
pactl load-module module-null-sink sink_name=stream
Start mumble from menu or running
mumble in terminal. Most important thing to set is
- Settings->Audio Output
System = PulseAudio
Device = Null Output
You can leave other configs as default.
Now connect to desired mumble server/channel.
Now the final task, link mumble's output to icecast. It is a good idea to check out quick start guide which'll give you a clear idea about Liquidsoap.
We'll create a liq script.
Now the main tricky part, you need to change the content of the script.
You need to change
example_host to your icecast server's ip or address.
source_password to the
<source-password> set in icecast.
Now everything is set, fire things up
Now go to icecast and listen your mumble conversation
- If icecast fails to start, check that the port (default 8000) is not being used by another process. It took away 30 minutes of my life, nginx was blocking 8000 port.
- Try running liquidsoap in verbose mode
liquidsoap -v sk.liqif you are having trouble with it.
Thats all Let me know your thoughts in comment section.