Radio hören macht Spaß, nur ist man dabei auf den Ausstrahlungsradius des Senders beschränkt. Wer akustisch in die Ferne schweifen will, greift zum Kurzwellenempfänger – oder zum Computer, denn Audio-Streaming funktioniert weltweit. Darunter versteht man die Übertragung von Audio-Daten als kontinuierlichem Datenstrom, also nicht in einzelnen Anfrage-Antwort-Zyklen. Anders als beim Bereitstellen von Musik auf einem Webserver wird beim Streaming eine Datei nicht heruntergeladen, sondern sofort abgespielt. Dies ermöglicht Musikgenuss ohne Verzögerung.
Gute Kompressionsverfahren, zum Beispiel MP3 und und Ogg-Vorbis machen das Klangvergnügen auch mit einer DSL-Leitung möglich. Es gibt eine Vielzahl von Lösungen, die Audio-Streaming erlauben. So existieren spezielle Module für den Webserver Apache und komplexe Systeme aus Server und Streaming-Clients. Dieser Artikel zeigt eine Form des Streamings mit dem einfach zu handhabenden Programm GnuMP3d [1].
Einstecken, loslegen
GnuMP3d bietet eine Möglichkeit, Filme und MP3- sowie Ogg-Vorbis-Dateien über ein Netzwerk verzögerungsfrei zu streamen. Die Entwickler haben speziell darauf geachtet, dass das Programm einfach zu handhaben und vor allem sicher ist. Seit seiner Entwicklung trat erst ein Sicherheitsfehler auf. Das Programm selbst ist in Perl programmiert, wodurch es auf nahezu jeder Hardware-Architektur läuft.
Nachdem Sie die im Kasten "Nur entpacken" beschriebene Installation abgeschlossen haben, können Sie an die Konfiguration gehen.
Nur entpacken
Da es sich um ein Perl-Programm handelt, wird GnuMP3d im Gegensatz zu vielen anderen Programmen nicht aus den Quellen kompiliert. Die einzigen Voraussetzungen sind ein funktionierendes Linux-System und Perl [2]. Außerdem benötigen Sie das Paket gnump3d-2.9.3.tar.bz2 [3], das Sie auch auf der Heft-CD finden. Entpacken Sie es in einem temporären Verzeichnis (zum Beispiel /tmp) und wechseln Sie dann in das entstandene GnuMP3d-Verzeichnis.
cd /tmp tar xvfj gnump3d-2.9.3.tar.bz2 cd gnump3d-2.9.3
Jetzt müssen Sie nur noch als root den Befehl make install ausführen. Das Binärprogramm befindet sich anschließend im Verzeichnis /usr/bin, die Konfigurationsdateien in /etc/gnump3d.
Wenn das Linux-System GnuMP3d beim Booten des Computers automatisch starten soll, benötigen Sie ein passendes Startskript. Das Paket liefert mehrere solcher Skripte für verschiedene Linux-Distributionen mit. Anschließend legen Sie einen Link vom Runlevel-Verzeichnis auf das Startskript an. Folgende Beispiel veranschaulicht die Methode für ein Debian-System:
cd /tmp/gnump3d-2.9.3/rcfiles cp debian /etc/init.d/gnump3d ln -s /etc/init.d/gnump3d /etc/rc2.d/S99gnump3d
Dafür öffnen Sie die Datei /etc/gnump3d/gnump3d.conf in einem Editor. Listing 1 zeigt nur die wichtigsten Konfigurationsvariablen. Alle weiteren führt die Manpage zu gnump3d.conf auf. Besonders wichtig ist die Zuweisung einer Port-Nummer (Zeile 01). Über den angegebenen Port stellt GnuMP3d später die Streams und die Web-Oberfläche zur Administration zur Verfügung. Es bietet sich an, eine große Nummer zu wählen (zum Beispiel 8888), da kleine Nummern in der Regel für andere Serverdienste reserviert sind. Verwenden Sie eine Port-Nummer größer 1024: Sonst müssen Sie den Server als Administrator laufen lassen, was ein Sicherheitsrisiko darstellt.
Der Eintrag root in der Konfigurationsdatei gibt an, in welchem lokalen Verzeichnis sich die Musik befindet, die GnuMP3d verwalten soll. Die Anweisung allowed_clients=all weist den Server an, Verbindungen von jedem Computer anzunehmen. Damit GnuMP3d nur Anfragen von bestimmten Clients akzeptiert, können Sie hier auch IP-Nummern eintragen. Die Option theme legt das Aussehen der Weboberfläche fest. Das GnuMP3d-Paket enthält 12 solcher Oberflächen. Gültige Angaben für die Themes sind die Verzeichnisnamen in /usr/share/gnump3d/.
Weisen Sie der Variable enable_password_protection den Wert 1 zu, schützt GnuMP3d die Weboberfläche mit einem Benutzernamen und einem Passwort. Damit dieser Eintrag Wirkung zeigt, müssen Sie im mit root angegebenen Verzeichnis eine Datei .password anlegen, die Einträge im Format Benutzer:Passwort enthält. Die Variable in Zeile 06 beschreibt, ob die Musik erst heruntergeladen (0) oder richtig gestreamt, das heißt während des Herunterladens abgespielt werden soll (1). Damit GnuMP3d überhaupt die beschriebene Web-Oberfläche zur Verfügung stellt, muss die Variable enable_browsing den Wert 1 erhalten. Wenn Sie eine zufällige Abspielreihenfolge der Dateien wünschen, stellen Sie recurse_randomize auf 1. Andernfalls kommentieren sie die Zeile einfach mit # aus. Alle anderen Einträge in gnump3d.conf können Sie in der Regel bei den Voreinstellungen belassen.
Listing 1
/etc/gnump3d/gnump3d.conf
01 port = 8888 02 root = /home/name/musik/ 03 allowed_clients = all 04 theme = LaFrere 05 enable_password_protection = 1 06 always_stream = 1 07 enable_browsing = 1 08 recursive_randomize = 1
Die Web-Oberfläche
Zu Verwaltung der MP3-Dateien dient die Web-Oberfläche von GnuMP3d (Abbildung 1). Um sie zu erreichen, geben Sie in die Adresszeile des Web-Browsers eine URL nach dem Muster http://IP-Adresse:Port-Nummer ein, zum Beispiel http://192.168.1.2:8888. Haben Sie den Passwortschutz eingeschaltet, fragt der Server Sie nach Benutzernamen und Passwort.
Der erste Start von GnuMP3d dauert ein wenig, da das Programm zuerst eine Liste aller Audio- und Media-Dateien erstellt. Verändert sich danach das Archiv nicht mehr, können Sie GnuMP3d mit der Option --fast starten, damit es nicht bei jedem Start diese Liste neu anlegt. Benutzen Sie ein Init-Skript, dann tragen Sie die Option dort ein.
Die Web-Oberfläche bietet verschiedene Funktionen. Sie listet unter Archive Size Größe und Spiellänge aller Medien auf, bietet eine Suchfunktion und Zugriffsstatistiken. Zudem können Sie komfortabel Playlists zusammenstellen (Abbildung 2).
Um das Aussehen des Web-Interfaces zu verändern, wählen Sie entweder ein vorhandenes Theme (Abbildung 3) oder schreiben ein eigenes in einem HTML-ähnlichen, einfachen Format. Selbst erstellte Themes legen Sie als Verzeichnisse in /usr/share/gnump3d ab. Sie müssen die Themes nicht in der Konfigurationsdatei aktivieren, da die Web-Oberfläche ebenfalls über einige Einstellungsmöglichkeiten verfügt.



