ubuntuusers.de

UAMS - Unified Audio Media Server

Status: Ungelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

Harper04

Anmeldungsdatum:
9. Februar 2009

Beiträge: 64

Wohnort: Güstrow

Hey leute,

da wir hier zu Hause 5 Rechner + eine PS3 stehen haben (3 Rechner sind meine 😀) hab ich mich nach möglichkeiten umgeschaut Musik möglichst Zentral zu Speichern und abzuspielen. UPnP ist mir nicht flexibel genug ich vermisse besonders Möglichkeiten zum Remote Musik hinzuzufügen, außerdem funktioniert das nicht übers Internet wenn ich mal in der Uni sitz 😉.

Rythmbox benutzt DAAP, was im Prinzip alles Mitbringt was ich mir so wünsche, über Portforwarding ist es auch übers Internet erreichbar. Merkwürdigerweise funktioniert bei mir zu Hause einiges nicht über das Netzwerk, der Ubuntu Laptop (Server, Wlan) lässt sich nach ein paar Stunden nicht mehr anpingen, verbindungen zu DAAP schlagen fehl (was vor ein paar Stunden tadellos ging), SSHFS, SSH sowie VNC gehen nicht mehr. ABER HTTP geht 😀. Die Netzwerkkonfiguration am Router hab ich mehr oder weniger auf Standard zurückgestellt, nur die festen IP Addressen für die MAC Addressen habe ich in der DHCP konfig gelassen. Ob das vllt. an Virtualbox mit Windows XP und Itunes dadrauf liegt?... . Zurück zu DAAP, bei großen Datenbanken (100 GB) ist die Verbindungsphase zu langsam, es dauert Minuten bis die Daten übers Netzwerk geflutscht sind.

Um zum Punkt zu kommen:

Beim nachdenken über diese Probleme kam ich darauf einen Eigenen Musikserver zu schreiben, die grundidee für mich ist es Musik nicht mehr im Dateisystem sondern in der Datenbank zu speichern, was ich persönlich schöner finde und sich leichter verwalten lässt... Jedenfalls soll der Server auch mit anderen Quellen umgehen können für diejenigen die dem nicht so trauen 😉.

Unified Audio Media Server

  • beherscht:

    • Upnp

    • DAAP

    • Eigene HTTP Website

    • emulation von ordnern per FTP und per SSHFS

    • [mounten ins normale Dateisystem?]

  • Datenbankstruktur:

    • "Normales" Dateisystem Interpret → Album → Titel

    • MySQL Datenbankstruktur (Dateien sind ebenfalls gespeichert!)

    • –––-möglich in zukunft

      • Direkte Itunes DB unterstützung

      • weitere DB interfaces

→ abstraktionsschicht zwischen DB und internen programabläufen

  • Steuerungsmöglichkeiten:

  • Webinterface (sowohl Admininterface, hinzufügen von Musik/bearbeiten von Tags, als auch abspielen) Um nicht Code doppelt schreiben müssen (zugriff auf DB + interpretation) arbeitet die Serversoftware als Webserver (nix mit php 😉 )

    • Konsole (soll ja als Server benutzt werden, also pflicht)

    • GUI, fürs Administrieren, musik hinzufügen als auch abspielen


Da wir aus der Datenbank ein Dateisystem für FTP und SSHFS verbindungen emulieren wollen haben änderungen hier auswirkungen auf die DB, hinzufügen eines Liedes in einem Ordner fügt in der Datenbank die datei mit den informationen die sich aus der Ordnerstruktur Interpret → Album → Titel ergeben hinzu

  • Konzeption:

    • Möglichst wenig Code neu schreiben, d.h. z.B. Bibliotheken zum ändern und lesen von ID3 tags suchen.

    • Abstraktionsschichten um alles möglichst Modular zu halten

      • Datenbank < - > Datenstrukturen im Programm < - > Ausgabe

  • Roadmap:

    • v0.0.1 - MySQL Datenbankstruktur

    • v0.0.2 - Datenbanklayer mit Abfragefkt. wie getAlbumsByInterpret, implementierung von MySQL verbindung

    • v0.0.3 - Implementierung von Konsolenfunktionen wie Musik hinzufügen, sowie suchen

    • v0.1.0 - Implementierung einer Website die das durchsuchen und abspielen einzelner Tracks aus der DB möglich macht.

Über die Sprache bin ich mir leider noch nicht ganz im klaren, C# behersche ich am besten (Windows Zeit ^^), aber auf Mono möchte ich im moment nicht unbedingt setzen, C kommt für mich nicht in Frage, keine Objektorientierung, C++ wäre eine Möglichkeit, muss ich mir aber noch durch den Kopf gehen lassen.

Python und Java würden mir auch gefallen allerdings müsste ich mich in beides erst einarbeiten...

habt ihr vielleicht Anregungen? Hilfe anzubieten? Featurevorschläge(feel free to submit a patch 😀)? ich könnt mich auch gleich verurteilen 😀

Das Projekt muss leider eher nebenher laufen da die Prüfungszeit an der Uni bald losgeht... 😉

mfg Tom

melodie

Anmeldungsdatum:
22. Februar 2007

Beiträge: 78

Wohnort: Düsseldorf

Hi,

ich finde die Idee des Projektes super und habe so eine ähnliche Idee auch schon gehabt.

Vor allem habe ich die gleiche Situation:

Homeserver mit Dyndns etc.

3+ Clients (Mit Ubuntu und Windows, bzw. Rythmbox und iTunes)

Deine Struktur gefällt mir sehr gut!

Eventuell sollte man noch folgendes hinzufügen:

  • Einbindung von MPD

  • automatischer Sync mit Mobilgeräten (Handy und MP3-Player bzw. iPod)

Wie ist denn der aktuelle Status des Projekts?

Eventuell könnte ich auch mithelfen, allerdings habe ich nur sehr geringe Programmierkenntnisse (dazu gehören MySQL, PHP, bissl Python).

Harper04

(Themenstarter)

Anmeldungsdatum:
9. Februar 2009

Beiträge: 64

Wohnort: Güstrow

Das Projekt habe ich nie begonnen, ich bin inzwischen auch sehr zufrieden mit meinem Setup!

Ich hab mir ein Atom board mit ion chipsatz geholt, das kommt ohne lüfter aus, daran hab ich dann 2 Festplatten gehängt und als Sys hd ne SSD. Damit hab ich einen Rechner der 24h am tag laufen kann ohne viel strom zu ziehen oder laut zu sein.

Der Rechner läuft als Router und als Upnp/File Server und ist direkt an meine Soundanlage angeschlossen. Zusätzlich besitze ich jetzte einen Mac auf dem die Musik gespiegelt wird, als Musikplayer verwende ich itunes, gekoppelt mit einer AirPortExpress die an der Anlage hängt. Mein Server kann btw. auch die AirPort bentuzen...

So wenn ich es nun noch bequemer wünsche kann ich auf die RemoteApp von meinem Iphone zurückgreifen, die funktioniert natürlich mit Itunes und bald auch mit Rhythmbox, das ist ein Projekt wo auch schon Code steht und sehr viel funktioniert ☺ http://github.com/Harper04/dacp-rapp

Antworten |