Springe zum Inhalt

Eigene Radiostation mit Airtime, Mixxx und Icecast

Mit aktueller OpenSource-Software ist es zwischenzeitlich einfach möglich, eine eigene kleine Radiostation zu betreiben. Im Folgenden wird die Installation und Konfiguration von Airtime als Broadcast-Server, Icecast als Streaming-Server und Mixxx als Client für DJs und Moderatoren beschrieben. Airtime und Icecast wird dabei auf einem Ubuntu-Server installiert. Mixxx ist für die Betriebssysteme Linux, Windows und Mac OS X erhältlich. Vorraussetzung ist auf dem Ubuntu-Server ein bereits laufender Apache. Nach der Konfiguration dieser Softwarepakete können eigene Radioshows und DJs eingeplant werden, die mit Mixxx live streamen können. In diesem Artikel wird nur auf die technischen Belange eingegangen. Über die rechtlichen Belange zum Betrieb einer Webradiostation muss man sich vor der Inbetriebnahme des Senders an entsprechenden Stellen informieren.

Icecast

Icecast ist zuständig für die Verteilung des von einem DJ oder einer Broadcast-Software gelieferten Audiostreams an die Zuhörer. Icecast2 ist bereits in den Ubuntu-Quellen vorhanden und kann mit

installiert werden. Die Konfiguration erfolgt anschließend in der Datei /etc/icecast2/icecast.xml. Die Konfigurationsdatei von Icecast2 ist sehr gut dokumentiert. Folgende Parameter sollten angepasst werden:

OptionBeschreibung
source-passwordPasswort, mit dem sich DJs oder der Broadcast-Server mit Icecast verbinden
admin-userBenutzername für den Admin-Zugang zur Icecast-Webseite
admin-passwordPasswort für den Admin-Zugang
hostnameHostname, unter dem der Icecast-Server erreichbar ist

In der Standardinstallation unter Ubuntu wird Icecast2 nicht automatisch gestartet. In der Datei /etc/defaults/icecast2 kann der automatische Start eingeschaltet werden. Von Hand wird der Service mit

gestartet. Anschließend ist der Icecast-Server unter der Adresse http://<hostname>:8000/ erreichbar.

 

Airtime

Mit Airtime werden Shows verwaltet. DJs können nach dem Hochladen von Musikstücken Playlists zusammenstellen. Manager können das Programm und DJs für Shows einplanen. Airtime eignet sich also dazu, vorproduzierte Shows zu einer bestimmten Zeit automatisch auszusenden. Seit kurzem steht eine neue Airtime-Version zur Verfügung, die das Streamen an einen Icecast- oder Shoutcast-Server beherrscht. Leider ist Airtime nicht in den Ubuntu-Quellen enthalten. Vom Hersteller werden aber entsprechende Pakete bereitgestellt. Das aktuelle Paket erhält man immer unter http://apt.sourcefabric.org/misc/airtime-easy-setup.deb. Dieses Paket ist nicht schon das komplette Airtime, vielmehr installiert es weitere Quellen für apt, so dass Airtime mit Hilfe der Paketverwaltung installiert werden kann. Airtime wird dann mit folgenden Kommandos installiert:

Leider setzt Airtime auf die Datenbanksoftware PostgreSQL, welche mit obigen Befehlen automatisch mitinstalliert wird. Eine Umstellung auf das bei vielen Webservern bereits vorhandene MySQL scheint momentan nicht möglich zu sein. Die Konfiguration von Airtime wird anschließend mit dem Befehl

ausgeführt. Mit Airtime werden ein paar weitere Services installiert, die für den Betrieb der Broadcast-Software erforderlich sind. Leider musste ich feststellen, dass nach der Standardinstallation zumindest ein Service von aussen erreichbar ist. Der Service monit lauscht in der ausgelieferten Konfiguration an der öffentlichen Adresse des Broadcast-Servers und ist dadurch von aussen z.B. mit einem Webbrowser erreichbar. Um das zu ändern editiert man alle Dateien im Verzeichnis /etc/monit/conf.d, die airtime im Namen haben. Um monit nicht mehr von aussen zugänglich zu machen, editiert man die Zeile

und fügt hinten eine Beschränkung auf localhost an:

Damit wird monit angewiesen, nur noch auf der localhost-Adresse 127.0.0.1 zu lauschen.

Anschließend ist die Airtime-Weboberfläche unter der Adresse http://<airtime-server>/ zu erreichen. Nach dem Login mit dem Benutzernamen admin und dem zuvor im Konfigurationsschritt festgelegten Passwort erhält man vollen Zugriff auf die Airtime-Weboberfläche.

Mixxx

Mit Mixxx steht eine OpenSource-Lösung für DJs zur Verfügung. Mixxx hat dazu zwei Decks, die anhand der BPM synchronisiert werden können. Außerdem lassen sich Samples für Jingles oder andere Einblendungen hinterlegen. In den Einstellungen werden die Parameter zum Verbinden mit dem Icecast-Server festgelegt:

(anklicken zum Vergrößern)

Unter Host wird der Hostname eingetragen, auf dem der Icecast-Server läuft. Bei Password wird das Passwort eingestellt, welches man oben im ersten Schritt als Source-Passwort in der Icecast-Konfiguration festgelegt hat.

Möchte man Titelinformationen über das gerade gespielte Lied zu den Zuhörern übertragen, muss als Streamingformat MP3 gewählt werden. Soweit mir bekannt ist, unterstützt das OGG-Format diese Übertragung von Titelinformationen nicht.

Innerhalb von Mixxx kann mit der Taste "L" eine Verbindung zum Streaming-Server hergestellt oder auch wieder getrennt werden. Nach dem Starten eines Titels bei aktiver Verbindung zum Streaming-Server ist anschließend der Stream mit obigen Konfigurationsparametern unter der Adresse http://<icecast-server>:8000/live zu hören.

Tipps

Automatische Stream-Umschaltung

Da DJs und der Broadcast-Server nicht in den gleichen "Eingang" in Icecast streamen können, die Zuhörer aber ein laufendes Programm empfangen und auf keinen Fall einen Streamwechsel durchführen müssen sollen, muss eine Lösung für das Umschalten von Broadcast zu Live-DJ gefunden werden. Eine einfache Möglichkeit ist die Nutzung des Failovers in Icecast. Dazu sind in der Icecast-Konfiguration weitere Mount-Punkte einzutragen:

Über den "Eingang" airtime_128 wird der Broacaster Airtime angeschlossen, über live schalten sich die DJs auf und für die Zuhörer wird die Streamadresse http://<Icecast-Server>:8000/stream veröffentlicht.

Wenn sich nun ein Zuhörer auf stream verbindet (auf dem nie etwas eingespeist wird), sorgt der Failover-Mechanismus von Icecast dafür, dass der Zuhörer automatisch mit live verbunden wird, auf dem eventuell gerade ein DJ einspeist. Sollte aktuell auch kein DJ verbunden sein, wird weiter zu airtime_128 verbunden, auf dem der Broadcaster sein Programm einspeist. Sobald sich ein DJ aufschaltet, wird automatisch wieder auf live zurückgeschaltet. Ein Streamwechsel bei den Zuhörern ist so nicht erforderlich.

2 thoughts on “Eigene Radiostation mit Airtime, Mixxx und Icecast

  1. Karsten

    Hi Jens, danke für die tolle Anleitung. Bzgl. Linux und DJ Software bin ich quasi ein DAU. Ich möchte gern Live über laut.fm senden. Leider finde ich bei Mixxx 2.1 nicht einmal den "Knopf", wo ich in die Einstellungen komme, echt peinlich. Kannst Du mir 'n Tipp geben?
    Beste Grüße
    Ralf

  2. Karsten

    OOOPS, hab den "Knopf" gefunden. Hatte vergessen, wo Ubuntu die Navigationsleiste "versteckt". Brauchst die Kommis also nicht scharf machen. ;). Sorry!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.