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
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ä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 02/2016: Alt-PCs flott machen

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!       

Der Tipp der Woche

Schon gewußt?

14.11.2015

Auch unter Ubuntu 15.10 kann man wieder mit dem Startmedienersteller (alias Startup Disk Creator) ein Live-System auf einem USB-Stick einrichten. ...

Fehler des Startmedienerstellers von Ubuntu 15.10 umgehen

Aktuelle Fragen

Leap 42.1 und LibreOffice
Heinz Kolbe, 09.02.2016 21:54, 0 Antworten
Moin moin, auf meinem Notebook habe ich Leap 42.1 und Win 10 installiert. Alles läuft rund nur...
Tails Update
Val Lerie, 11.01.2016 10:51, 0 Antworten
Hallo zusammen, updaten > update Speichern unter > Persistent nicht möglich, mit der Meldung;...
Recoll
Jürgen Heck, 20.12.2015 18:13, 4 Antworten
Wie kann man mit Recoll nach bestimmten Zeichen/Satzzeichen bzw. Zeichenkombinationen suchen, z....
Wings Platinum 4 auf Linux?
Bodo Steguweit, 18.12.2015 11:37, 4 Antworten
Hallo in die Runde ich nutze für meine Diashows Wings Platinum 4 als Diareferent. Arbeite jetzt...
Bandbreite regulieren
Georg Armani, 25.11.2015 16:50, 1 Antworten
Hallo, ich bin ein Neuling in Sachen Linux und hoffe auf Hilfe. Ich habe zwei Windows Rechner...