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

sudo apt-get install icecast2

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:

Option Beschreibung
source-password Passwort, mit dem sich DJs oder der Broadcast-Server mit Icecast verbinden
admin-user Benutzername für den Admin-Zugang zur Icecast-Webseite
admin-password Passwort für den Admin-Zugang
hostname Hostname, 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

service icecast2 start

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:

sudo dpkg -i airtime-easy-setup.deb
sudo apt-get update
sudo apt-get install airtime

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

sudo dpkg-reconfigure airtime

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

set httpd port 2812

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

set httpd port 2812 and use the address localhost

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:

<mount>
  <mount-name>/airtime_128</mount-name>
  <hidden>1</hidden>
</mount>
 
<mount>
  <mount-name>/live</mount-name>
  <fallback-mount>/airtime_128</fallback-mount>
  <fallback-override>1</fallback-override>
  <hidden>1</hidden>
</mount>
 
<mount>
  <mount-name>/stream</mount-name>
  <fallback-mount>/live</fallback-mount>
  <fallback-override>1</fallback-override>
  <hidden>0</hidden>
</mount>

Ü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.

13 Gedanken zu „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!

    1. Jens Tautenhahn

      Sicher. Deswegen schrieb ich auch im Einleitungstext, dass sich jeder selber über die rechtliche Situation vor Inbetriebnahme informieren muss. Entsprechende Informationen und auch einen Tarifrechner gibt es auf den Webseiten der GEMA.

      1. byTrackz

        Ich hätte hier noch eine kleine Frage zum Thema GVL...
        Wenn ich ein Webradio auf mache muss ich dass dann bei der GVL anmelden auch wenn ich nur "freie Musik" spiele...
        auch wenn das jetzt doof klingt aber ich möchte einfach nur sicher sein, dass ich nichts Illegales mache..

        Danke schon mal im vor raus

        Liebe Grüße byTrackz

        PS: Danke schon mal im vor raus

        1. Jens Tautenhahn

          So leid es mir tut: genaue Auskunft kann Dir da wohl nur ein Anwalt geben. Ich selbst betreibe kein Webradio, sondern habe mich nur mit der Technik dahinter beschäftigt. Leider habe ich in der Vergangenheit auch schon von Horror-Storys gelesen, wo die GEMA auch bei gemeinfreier Musik Angaben über den Komponisten, Interpreten usw. haben wollte, die bei gemeinfreier Musik gar nicht so einfach oder unmöglich einzuholen sind. Wie gesagt: Hilfe vom Anwalt holen oder sich mit anderen Webradio-Betreibern in Verbindung setzen und dort nachfragen.

          1. byTrackz

            Okay vielen Dank
            Ich werde mich mal mit ein paar Leuten unterhalten, und mir mal von denen Rat holen...

  3. Andreas

    Hallo,
    ich kann mich nicht Anmelden. Ich gebe das richtige Passwort und Benutzernamen ein, aber es funktioniert nicht.

    Danke

    1. Andreas

      Vielen Dank, es hat sich erledigt. Bei meiner Config hat er den Befehl falsch gespeichert.

  4. Gaby

    Kann man mehrere Streams im Mixxx abspeichern? Hab mich da schon durchgesucht, kann aber leider nichts finden. :(

    LG Gaby

    1. Jens Tautenhahn

      Soweit ich weiß: leider nein. Mixxx merkts sich nur die Einstellungen zu einem Stream, die bei Bedarf überschrieben werden müssen.

    2. Micha

      Hallo Gaby,

      in Mixxx Version 2.1 (derzeit nur Beta, soll aber Ende März offiziell erscheinen) kann man mehrere Streams abspeichern. .-)

Kommentare sind geschlossen.