Einfacher geht’s nicht: Ohne große Fummelei streamt der Mediaserver Firefly Musik und Internetradio für iTunes- oder Banshee-Clients ins heimische Netz.
iTunes ist in diesen Tagen das mit Abstand beliebteste Programm zur Wiedergabe von Musik auf dem PC, mit Banshee steht ein komfortables Pendant auch für Linux zur Verfügung. LinuxUser zeigt Ihnen, wie Sie mit dem Mediaserver Firefly [1] nicht nur via iTunes und Banshee in Ihrem lokalen Netzwerk plattformübergreifend Musik hören, sondern auch DVB- und Shoutcast-Radio-Streams transportieren.
Einsatzgebiete
Stellen Sie sich folgendes Szenario vor: In Ihrem Netzwerk gibt es zwei stationäre Rechner; zusätzlich verwenden Sie ein Notebook als portable Arbeitsstation. Ein älterer PC dient als Gateway, Print- und Fileserver. Auf den drei Arbeitscomputern lagern jeweils Teile Ihrer Musiksammlung. Sind Sie mit dem Notebook im Haus unterwegs, stehen Ihnen nur noch die Songs zur Verfügung, die auf dem Notebook lagern. Um auf die komplette Musiksammlung zugreifen zu können, müssten alle Rechner im Haus laufen. Zudem ist es sehr unkomfortabel, die Musik über Samba- oder NFS-Shares zu teilen.
iTunes bietet für dieses Problem eine komfortable Lösung: Über DAAP, ein von Apple entwickeltes Protokoll zum Teilen von Musik, kann jeder iTunes-kompatible Client im Netz auf freigegebene Musikstücke zugreifen. Läuft auf Ihrem Rechner iTunes, dann sieht jeder iTunes-Anwender im lokalen Netz Ihre freigegebene Musik und hört diese per Mausklick. Allerdings läuft iTunes nur auf Mac OS oder Windows – sie müssten also einen Rechner mit einem dieser Betriebssysteme versehen, diesen mit Ihrer Musiksammlung bestücken und zur Versorgung der anderen Clients stets laufen lassen. Eben dieses Problem umgeht Firefly.
Der Firefly-Mediaserver bietet eine freie Implementierung des DAAP-Protokolls und funktioniert wie ein iTunes-Client: Er scannt die Festplatte nach Musikstücken ab und sendet Informationen darüber ins lokale Netzwerk. Dort werten DAAP-kompatible Programme das Angebot aus und zeigen es dem Benutzer an. Um sich ein Stück anzuhören, klickt der in seinem Abspielprogramm auf den entsprechenden Titel, worauf der Firefly-Server diesen über das Netzwerk anliefert. Salopp formuliert, handelt es sich also um eine Art “Streaming on demand”.
Wenn Sie nun Ihre Musik von sämtlichen Rechnern im Netz auf den ohnehin permanent eingeschalteten Router überspielen und dort den Firefly-Mediaserver installieren, muss kein weiterer Rechner laufen, um von allen PCs im Heimnetz auf die zentrale Audiothek zuzugreifen.
Preiswerter Multimedia-Server
Möchten Sie einen Firefly-Server installieren, haben aber keinen passenden Server zur Hand, dann hilft der NSLU2 von Linksys aus der Patsche. Das Gerät, über das sich externe Festplatten in Netz einbinden lassen, bekommen Sie im Handel für rund 75 Euro; zusätzlich benötigen Sie einen externen Datenspeicher. Rüsten Sie den NSLU2 mittels Unslung oder Openslug auf Linux um [8] und installieren Sie Firefly wie zuvor erklärt. Für insgesamt 200 Euro bekommen Sie so einen kleinen Computer, der keinerlei Lärm macht und im Netzwerk nicht nur als Multimedia-Server treue Dienste leistet.
Firefly installieren
Firefly hat in den letzten Wochen einen Namenswechsel durchgemacht: Früher hieß das Projekt Mt-daapd, und noch sind nicht alle Nachwehen dieser Namensumstellung abgeklungen. So gibt es für kaum eine aktuelle Distribution fertige Pakete; auf der Heft-CD finden Sie Binaries der momentanen Stable-Version 0.2.4 für Debian sowie Fedora Core 3 und 4.
Für andere Distributionen müssen Sie Firefly wohl oder übel selbst übersetzen. Dazu können Sie das Stable-Quellarchiv von der Heft-CD nutzen. Da sich die Firefly-Entwicklung jedoch momentan im Fluss befindet, besorgen Sie sich am besten die aktuellsten Firefly-Quelltexte aus dem SVN-Verzeichnis des Projekts.
Das hört sich gefährlicher an, als es ist: In der Praxis geht dabei selten etwas schief. Laden Sie den vorgepackten aktuellen “Nightly”-Snapshot [2] herunter – er versteckt sich hinter einem Link der Form mt-daapd-svn-Build.tar.gz, wobei Build für die vierstellige Build-Nummer steht. Entpacken Sie dann die Quellen, wechseln Sie in das Quellverzeichnis und führen Sie dort den bekannten Dreierschritt ./configure, make und make install aus. Anschließend findet sich der Firefly-Mediaserver (mt-daapd) in /usr/local.
Konfiguration
Die Datei mit den Konfigurationseinstellungen finden Sie in /usr/local/etc, sie heißt mt-daapd.conf (siehe Listing 1). Für fast alle Werte belassen Sie die Vorgaben, die Einstellungen für admin_pw (Administrator-Passwort) und servername (deskriptiver Name des Servers) sollten Sie aber in jedem Fall anpassen. Hinter mp3_dir tragen Sie den Ordner ein, in dem die Musiksammlung lagert. Als db_type (Format der Musikdatenbank) geben Sie sqlite3 an. Nach dem Speichern der Konfigurationsdatei starten Sie Firefly mit dem Befehl:
/usr/local/sbin/mt-daapd -c /usr/local/etc/mt-daapd.conf
Danach dauert es noch eine Weile, bis Sie den Namen des neuen Multimedia Servers auf iTunes-Clients im Netz auch tatsächlich zu sehen bekommen: Bevor Firefly seine Dienste zur Verfügung stellt, scannt er zunächst das mp3_dir nach vorhandenen Liedern und legt eine entsprechende Datenbank an.
# mt-daapd.conf (Beispiel) [general] web_root = /usr/local/share/mt-daapd/admin-root port = 3689 admin_pw = mt-daapd db_type = sqlite3 db_parms = /var/db/mt-daapd mp3_dir = /home/mp3 servername = iTunes server runas = daapd # Distributionsabhängig! extensions = .mp3,.m4a,.m4p ssc_codectypes = ogg,flac,alac ssc_prog = /usr/local/bin/mt-daapd-ssc.sh logfile = /var/log/mt-daapd.log scan_type = 2 [plugins] plugin_dir = /usr/local/share/mt-daapd/plugins plugins = rsp.so,ssc-script.so
Webinterface
Firefly stellt ein Webinterface zur Verfügung, über das Sie den Streamingserver per Mausklick konfigurieren. Um darauf zuzugreifen, öffnen Sie im Browser die URL http://Server-IP-Adresse:3689. Bei der Authentifizierung lassen Sie das Feld Benutzername leer und geben bei Passwort das in der Konfigurationsdatei festgelegte Passwort (admin_pw) ein. Danach sehen Sie die Firefly-Startseite (Abbildung 1), die alle wichtigen Funktionen zusammenfasst.

Abbildung 1: Das Firefly-Webinterface erlaubt den komfortablen Zugriff auf Statistiken und Konfiguration des Musikservers.
Am häufigsten werden Sie die Funktion benötigen, die den Firefly-Mediaserver nach neuen Liedern forschen lässt. Start Scan sorgt dafür, dass er stichprobenartig sucht; Start Full Scan bringt das Programm dazu, die vorhandene Datenbank zu löschen und völlig neu zu erstellen.
TIPP
Aktualisieren Sie die Firefly-Datenbank nach Möglichkeit stets über die Schnellsuche: Die Zeitersparnis im Vergleich zum kompletten Suchlauf ist immens.
Außerdem finden Sie auf der Startseite des Webinterfaces auch ein paar statistische Angaben – darunter, wie viele Hörer es aktuell gibt oder wie viele Lieder der Firefly-Server seit dem letzten Neustart an Clients gestreamt hat.
Links sehen Sie das Navigationssystem, das Zugriff auf sämtliche anderen Funktionen des Webinterfaces bietet. Hinter Smart Playlists verbirgt sich eine Funktion, die den “Intelligent Playlists” von iTunes ähnelt: Mittels eines Assistenten und den ID3-Daten der Musikstücke legen Sie Abspiellisten nach beliebigen Kriterien an. So können Sie beispielsweise veranlassen, dass Firefly sämtliche Lieder der Jahre 1960 bis 1969 in einer Playlist sammelt.
Per Configuration modifizieren Sie die Einstellungen des Multimediaservers. Das funktioniert aber nur, wenn der Benutzer, mit dessen Rechten mt-daapd läuft, Schreibrechte für das Verzeichnis /usr/local/etc hat.
Musik und Streams
Hat der Firefly-Server seinen Dienst einmal aufgenommen, geht der Rest fast von alleine: Starten Sie auf einem Computer im Netz iTunes, zeigt das den Firefly-Server links in der Liste der Netzwerkfreigaben an. Klicken Sie auf den Eintrag, lädt iTunes den Index des Servers und zeigt eine Liste aller verfügbaren Musikstücke. Klicken Sie ein Lied an, spielt iTunes es ab.

Abbildung 2: In iTunes sieht der Server genauso aus, wie die Musik von anderen iTunes-Clients; per Klick auf einen Titel starten Sie die Wiedergabe.
Wachsender Beliebtheit erfreuen sich Internet-Radios, die MP3-Daten via Netz senden – die so genannten Streams. iTunes speichert in der Liste der Radiostationen viele derartige Hörfunkangebote, eine Übersicht populärer Sender findet man auf der Shoutcast-Website [[3]]. Der Firefly-Server bietet die Möglichkeit, als “Relay” für diese Radiosender zu fungieren: Sie sagen ihm lediglich einmal, wo er den entsprechenden Stream findet. Anschließend greifen Sie über mt-daapd von allen Rechnern im Netzwerk darauf zu und hören die Musik quasi über ein lokales Gateway.
Legen Sie im Ordner mit Ihrer Musik eine Datei namens Name.url an, wobei Sie Name durch einen prägnanten Eintrag ersetzen. In die Datei fügen Sie eine Zeile des Formats Bitrate, Name, Adresse ein. Um zum Beispiel den Sender Wolf.FM [4] hinzuzufügen, legen Sie eine Datei namens wolffm.url an und fügen gemäß den Angaben auf der Website folgende Zeile ein:
64,Wolf.FM – The hottest mix, http://sc1.abacast.com:8035/
Modifizieren Sie zudem in der Konfigurationsdatei des Firefly-Servers die Zeile extensions so, dass auch .url darin vorkommt. Starten Sie anschließend den Firefly-Server neu und führen Sie über das Webinterface einen neuen Dateiscan aus. Nach dessen Abschluss sehen Sie in der Playlist von Firefly den Eintrag Wolf.FM — The hottest mix. Ein Mausklick stellt die Verbindung her.
Banshee statt iTunes
DAAP bringt Ihnen freilich nicht viel, wenn Sie ausschließlich auf Linux setzen und weder einen Mac noch einen Windows-PC haben. Abhilfe schafft das kleine Programm Banshee [5]: Der DAAP-Client wurde ursprünglich für Firesight Linux entwickelt, funktioniert mittlerweile aber auch mit anderen Distributionen. Auf der Homepage des Projekts [6] finden Sie fertige Pakete für Open Suse, Ubuntu, Gentoo und Fedora Core 4. Im Falle anderer Distributionen ist Handarbeit [7] angesagt.
Das Benutzerinterface von Banshee ist dem von iTunes zumindest in gewissen Aspekten nachempfunden. Jedenfalls erkennt der Player wie das große Vorbild vorhandene DAAP-Streams automatisch und zeigt links in der Hauptleiste des Programms das entsprechende Symbol an. Klicken Sie auf das entsprechende Symbol, ertönt das jeweilige Lied.

Abbildung 3: Banshee schickt sich an, zum Amarok für GNOME zu werden. Mit dem DAAP-Protokoll kommt es jedenfalls jetzt schon klar.
Fazit
Mit dem Firefly-Mediaserver und iTunes oder Banshee verteilen Sie Ihre gesamte Musik bequem im heimischen Netz. In Verbindung mit SSH-Portforwarding lässt sich das Firefly-Signal sogar durch ein VPN-Netzwerk routen, sodass Sie immer und überall auf die Musiksammlung zu Hause zugreifen.
Nicht zuletzt gibt es im Handel kompakte Geräte wie die Roku-Soundbridge (Abbildung 4), die als Frontend für den Firefly-Mediaserver dienen und eine ganze Stereoanlage ersetzen. Solche Devices kosten im Fachhandel rund 130 Euro.
Glossar
-
DAAP
-
Digital Audio Access Protocol. Ein von Apple entwickeltes, auf HTTP basierendes Protokoll, um lokale Audiodateien für Clients im Netzwerk bereitzustellen. Mangels einer offiziellen Beschreibung von Apple gibt es lediglich eine durch Reverse Engineering gewonnene Spezifikation. Zu den Programmen, die DAAP unterstützen, zählen unter anderem Amarok, Banshee und Rhythmbox.
[1] Firefly: http://fireflymediaserver.org
[2] Nightly-Snapshot: http://nightlies.mt-daapd.org
[3] Übersicht Shoutcast-Radios: http://www.shoutcast.com/
[4] Informationen zu Wolf.FM: http://www.wolffm.com/pls/wolffm.pls
[5] Banshee: Rüdiger Arp, “Spiel mir das Lied vom MP3”, LinuxUser 05/2006, S. 77
[6] Banshee-Pakete: http://banshee-project.org/Getting_Started
[7] Banshee selbst kompilieren: http://banshee-project.org/Banshee_Source
[8] NSLU2 mit Linux: Martin Loschwitz, “Klein und flexibel”, LinuxUser 04/2006, S. 56






