Code-Outlet von Andreas Bahr, Zürich
Beispiel zum ausprobieren: volx-empfaenger.supersaft.ch
In der Schweiz, in Deutschland und in Österreich, wurden in den vergangenen Jahren alle Lang-, Mittel- und Kurzwellen-Sender ausgeschaltet. Weil ich einige der betroffenen Sender vermisse, und mit den existierenden Apps und Webradios nicht happy bin, habe ich mein eigenes, komplett unabhängiges Webradio programmiert.
Ich habe eine frühere Version dieser Software einige Jahre auf Android-Handys und Linux-Computern benutzt. Die Erfahrung hat gezeigt, dass HTML5 Audio-Streaming recht zuverlässig funktioniert. Die besten Erfahrungen habe ich mit Chrome/Chromium gemacht. Firefox funktioniert grundsätzlich gut, stopt aber gelegentlich das abspielen des Streams. Das Problem kann durch erneutes drücken des Stations-Logos behoben werden. Die Unterstützung von verschiedenen Codecs, sowie die Audio-Qualität, hängt ausserdem vom Browser und dem verwendeten Betriebs-System ab.
Weil oft nur 1 oder 2 Codierungen angeboten werden und Computer/Handies nicht jeden Codec unterstützen, erfasse ich URLs für verschiedene Codecs für jeden Sender in der Datenbank und lasse den Browser entscheiden, welchen er verwenden möchte. Eine manuelle Auswahl des Streams ist möglich.
Die Software kann auf jeder Art von Webspace, Webserver, einem NAS im lokalen Netzwerk, oder auch auf einem Laptop mit installiertem Webserver, betrieben werden. Die Software eignet sich auch für den Einsatz in Firmen oder Vereinen, da eine grösse Menge Computer bedient werden kann.
Das Webradio benutzt HTML5 und hat ein "Responsible Layout", dass sowohl auf kleinen Handy-Bildschirmen wie auch auf dem grossen Bildschirm eines Computers perfekt funktioniert, mit oder ohne Touch. Technisch besteht es aus einer einzigen HTML-Datei und der "raudio" Javascript-Bibliothek, und kann als Vorlage für individuelle Designs verwendet werden.
Die Verbindung zur Datenbank geschieht über ein in PHP geschriebenes REST-API.
Der Editor ist ein einfaches, in PHP geschriebenes Programm zur Verwaltung der Sender-Daten. Als Datenbank wird MySQL benutzt. Pro Sender können mehrere Stream-Adressen erfasst werden, mit verschiedenen Codecs und Bandbreiten. So kann das Radio jeweils zum Browser passende Stream-Adressen nutzen.
Die Software benutzt den LAMP-Stack (Webserver mit PHP & MySQL). Im Download enthalten sind die Scripts zum erstellen der Datenbank (in /db), sowie des Web (in /www). Abschliessend müssen die beiden Konfigurations-Dateien in [web-site-adresse]/config angepasst werden, Information dazu findet sich in readme.txt.
Der Editor sollte auf keinen Fall frei zugänglich im Internet installiert werden, ich empfehle die Standart-Authentifizierung des Webservers zu verwenden. Andernfalls kann die Datenbank von jedermann/frau bearbeitet werden. Ich empfehle ausserdem die in der rechten Spalte angebotene "Nur Radio"-Installation zusätzlich zu nutzen für eine komplette Trennung vom Editor-Web.
Benutzungs-Bedingungen / Lizenz: GPL3 (Deutsche Übersetzung)
Für eine separate Installation des Radio-Client werden lediglich read-only Zugriffsrechte auf die Datenbank und das Verzeichnis mit den Stations-Logos benötigt. Es kann eine beliebige Zahl "Nur Radio" Installation verwendet werden, die auf die gleiche/verschiedene Datenbanken auf dem selben oder einem anderen Server zugreifen können.
Version: 19.12.2020