musik_s.jpg

Stapeln und spielen

MP3-Jukebox mit Web-Frontend

01.08.2004
Eine große MP3-Sammlung auf dem Server ist nicht mehr ungewöhnlich. Damit wird der Computer zur elektronischen Jukebox, die Sie mit der Web-Applikation Otto bequem fernsteuern.

Viele Besitzer einer digitalen Musiksammlung wünschen sich, dass der Computer den Sound über die normale Wohnzimmer-Stereoanlage wiedergibt. Dazu kann man einen leisen Rechner in ihrer Nähe platzieren oder den vorhandenen Linux-Server, der als Gateway ins Internet dient, zum Abspielen verwenden – ein entsprechend langes Audiokabel vorausgesetzt.

Bleibt nur noch die Frage, wie man die gerade gewünschte Musik auswählt. Eine Web-Schnittstelle ist dafür ganz praktisch, denn die lässt sich von einem beliebigen Rechner im Heimnetzwerk oder gar einem WWW-fähigen PDA wie dem Zaurus benutzen. Noch ungebundender geht es nur noch mit Wireless LAN.

Otto ist eine solche web-basierte Jukebox [1], deren Funktion Abbildung 1 illustriert: Auf dem Musikserver läuft ein Apache-Webserver [2], der das Otto-CGI-Skript ausführt. Dieses erfährt aus einer MySQL-Datenbank, die auf demselben Rechner laufen kann, aber nicht muss, welche Musikstücke zur Auswahl stehen. Ein extra Otto-Skript trägt diese Informationen in die Datenbank ein. Zum tatsächlichen Abspielen benutzt Otto externe Programme, beispielsweise mpg123 [3] für MP3-Dateien. Die Musikdateien müssen also auf dem Rechner liegen, auf dem auch der Webserver läuft.

Abbildung 1: So spielen die Otto-Komponenten zusammen.

Otto-Dateien installieren

Die Jukebox-Software von [1] oder der Heft-CD entpacken Sie in einem temporären Verzeichnis:

tar xzvf otto-2.0.tar.gz

Dabei entsteht ein neues Unterverzeichnis otto-2.0, das Sie als Systemadministrator root nach /usr/local verschieben und im gleichen Schritt in otto umbenennen:

mv otto-2.0 /usr/local/otto

Es empfiehlt sich, Otto tatsächlich in /usr/local/otto zu installieren, da dieser Pfad an einigen Stellen im Programm einkodiert ist.

Perl-Module finden

Die Software selbst ist in der Programmiersprache Perl geschrieben und benutzt einige spezielle Module, also Erweiterungspakete. Tabelle 1 fasst zusammen, welche Pakete Sie dafür bei Debian und Suse installieren müssen. Falls Sie eine andere Distribution verwenden, halten Sie nach ähnlich benannten Paketen Ausschau oder laden Sie sie notfalls von [4] herunter und installieren Sie von Hand. Wie das genau geht, verrät Kasten 1.

Kasten 1: Automatisch installieren vom CPAN

Perl-Module muss man nicht von Hand herunterladen und installieren, denn ein mitgeliefertes Modul übernimmt einen großen Teil der Arbeit. Es heißt CPAN und Sie rufen es als Administrator mit folgender Kommandozeile auf:

perl -MCPAN -e shell

Beim ersten Aufruf stellt es Ihnen diverse Fragen, bei denen Sie getrost die Standard-Antwort mit [Eingabe] akzeptieren können, wenn Sie nicht genau wissen,was sie sonst angeben sollen. Vorab sollten Sie allerdings mit which programm prüfen, ob die Kompressionstools gzip und unzip, das Archivprogramm tar, make, die FTP-Clients ncftp und ftp, das wget-Download-Tool für Webseiten und das Verschlüsselungstool gpg installiert sind.

Irgendwann erkundigt sich die Konfigurationsroutine nach dem Kontinent und dem Land, in dem Sie leben – wählen sie erst die Zahl 4 für Europe und dann die 11 für Germany. In der nachfolgenden Liste sehen Sie alle Perl-Modul-Server in Deutschland; wählen Sie davon drei beliebige aus, z. B. 3 7 10. Nach einem weiteren [Enter] meldet sich das CPAN-Modul mit dem Prompt cpan> und erwartet Befehle.

Mit install Modulname installieren Sie ein Modul, zum Beispiel install MP3::Info. Daraufhin löst CPAN alle Abhängigkeiten auf, lädt das eigentliche und alle zusätzlich benötigten Module herunter, konfiguriert sie und legt sie in den Perl-Modul-Verzeichnissen unter /usr/local ab. Dort geraten sie nicht in Konflikt mit den Dateien Ihrer Distribution.

Sind alle nötigen Module installiert, beendet der Befehl quit am cpan>-Prompt das Programm.

Ob sich schon alle nötigen Module auf dem System befinden, testen Sie mit folgendem Kommando:

perl /usr/local/otto/lib/Otto.pm

Findet das Perl-Programm dabei alle zwingend nötigen Module und vermisst höchstens optionale, lautet die letzte Zeile der Ausgabe dieses Kommandos

all required modules loaded OK

und Sie können zum nächsten Schritt übergehen. Falls nicht, müssen Sie in jedem Fall die fehlenden Module nachinstallieren, die die das Programm mit required kennzeichnet, im folgenden Beispiel DBD::mysql:

DBD::mysql (required) failed to load

Das optionale Term::Readline-Modul brauchen Sie, wenn Sie auch die textbasierte Schnittstelle zu Otto nutzen möchten. Diese rufen Sie mit dem Kommando /usr/local/otto/bin/otto auf. Für normale Anwendungsfälle reicht die Web-Schnittstelle aber völlig.

Das Modul MP3::Info brauchen Sie nur, wenn Otto die ID3-Tags der Dateien auslesen soll. Shout ist vor allem für Fortgeschrittene interessant, denn damit wird Otto zum MP3-Internetradio. Die beiden Unicode-Module helfen dabei, Stücke zu verarbeiten, die andere Zeichen als nur A bis Z enthalten; zur Zeit unterstützt Otto allerdings nur griechische Buchstaben vollständig. Aber keine Sorge, Stücke mit deutschen Umlauten lassen sich auch abspielen, nur beim Sortieren hakt es ein bisschen.

Tabelle 1: Nötige Perl-Module

Modul Funktion Debian Suse CPAN-URL
DBI enthält Funktionen, die die Nutzung von Datenbanken aus Perl-Programmen heraus erlauben libdbi-perl perl-DBI http://cpan.uwinnipeg.ca/module/DBI
DBD::mysql enthält Funktionen, mit denen Perl-Programme MySQL-Datenbankserver ansprechen können libdbd-mysql-perl perl-Msql-Mysql-modules http://cpan.uwinnipeg.ca/module/DBD::mysql
HTML::Template hilft beim dynamischen Generieren von HTML-Seiten libhtml-template-perl perl-HTML-Template http://cpan.uwinnipeg.ca/module/HTML::Template
Optionale Module
Term::ReadLine enthält Funktionen, die textbasierte Benutzerschnittstellen verbessern libterm-readline-perl-perl   http://cpan.uwinnipeg.ca/module/Term::ReadLine
MP3::Info erlaubt das Auslesen von ID3-Tags aus MP3-Dateien libmp3-info-perl   http://cpan.uwinnipeg.ca/module/MP3::Info
Shout hilft beim Ausstrahlen von Shoutcast-Internetradios kein CPAN-Modul, nur herunterladbar von http://www.icecast.org/download.php
Unicode::Map konvertiert zwischen Unicode und anderen Schriftkodierungen libunicode-map8-perl perl-Unicode-Map8 http://cpan.uwinnipeg.ca/module/Unicode::Map
Unicode::String enthält Funktionen zum Arbeiten mit Unicode-enkodierten Zeichenketten libunicode-string-perl perl-Unicode-String http://cpan.uwinnipeg.ca/module/Unicode::String

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

  • Zurück zu den Wurzeln
  • Froyo-Smartphone bei Otto

    Mit dem Liquid MT bringt Acer ein neues Android-Smartphone auf den Markt, das vorerst exklusiv beim Versandhändler Otto zu haben ist.
  • Streaming mit dem Darwin Streaming Server
    Mit dem Darwin Streaming Server bietet Apple eine freie Version des kommerziellen Quicktime-Servers an. Er beherrscht die zukunftsträchtigen Formate MP3 und MPEG-4-Video und kommt mit einem Web-Frontend. Wie Sie ihn trotz einiger Schwierigkeiten zum Laufen bekommen, verrät dieser Praxisartikel.
  • CTAN, CPAN, Pear & Co.: Paketverwaltungen für Quellcode
    Einige Software-Pakete und Programmiersprachen bringen abseits von DEB, RPM und Co. ihre eigene, komfortable Paketverwaltung mit.
  • Web-Server Apache 2
    Das Herzstück eines typischen Internet-Servers bildet ein Programm, das WWW-Seiten anbietet. Weltweit am häufigsten genutztes Exemplar dieser Gattung ist der Apache-Web-Server, dessen Entwickler kürzlich die Version 2 zur allgemeinen Verwendung freigaben.
Kommentare

Infos zur Publikation

LU 12/2014: ANONYM & SICHER

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Ubuntu 14.10 und VirtualBox
Ubuntu 14.10 und VirtualBox
Tim Schürmann, 08.11.2014 18:45, 0 Kommentare

Wer Ubuntu 14.10 in einer virtuellen Maschine unter VirtualBox startet, der landet unter Umständen in einem Fenster mit Grafikmüll. Zu einem korrekt ...

Aktuelle Fragen

Nach Ubdates alles weg ...
Maria Hänel, 15.11.2014 17:23, 4 Antworten
Ich brauche dringen eure Hilfe . Ich habe am wochenende ein paar Ubdates durch mein Notebook von...
Brother Drucker MFC-7420
helmut berger, 11.11.2014 12:40, 1 Antworten
Hallo, ich habe einen Drucker, brother MFC-7420. Bin erst seit einigen Tagen ubuntu 14.04-Nutzer...
Treiber für Drucker brother MFC-7420
helmut berger, 10.11.2014 16:05, 2 Antworten
Hallo, ich habe einen Drucker, brother MFC-7420. Bin erst seit einigen Tagen ubuntu12.14-Nutzer u...
Can't find X includes.
Roland Welcker, 05.11.2014 14:39, 1 Antworten
Diese Meldung erhalte ich beim Versuch, kdar zu installieren. OpenSuse 12.3. Gruß an alle Linuxf...
DVDs über einen geeigneten DLNA-Server schauen
GoaSkin , 03.11.2014 17:19, 0 Antworten
Mein DVD-Player wird fast nie genutzt. Darum möchte ich ihn eigentlich gerne abbauen. Dennoch wür...