Samson+Delila:
Ein Server-Client-Gespann für mobilen Musik-Genuß

Stand: 12. September 2011
Author:
Lutz Wagner

Szenario:

Die eigene Musik hören, von unterwegs, von irgendeinem Ort außerhalb des physischen Speicherorts der MP3-Dateien: im mobilen Zeitalter eines der Top-Themen.

Der Sohn meines Arbeitskollegen macht das wie folgt: Seine Lieblingssongs kopiert er über eine USB-Schnittstelle von seinem Windows-PC auf sein Laptop. Da er zwar eine Internet-Flatrate besitzt, aber in der Badeanstalt sein "Schlepptop" nicht mitnehmen möchte, kopiert er die Dateien auch auf seinen MP3-Player oder sein Handy, manchmal beides. Das dauert. Am nächsten Tag, beim Zusammentreffen mit seinen Freunden, fragt ihn einer, ob er diese Super-Scheibe von Madonna aus dem vorigen Jahr hat. Klar hat er die, nur - auf dem MP3-Player in seiner Hosentasche sind leider nur die Hits der letzten Wochen drauf.

Was folgt daraus: Die Notdürftigkeit dieser "Copy-To-Client"-Lösung besteht nicht nur darin, dass eine Menge Zeit damit verloren geht, sondern vor allem in ihrer Unzulänglichkeit.

Programmierer wissen seit jeher: "Never copy code". Ja, das gilt auch für Musik-Dateien. Trotzdem ist das ständige Kopieren heute gängige Praxis bzw. dessen Unterlassen aus Nachlässigkeit oder mangelndem Speicherplatz eine Quelle steten Ärgernisses.

Die konsequenteste Lösung heißt: Direkter Durchgriff auf seine persönlichen Musik-Dateien von jedem beliebigen Ort aus, mit einem beliebigen (Standard)-Internet-Client, sprich: Browser.

Die Lösung:

Server for Advanced Media Supply Online (SAMSON).

Details:

 




Überblick:

Samson wird als Zusatz zu CDMagic installiert. CDMagic ist Voraussetzung für den Betrieb von Samson. Mit CDMagic werden die eigenen Musik-Dateien (MP3, OGG, FLC) verwaltet, die Meta-Informationen werden in einer eigenen Datenbank geführt. Auf beides greift Samson (lesend) zu.

Samson ist eine Neuentwicklung (Dez. 2010), das erforderliche CDMagic muß dazu aber nicht upgedatet werden. Es genügt der Stand 3.7xx (Jan.2006).

Samson+Delila sind in drei Sprachen erhältlich: Deutsch, Englisch, Spanisch (z.Zt. noch lückenhaft). Die verwendete Sprache des Samson-Teils richtet sich nach der Sprachversion des OS/2, die Sprache des Delila-Teils nach dem Language-Attribute des verwendeten Web-Browsers.

1. Der Samson-Server als OS/2-Applikation:


 

 

 

Samson ist ein sogen. Streaming-Server. Er sendet auf Anforderung seitens eines Clients Musik- (oder Video-) Dateien, so dass dieser sie abspielen kann, ohne sie zuvor downzuloaden.

Samson ist eine echte OS/2-Anwendung. Das Programm wird als Server gestartet, bietet eine übersichtliche GUI zur Handhabung und erzeugt einen TCP/IP-Daemon im System. Von der GUI aus kann der Daemon überwacht und beendet werden.

Ein weiterer Daemon (Thread) wird gestartet, der die eigene IP-Adresse überwacht und ggf. (bei Änderung) an einen speziellen FTP-Server sendet (eig. Webspace, s.u.). Dieses Feature ist optional, erforderlich dann, wenn man ohne DynDNS via Internet auf Samson zugreifen will.

Der TCP/IP-Daemon nimmt Anfragen von Clients irgendwo im (world-wide) Netz entgegen. Für jede Anfrage ('connect') startet Samson einen neuen, eigenen Thread, der den jeweiligen Client bedient (empfängt und sendet). Da es in OS/2 keine (realistische) Begrenzung für die Anzahl Threads gibt, könnte ein Samson-Server theoretisch nicht nur den eigenen privaten Bedarf einschließlich Familie und ein paar Freunden bedienen, sondern auch ein großes Musik-Portal mit tausenden von Besuchern verwalten, leistungsmäßig begrenzt lediglich durch die Server-Hardware sowie die Leitungs-Qualität.

2. Der Web-Client Delila:


 

 

PM123 ist ein hübscher Player für OS/2
 

So sieht es aus mit WinAmp unter Windows

Delila ist die Bezeichnung für eine Menge an Html-Code, der von Samson ausgeliefert und danach als Request via Web-Browser an Samson gesendet wird.

Delila bildet funktional die Darstellungs-, Such- und Abspielmöglichkeiten des CDMagic-Programs ab, wenngleich auch in einer anderen (an den Browser angepassten) Benutzerführung.

Delila erfüllt ähnliche Funktionen wie z.B. ein Web-Radio oder anderer Streaming-Client in einem UPnP-Netzwerk. Es existieren mittlerweile zahlreiche Lösungen für UPnP-Server, z.B. der OpenSource-Server Mediatomb, der u.a. auch in einer OS/2-Version existiert. Gemein ist allen diesen Servern, dass sie mit marktgängigen UPnP-Clients (z.B. Logitech Squeezebox oder Phillips Streamium) verbunden werden können. Der Nachteil aller dieser Lösungen ist:

  • Sie sind auf LAN-interne Zugriffe beschränkt
  • Die Navigation durch umfangreiche Musik-Sammlungen ist ausgesprochen
    mühsam und funktional unzureichend.

Der Internet-Client Delila als web-seitige Implementation der CDMagic-Funktionen zum Abfragen und Durchsuchen einer Musik-Datenbank, die deutlich mehr Informationen speichert als die reinen ID3-Tags, bietet wesentlich mehr Komfort als die reinen UPnP-Clients.

Abspielen der Musikstücke:

Durch einen Klick auf einen angezeigten Musiktitel wird dieser zum Abspielen gebracht. Der Samson-Server sendet daraufhin die MP3-Datei (bzw. andere Formate) an den Web-Browser als Mimetyp audio/mpeg. Es ist Sache der jeweiligen Browser-Konfiguration, ein bestimmtes Abspielprogramm diesem Mimetyp zuzuordnen. Läuft der Client unter Windows, kann dies entweder der Windows-Mediaplayer, WinAmp oder andere Windows-Programme sein. Unter OS/2 (eCS) bietet sich das schon ältere aber sehr leistungsfähige Programm Z! an, ebenso PM123, wobei letzteres sich in meiner Praxis als nicht unbedingt zuverlässig erwiesen hat. Unter OS/2 stehen auch Programme der Linux-Portierungen zur Verfügung, z.B. der VLC Mediaplayer (Mplayer.432 funzt nicht, maplay noch nicht probiert).

Samson sendet die Audio-Datei mit ICY-Metadaten (Titel, Artist, Album). Einige Player können mit dem ICY-Protokoll etwas anfangen, andere nicht.

Hinweis:
Falls mit anderen Playern als den hier genannten das Abspielen geschehen soll, muß evtl. die Konfiguration des Servers angepaßt werden. Exotische Player verhalten sich möglicherweise nicht standardkonform. Also in dem Falle mir bitte eine Email zukommen lassen.

3. Rechtliche Aspekte:

 

Wer urheberrechtsgeschütztes Material für öffentlichen Download bereitstellt, macht sich strafbar. Nun ist Samson zwar ein Streaming-Server, d.h. die Audio-Dateien werden vom Client nicht downgeloaded, es existieren aber techn. Lösungen (sogen. Stream-Ripper), die dies dennoch ermöglichen. Aus diesem Grunde - um schon den bloßen Verdacht einer Strafbarkeit zu vermeiden - ist Samson Login-geschützt, d.h. jeder Benutzer (Client) muß sich mit Name und Passwort einloggen. Einen solchen Login wird der Samson-Administrator eben nur für die eigene Familie und wenige, enge Freunde einrichten.

Nach oben

Technische Lösung:

Die technische Realisierung existiert in zwei Ausbaustufen:



2.1 Zugriff nur innerhalb desselben (W)LANs
Die reine LAN-Lösung ist technisch weniger anspruchsvoll. Sie ermöglicht nicht den weltweiten Zugriff auf die Musik-Sammlung.

Benötigt werden:

  • Ein Industrie-Standard-PC, der robust genug für Dauerbetrieb und schnell genug für die Verwaltung auch umfangreicher Musik-Sammlungen sein sollte.
  • Betriebssystem OS/2 ab 4.52 (besser: eCS ab 2.0); CDMagic-Musikdatenbank; Samson-Server-Software.
  • DSL-Router (WLAN-).

2.2 Zugriff von überall aus dem Internet:
Hierbei besteht das Problem darin, die IP-Adresse des Samson-Home-Servers zu kennen. Privat-Nutzer erhalten von ihrem Internet-Provider i.d.R. keine feste IP-Adresse zugewiesen, sondern eine, die sich in bestimmtem (täglichen) Rhythmus ändert.

Es existieren verschiedene Techniken, um dieses Problem zu lösen, die bekannteste stellen die sogen. DynDNS-Dienste bereit.

Samson mit Hilfe von DynDNS weltweit zu erreichen, ist möglich, jedoch aufgrund bestimmter Nachteile dieser Technik wird in der Samson-Standard-Installation darauf nicht Bezug genommen. Stattdessen wird die Verfügbarkeit eines eigenen Web-Space mit FTP-Zugang und php-Funktionalität vorausgesetzt.

Benötigt werden (zusätzlich zu 2.1):

  • DSL-Router mit Port-Forwarding-Funktionalität
  • Eigener Web-Space mit FTP und PHP.

Eigener Web-Space ist heutzutage für ca. 1-2,00 € / Monat erhältlich. Wer dennoch keinen eigenen Web-Space haben möchte, kann entweder die zuvor erwähnte DynDNS-Technik verwenden oder sich eine Subdomain auf der CDMagic-Homepage einrichten lassen.

Bei der Verwendung einer CDMagic-Subdomain würde der Aufruf von einem externen Web-Browser aus etwa so aussehen:

http://OnkelFranz.cdmagic.de

Die Subdomain 'OnkelFranz' (oder wie immer sein Besitzer sie nennen möchte) würde nicht die Musik-Dateien und auch keine anderen Bestandteile der eigenen CDMagic-Datenbank beinhalten. Die Subdomain stellt lediglich einen FTP-Zugang bereit sowie ein kleines Stück php-Software, das für die Ermittlung der korrekten IP-Adresse des Samson-Home-Servers sorgt.

Anmerkung: Die Einrichtung einer CDMagic-Subdomain kostet z.Zt. 20,00 € / Jahr.

Nach oben

Ausblick:

Delila als App:

Für den Benutzer sichtbar wird Delila durch den Web-Browser repräsentiert. Somit besteht die Möglichkeit, an jedem Ort der Welt von einem internet-fähigen Endgerät auf die unter Samson gehosteten Dateien zuzugreifen. Theoretisch ist auch der Einsatz eines Smartphones möglich (die meisten der heute erhältlichen Geräte beinhalten auch einen Browser). Jedoch ist die Darstellung auf diesen kleinen Geräten wohl etwas mühsam. In Zukunft wird es eine speziell für Smartphones angepaßte Version geben.

Vom Audio- zum Video-Server:

Gegenwärtig fungiert Samson als reiner Streaming-Server für Audio-Dateien. Eine Ausdehnung auf Video-Material ist in naher Zukunft vorgesehen. Dann heißt es: Jedem sein Youtube (hochpotenter Home-Server vorausgesetzt).

Nach oben

Download und Installation:

Das Samson+Delila-Installationspaket kann hier downgeloaded werden.



Installation:

  1. Das Installationspaket samson.zip in ein temporäres Verzeichnis entpacken.
  2. Eine Kommandozeile öffnen, in das temporäre Verzeichnis einloggen.
  3. Befehl "install <cdmagic-dir>" eingeben.
    Dabei ist cdmagic-dir das Verzeichnis, in dem Ihre existierende CDMagic-Installation sich befindet.
  4. Fertig.
    Sie können jetzt das Programm Samson.exe starten.

Konfiguration:
Zwei Dinge müssen von Ihnen spezifiziert werden:

  1. Die Port-Nummer, unter der der Samson-Server zu erreichen ist. Dies ist eine frei wählbare Zahl (Standard ist 80, jedoch könnte diese Nummer bereits duch einen anderen Http-Server belegt sein, z.B. durch eine Web-Cam).
    Die von Ihnen gewählte Port-Nummer *muß* in Ihrem DSL-Router unter der Abteilung "Port-Forwarding" ebenfalls gesetzt sein!
  2. Außerdem muß der FTP-Zugang zu Ihrem Web-Space definiert werden (Adresse, Login-Daten). Dies ist jedoch erst dann erforderlich, wenn Sie Ihren Samson-Server von außerhalb Ihres (W)LAN erreichen wollen.

Was ist zu tun, um den Samson-Server weltweit erreichen zu können?

  1. Ein FTP-Zugang zu einem Web-Space muß spezifiziert werden. Dies geschieht direkt aus der Samson-Oberfläche heraus (Button "FTP konfigurieren")
  2. Die Datei 'delila.php' muß auf diesen Web-Space hochgeladen werden.

Durch diese Maßnahmen wird erreicht, dass Sie von einem beliebigen Ort weltweit den Samson-Server erreichen können unter der URL, die Sie in der FTP-Konfiguration angegeben haben.

Nach oben

Anschauungsbeispiel:

Den Samson-Server zu installieren ist zwar keine schwarze Kunst, aber auch nicht in zwei Minuten gemacht, vor allem dann nicht, wenn man noch das zugrundliegende CDMagic installieren muß. Aus diesem Grunde kann jeder Interessierte, der sich ein Bild von der Samson-Praxis machen möchte, sich in meiner eigenen Installation einwählen:

http://delila.zworks.de

Allerdings ist mein Server nicht permanent online. Falls man keine Verbindung zu o.a. URL kriegt, kann man mir eine Nachricht schreiben (s. Impressum), um für einen bestimmten Zeitpunkt einen laufenden Server zu gewährleisten.