Allgemein
Knowledge Base
- Neue Struktur (In Arbeit)
- Computertechnisches
Community
Privat
UPDATE: Der folgende Text stammt von 2007. Seitdem wurde er nicht mehr aktualisiert. Möglicherweise gibt es eine Jukebox die die meisten der Wunschanforderungen erfüllt.
Seit langem bin ich (elsni) auf der Suche nach einer Software fürs Wohnzimmer die die Musiksammlung adäquat verwaltet. Zur Zeit ist es ein aktueller Billig-PC mit Windows XP Media Center Edition. Das Funktioniert zwar, ist jedoch teilweise sehr umständlich zu bedienen und läuft nur lokal.
Deshalb bin ich auf der Suche nach einer mp3-Serversoftware die als Dienst oder Hintergrundprozes auf einem Windows- oder Linux Recher läuft und Musikfiles und Playlisten verwaltet. Sie muß einen eigenen Server implementieren, damit Playlisten und Musikausgabe von verschiedenen Clients beeinflußt werden können. Der Serverprozeß selbst soll dabei keine Web-Oberfläche den Clients zu verfügung stellen, da diese auch z.B. ein PDA sein können. Wäre doch cool wenn man mit dem PDA in der Wohnung herumwandern und sich über WLAN sich neue Stücke wünschen könnte die in die Playlist wandern...
Abba - Dancing Queen
und Black Sabbath - Paranoid
. Die Liste sieht dann so aus als gäbe es nur die beiden Stücke. Nach einer gewissen Zeit (~30 sek) nach dem letzten Tastendruck wird der Filter wieder entfernt und alle Titel angezeigt.
1. Server verwendet globale Playlist, Sound wird vom Server gespielt
Party-Szenario: In verschiedenen Räumen stehen Clients, mit denen sich die Partygäste etwas wünschen können. Sound wird aber nur im Wohnzimmer gespielt, dort ist der Server an die Anlage angeschlossen.
2. Server verwendet globale Playlist, Sound wird auf Client gestreamt
Party-Szenario: In verschiedenen Räumen stehen Clients, mit denen sich die Partygäste etwas wünschen können. Sound wird auf auch auf Client gestreamt, damit ist in allen Räumen mit streaming client die gleiche Musik zu hören.
3. Server verwendet Playlist für diesen einen Client, Sound wird auf Client gestreamt Erweitertes Party-Szenario: In verschiedenen Räumen stehen Clients, mit denen sich die Partygäste etwas wünschen können. Sound wird auf auch auf Client gestreamt, wobei der Client jedoch eine eigene Playlist hat und nur die Musik spielt, die sich an diesem Client gewünscht wurde. Sehr sinnvoll bei größeren Partys wo sich garantiert ein Grüppchen mit gänzlich anderem Musikgeschmack in der Küche niederläßt
XML-Format eines Kommandos (wird vom Client zum Server gesendet):
<command> <name>Kommandoname</name> <parameters> <parameter name="Parametername">Wert</parameter> ... </parameters> </command>
XML-Format der Antwort des Servers:
<answer> <status>ok/warning/error</status> <message>hier steht ok oder evtl. Fehlermeldung</message> <output> was hier drinsteht ist vom kommando abhängig </output> </answer>
mögliche Kommandos
Die Konfiguration des Servers (wo liegen Musikfiles etc.) erfolgt über eine config-Datei.
Würde man sich rein auf der Windows Plattform bewegen könnte man einen Dienst und einen Webservice zur Kommunikation mit dem Dienst entwickeln. Ok, das ginge auch unter Linux, ich weiß nur nicht ob mono soweit ist, daß man auch Webdienste realisieren kann. Java ist nicht so mein Ding.
Eine andere Möglichkeit wäre die Entwicklung eines einzigen Hintergrundprogrammes das auch den Server implementiert. Dieser wäre recht einfach und deshalb nicht so aufwändig. Den Ansatz würde ich verfolgen, erleichtet die Portabilität. Die Clients kann man dann in einer beliebigen Sprache schreiben, ob portabel oder nicht.
Das Streaming ist sicherlich eine schwierige Sache, aber man könnte auf bestehende Software (z.B. icecast) zurückgreifen.
Real existierende Programme, die einen ähnlichen Ansatz verfolgen: