Im Zeitalter von DSL machen genügend Bandbreite und Tools wie Icecast Live-Audio-Streaming vom eigenen Rechner aus möglich. Doch womit den Icecast-Server füttern? Mit MuSE steht eine komfortable Streaming-Quelle zur Verfügung.
out of the box
Es gibt tausende Tools und Utilities für Linux. “out of the box” pickt sich die Rosinen raus und stellt pro Monat ein Progrämmchen vor, das wir für schlichtweg unentbehrlich oder aber zu Unrecht wenig beachtet halten.
Ein Name wie MuSE weckt sofort Assoziationen an die schönen Künste – und obwohl das Akronym die sperrige Bezeichnung “Multiple Streaming Engine” abkürzt, geht der Gedanke in die richtige Richtung: Hinter MuSE verbirgt sich ein allgemeines Werkzeug zum Mischen von bis zu sechs Audiokanälen, die entweder durch das Abspielen lokaler MP3– und Ogg Vorbis-Dateien oder durch Streams von Shoutcast/Icecast-Servern belegt sein dürfen. Zusätzlich kann der Mikrofoneingang der Soundkarte als Signal zugemischt werden.
Das Ergebnis gibt MuSE lokal über die Soundkarte aus und/oder schickt es als Stream an einen Icecast-Server. Dieser verbreitet das Signal an alle mit ihm verbundenen Clients weiter.
Selbst gebaut
Damit sich MuSE beim Kompilieren automatisch prozessorspezifisch optimiert, lohnt es sich, das Programm aus seinem Quelltext selbst zu übersetzen. Damit das geht, müssen der C/C++-Compiler gcc, die gtk-Bibliothek samt Header-Dateien und der MP3-Encoder lame installiert sein. Die Bibliotheken und Header-Dateien für Ogg Vorbis sind optional: Liegen sie auf dem System vor, werden sie benutzt, wenn nicht, bleibt MuSE auf MP3-Dateien beschränkt.
Das MuSE-Quellarchiv finden Sie auf der Heft-CD oder unter http://muse.dyne.org/. Eine ausreichend aktuelle Version von lame (3.93.1) kopieren Sie von http://lame.sourceforge.net/.
Dieses Paket muss als erstes kompiliert und installiert werden:
tar xzf lame-3.93.1.tar.gz cd lame-3.93.1 ./configure && make su (root-Passwort eingeben) make install ; strip /usr/local/bin/lame exit
Im zweiten Schritt übersetzen Sie MuSE:
tar xzf MuSE-0.8.tar.gz cd MuSE-0.8 ./configure --with-x && make su (root-Passwort eingeben) make install ; strip /usr/local/bin/muse exit
Ohne Sendemast
Auch ohne Icecast-Server ist MuSE durchaus zu gebrauchen. So können Sie “lokale Trockenübungen” machen, bevor Sie wirklich auf Sendung gehen. Dazu starten Sie das Programm mit der Befehlszeile muse & aus einem X-Terminal wie xterm oder konsole.
Im obersten Bereich seiner grafischen Oberfläche (Abbildung 1) befinden sich sechs Buttons, die von links nach rechts die Funktionen Let’s stream (zum Streaming-Server verbinden), Add channel (Kanal hinzufügen), Line In (Mikrofon einblenden), Speaker (Wiedergabe über lokale Soundkarte), Vumeters (Aussteuerungsanzeige) und Hall of Fame (Liste der Programmierer) anbieten.
Wer lieber auf der Kommandozeile operiert (etwa weil der auserkorene Rechner gar keine grafische Oberfläche installiert hat), gibt dem configure-Skript bei der Installation zusätzlich die Option –with-rubik mit und startet MuSE mit dem Befehl muse -g ncurses (Abbildung 2).
In der grafischen Variante verfügt jeder Kanal über seinen eigenen Satz Bedienelemente. Dazu zählen Lautstärkeregler, Play-, Stopp- und Pausetaste sowie Songpositionsanzeige. Da sich alle Kanäle unabhängig voneinander bedienen lassen, fungiert MuSE ohne Weiteres als einfaches digitales Mischpult mit mehreren Abspiellisten und Überblendeffekten. In Abbildung 1 spielt die Musik nur auf den Kanälen 3 und 4 Musik, auf letzterem mit auf 30 Prozent reduzierter Lautstärke. Das Kontextmenü der rechten Maustaste nimmt neue Songs in die Playliste des jeweiligen Kanals auf oder entfernt bereits aufgeführte.
Senden und senden lassen
Zum Senden der so gemixten “Radio-Programme” übers Internet kommt im Normalfall ein externer Icecast-Server zum Einsatz, der über genug Bandbreite für alle Clients verfügt. Mit dem Button Let’s stream konfigurieren Sie den Zugang zum Server; das Dialogfenster dazu zeigt Abbildung 3.
Schneller lassen sich die Server-Einstellungen über Kommandozeilenoptionen festlegen. So verbindet sich MuSE auf den Befehl
muse -e mp3 -b 56 -r 22050 -s 1.2.4.8:8000 -p letmein &
hin mit Port8000 des Servers mit der IP-Adresse 1.2.4.8. Als Stream-Format kommt MP3 mit einer Bitrate von 56 kBit/s und 22.05 kHz Sample-Rate zum Einsatz. MuSE meldet sich mit dem Zugangspasswort letmein beim Server an: Nachdem die Verbindung zu diesem steht, können Sie sich um die Kanäle und Playlisten kümmern und schließlich die Wiedergabe über den Server starten.
Natürlich darf der Streaming-Server auch auf dem Rechner laufen, der die Streaming-Quelle liefert. Deshalb finden Sie auf der Heft-CD der Vollständigkeit halber auch ein Icecast-Paket, mit dem die Sendeausrüstung komplett ist. Dessen Installation erledigen die Befehle aus Listing 1.
Listing 1
Installation des Icecast-Servers
tar xzf icecast-1.3.12.tar.gz cd icecast-1.3.12 ./configure && make su (root-Passwort eingeben) make install strip /usr/local/icecast/bin/icecast ln -s /usr/local/icecast/bin/icecast /usr/local/bin/icecast exit
Den lokalen Icecast-Server mit seiner Bedienkonsole starten Sie nun mit der Kommandozeile
icecast -P 8282
und ändern die Server-Einstellungen in MuSE auf die IP-Adresse 127.0.0.1 und den Port 8282. Die Hörer Ihres Online-Radios können sich jetzt direkt zu Ihrem Rechner verbinden und – wenn es die Bandbreite zulässt – Ihre Musikauswahl genießen. Über seine Konsole, die auch Statusinformationen anzeigt, lässt sich icecast mit dem Kommando shutdown beenden.
Hinterbandkontrolle
Zur Kontrolle des eigenen gesendeten Signals bietet sich ein lokaler MP3-Player wie xmms an. Damit dieser die Soundkarte für sich allein hat, starten Sie MuSE mit der Option -o, die jeglichen Zugriff auf die Soundkarte durch das Streaming-Tool verhindert.
Im xmms wählen Sie nun aus dem Hauptmenü den Punkt Play location oder drücken [Strg-l]. Daraufhin erscheint ein Eingabefeld, in das Sie http://127.0.0.1:8282 eintragen. Nach kurzer Verzögerung (der Stream wird gepuffert) sollte die “Hinterbandkontrolle” funktionieren (Abbildung 4).

Abbildung 4: XMMS hört ab
Glossar
-
MP3
-
“MPEG 1 Audio Layer 3” bezeichnet ein Verfahren, das Audiodaten in CD-Qualität ohne hörbare Verluste auf ca. ein Elftel der Ausgangsgröße reduziert.
-
Ogg Vorbis
-
Die patentfreie Alternative zu MP3.
-
Shoutcast/Icecast
-
Verfahren zum Übertragen von live ausgestrahlten Audio-Streams an einen oder mehrere Empfänger. Als Quelle wird ein MP3- oder Ogg-Signal eingespeist. Beim Streaming kann eine Player-Software die Daten bereits während des Empfangs abspielen; sie muss also nicht warten, bis eine Datei vollständig übertragen wurde.
-
Kompilieren
-
Das Übersetzen des Quelltextes einer Software in ein ausführbares Programm (“Executable”). Dies geschieht mit Hilfe eines Compilers.
-
Header-Dateien
-
Die Header- oder Include-Dateien listen alle verfügbaren Funktionen einer Bibliothek nebst Parametern auf. Diese Information braucht der C(++)-Compiler beim Übersetzen eines Programms. Bei den gängigen Distributionen trägt ein Header-Paket zu einer Bibliothek üblicherweise den Zusatz “dev” oder “devel” im Namen. Solange dies nicht installiert ist, schlagen Kompilierversuche fehl.
-
Port
-
Eine Anlegestelle für Netzwerkverbindungen. Die Ports tragen Nummern, und viele sind über diese Zahl einem Dienst zugeordnet. Programme, die sich an Ports “binden”, können darüber Dienste zur Verfügung stellen, etwa Dateitransfer oder Remote-Logins.








