WestBroadcast Streamer is more than a simple Audio over IP decoder. It transforms a computer into a full-fledged broadcasting tool with two backup sources, ensuring that a program is always broadcast over an FM transmitter, for example. Email alerts keep you informed of any potential issues with the sources in use.
This broadcasting solution is primarily suited for small radio stations that, for cost reasons, prefer to use a computer to receive their audio stream via IP in order to broadcast from a transmitter site. It can also be used in a small store or even at home to provide continuous background music, without worrying about potential network or IP stream issues.
Entirely open source, this solution is based on the FFmpeg audio engine and FFprobe, as well as a Python script.
The decoder is configured and monitored via a secure web interface.
WestBroadcast Streamer runs as a portable installer. This means you can use it anywhere, even from an external hard drive or a USB drive.
This software has been tested on several computers running Windows 10 and 11, with success.
Any feedback regarding other operating systems is welcome!
• Full control over the reception and playback of audio sources via a secure and remotely controllable webserver with two different accounts (Administrator and Operator). Monitoring of input and output audio thanks to VU meters.
• Two backup sources that are automatically triggered if silence is detected on the main audio stream (or in case the streaming server becomes inaccessible). The rules for detecting silence and restoring audio can be configured according to the user’s preferences.
• Playback of IP streams (HTTP and HTTPS), RTP streams, audio input devices, local files (such as backup loops), and tests tones thanks to a generator.
• A server for uploading backup files remotely.
• Full control over input and output gain (dB), as well as buffer sizes.
• Export of metadata (Current song title), if available on the IP stream, to a text file on the host machine, with the option to convert letters to uppercase and remove accents. This is useful for displaying songs titles on Radiotext (RDS).
• Alert mails being sent via SMTP in case of anomalies detected on one of your sources, to keep you informed of the decoder and broadcast status.
• The ability to analyze the audio output in various ways, view system/authentication logs, and much more...
👉 For further details, visit the Wiki section by clicking here.
-> Download the entire content of the repository by clicking here.
-> Extract the content of the .zip file and place the files wherever you like.
-> Install Python 3.10 or newer on your computer from the official website by clicking here.
IMPORTANT: When installing Python, make sure to check the "Add Python to PATH" box, otherwise the decoder will not work properly!
-> Ideally, as is customary, restart your computer after installing Python.
-> Go back to the folder containing the decoder files, and run Launcher.bat.
When started for the first time, it will install the Python dependencies required for the decoder to work properly. This may take a few minutes.
Even if nothing appears to be happening on the terminal, please wait until the process is complete.
-> Once the installation is complete, the audio engine and web server will start up.
A Python window will open, displaying your machine's IP address, the port used by the webserver, and the default login credentials.
Be sure to keep this window open on the host machine (it's used for audio output), as well as the terminal!
You must configure the decoder via the web interface.
The default port is 8090 and the credentials are admin / admin.
(Changing the credentials at first use is STRONGLY recommended to prevent any unauthorized access!)
For more details, visit the Wiki section by clicking here.
For the next startups, simply run Launch.bat as you did during the initial installation.
At each startup, the script checks that all required dependencies are present on your machine, then starts the audio engine and the webserver.
Having trouble with the software? Check out this Wiki section to see if that helps.
If not, feel free to open an "issue" with as much detail as possible.
This project is licensed under the GNU General Public License (GPL) v3.0.
Please refer to the LICENSE file for more details.
This project uses the FFmpeg and FFprobe libraries and executables for processing and analyzing audio streams.
• License: FFmpeg is licensed under the GNU General Public License (GPL) v3.0.
• Redistribution: The binaries provided in this repository are unmodified static versions compiled by Gyan.dev.
• Source Code: In accordance with the GPL license, the FFmpeg source code is available on ffmpeg.org.
• Trademark: FFmpeg is a registered trademark of Fabrice Bellard, creator of the FFmpeg project.
For more details, please refer to the FFmpeg-LICENSE.txt file included in this repository.
The socket.io.js file included in the /static folder is part of the Socket.io library.
License: MIT License.
Copyright (c) 2014-2025 Automattic.
This project uses the following libraries, automatically installed by the Launcher script:
• Flask / Werkzeug: BSD-3-Clause License.
• Flask-SocketIO: MIT License.
• Sounddevice / PortAudio: MIT License.
• NumPy: BSD-3-Clause License.

