HTML5 "World Receiver" Webradio

Run your own Webradio-Receiver on your own Webserver serving your own Radio-Station Catalog

2020 Andreas Bahr, office at supersaft.ch

Deutscher Text

In Switzerland, Germany & Austria, almost all Long-, Medium- and Shortwave-Radiostations are offline. I am missing some of my favorite Radio-Stations on the air, and i don't like the existing webradio & aggregators, so i decided to roll my own.

Webradio screenshot mobile-phone Webradio screenshot desktop-computer

Because the radio-stations typically only offer 1 or 2 types of encodings, and computers and mobiles don't support every codec properly, i feed urls for different codecs into the database for every station, and let the browser decide which one to use. In case this does'nt work, i can switch manually between streams.

After using an earlier version of this software for some years on Android mobiles and Linux-Desktops, i can say that audio streaming in HTML5 works quite reliable. I had the best experience with Chrome/Chromium. Firefox works also well but sometime loses the stream, you can however restart it by simply pushing the stations button again. Also, the support of different codecs depends on the browser and the operating-system.

The system can be run on any type of webspace, your own webserver, a NAS in your local network or even your laptop with a desktop-webserver, e.g. Bitnami. It can serve many clients at the same time, so it may also be useful for companies or community-use.

The Radio

The Radio is based on HTML5 and uses a responsible layout, which works perfect on mobile devices and desktop computers. It is basically a single webpage and the "raudio" Javascript-library, and can be used as a template for individual designs.

The Frontend connects to the Station Catalog Database on the webserver through a REST-API written in PHP.

Try yourself: volx-empfaenger.supersaft.ch

The Station-Editor

The Editor is a simple PHP-based editor for the station & stream data which is stored in a MySQL-database. For each station, multiple stream-url can be defined, to give access to different codecs and bitrates. When the radio requests data, it gets stream-urls which matches the browsers audio-capabilities.

Station editor screenshot

Manual Installation (Radio & Editor)

The system is based on the LAMP-Stack. The download below gives you access to the raw scripts. You need to setup a database based on the script in /db, and create a website containing the scripts in /www. Finally you adjust the 2 configuration-textfiles in [your-webroot]/config to your needs. See readme.txt for details about this.

When you install the software on a public webserver, i recommend to protect your setup with folder-based access-control. Otherwise, anyone can edit your database. You can install a "Radio-only"-version of this software with read-only access-rights for public use, see below.

Download

License: GPL3

Radio-only Installation

You can install a radio-client on a different folder/server, or run multiple clients on the same or a different database. It only needs read-access for the database and the station-logo folder.

Download

Version: Dec. 19, 2020