out of the box: MuSE

Aus LinuxUser 06/2003

out of the box: MuSE

Von der Muse geküsst

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.

Abbildung 1: MuSE mit vier Kanälen

Abbildung 1: MuSE mit vier Kanälen

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

Abbildung 2: Der Textmodus

Abbildung 2: Der Textmodus

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.

Abbildung 3: Server konfigurieren

Abbildung 3: Server konfigurieren

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

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.

LinuxUser 06/2003 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben