Streaming live audio for large scale events


I want to share a solution for live streaming music, voice and text to speech for your domain, that can be used for large events, without overloading the audio mixer.
The solution is based on Icecast server, a virtual input device and a streaming application.
The music can be played in your domain using a small web entity.

  1. Download and install VB Cable virtual audio device (that work like a virtual audio cable for routing audio output to input):

  2. Download and install butt (broadcast using this tool):
    Butt is an easy to use, multi OS streaming tool. It supports ShoutCast and IceCast and runs on Linux, MacOS and Windows.
    The main purpose of butt is to stream live audio data from your computers Mic or Line input
    to an Shoutcast or Icecast server. Recording is also possible.

  3. Install an Icecast server:
    or use a free Icecast free service. You will find a lot using a web search.
    You can freely use my server, deployed for this purpose, available at:

  4. Install in your Chrome browser the Audio Pick extension:
    This extension let you select the audio output device for your browser. You must select Cable input:
    In this way you can use Youtube, Soundcloud, or any other websites as a music source, and web TTS applications like: for your dedications and announcements.

  5. You can use VLC, Traktor DJ, Winamp, or any other music application as a music source, by configuring the audio output device to be Cable Input. For example for VLC player go to Tools/Preferences/Audio:

*** You can use (without Virtual Cable) your computer audio input source for broadcast live DJ performances, in this case the audio output from their mixer will be connected to the audio input source of your broadcasting computer.

6 Open previously installed Butt application, and configure it:

You must configure first the audio input source (In our case Cable Output), sampling rate, codec and bitrate:

For HighFidelity the best codec is Opus. For a good sound quality you can chose a bit rate something between 96 to 320 kb/sec.

Now you must configure your Icecast server:

You must enter the web adress of the server (to use my server the adress is:
The port (usually port 8000), publishing password for my server is: hifi, IceCast user: source
and IceCast mountpoint: something. This will be the name of your stream. Chose something unique.

Click Save, and you are done.

To start the broadcast, press play button, to record locally your stream, press record.

To play your stream inside HighFidelity, create and publish to a webserver this html file that will be added to a webEntity:

<audio autoplay controls="controls" preload="none"><source src="" type="audio/ogg" codecs="opus">Your browser does not support the audio element.</audio>

In the source src= you must put your IceCast server mounting point (IP:port/IceCast mountingPoint) previously configured in Butt.

Happy streaming!


Thanks @GeorgeDeac! This works a treat! :slight_smile: