Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : "Virtuelles Dateisystem" für FLAC (bei Zugriff Konvertierung in andere Audioformate)



jazzesnee
27-10-2005, 18:42
Ich besitze viele CDs, die ich gerne in meinem internen Netzwerk zugänglich machen möchte. Dabei möchte ich meine Daten gerne ohne Verluste speichern, am besten in FLAC. Nun ist es aber ja so, dass man die Musik schonmal in anderen Formaten benötigt als in FLAC, z.B. für MP3-Player.

Mir schwebt deshalb folgendes vor, ich weiss nur noch nicht, ob und wie man sowas realisieren kann: Ich speichere meine Musik in FLAC auf dem Linuxserver in einem bestimmten Verzeichnis. Neben dem FLAC-Verzeichnis soll es auf dem Server aber weitere, virtuelle Verzeichnisse geben, etwa "MP3", "Ogg" oder "AAC", in welchem es virtuelle Unterverzeichnisse mit den verschiedenen Bitraten gibt, also "96 kbit/s", "128 kbit/s", "160 kbit/s" usw. In allen diesen Verzeichnissen soll die Musik liegen, die auch in FLAC vorliegt, nur im jeweils entsprechenden Format.

Allerdings soll diese Musik nicht wirklich da liegen, sondern nur bei Bedarf, also bei Zugriff auf die entsprechende Datei, aus der FLAC-Datei konvertiert werden, also für den Zugreifer unsichtbar. Dieses Verfahren würde zum einen Festplattenplatz sparen und zum anderen den Aufwand für die Konvertierung in Formate, die man u.U. gar nicht braucht. Es wäre also sehr flexibel.

Gibt es eine solche Lösung oder müsste ich mir da selbst was schreiben? Wenn ja, wie mache ich sowas am besten?

oracle2025
28-10-2005, 08:48
In KDE gibt es AFAIK eine solche Funktion für Audio-CDs im Konqueror.

Wenn du es selber implementieren willst wirst du wahrscheinlich FUSE benutzen wollen:

http://fuse.sourceforge.net/

jazzesnee
28-10-2005, 14:24
Gut, KDE ist natürlich auf dem Server nicht drauf... Würde auch schwierig werden, weil das ja dann wahrscheinlich kein in den Verzeichnisbaum einhängbares Dateisystem wäre. Fuse werde ich mir mal anschauen.

7.e.Q
09-11-2005, 23:21
Die Idee ist gar nicht mal so schlecht. :) Wäre eine Überlegung wert, dafür eine neue Art "Pseudo-FS" zu entwickeln. Das muss ich mir mal anschauen. :D

quinte17
24-11-2005, 19:22
ich fand die idee so gut, dass ich schonmal angefangen habe :D
diese fuse sachen sind ja nicht gerade prickelnd dokumentiert, zumindest habe ich nicht viel infos gefunden, die mir wirklcih was bringen... aber ich mache schon fortschritte...

mein fortschritt ist, dass ich schonmal ein fs mounten kann, und eine datei sehe (ich habe da ein wenig vom hello_world fs abgekupfert)...

wie ich mittlerweile rausgefunden habe, ist die größe der datei maßgebend, für die ausgabe an bytes... wen verwunderts :D
allerdings bereitet mir des kopfschmerzen, wenn ich da an formate denke, die eine variable bitrate besitzen, und somit die größe im vornherein nicht bekannt ist.

dann die flac-dateien schonmal temporär umzucoden nur um die dateigröße zu bekommen ist ziemlicher overkill...

weiß jemand von euch einen lösungsansatz für dateien mit unbekannter dateigröße unter fuse?

danke schonmal für alle ideen :D

greetz


also einen teil habe ich nun gelöst.. wenn ich behaupte die datei sei größer, aber dann früher mit dem lesen aufhören lasse funktionierts...
sprich: dateigröße 50 byte
in der read funktion werden aber nur 10 bytes übergeben und danach ist schluss...

problem welches noch bleibt ist in der read funktion ansich.
die read funktion bekommt einen offset (puffer) in den der inhalt der datei bröckchenweise hineingeschrieben wird. ich schreibe sozusagen häpchenweise in den puffer und gebe nach jedem häpchen die anzahl der noch zu schreibenden bytes zurück. ich kenne diese größe allerdings nicht.... hat da von euch noch einer eine idee? :D

peschmae
24-11-2005, 19:35
Cool. Mach nur mal weiter :-)

Ich denke aber so Fuse-spezifische Sachen fragst du besser auf deren Mailingliste. Ich meine dort sind die Leute anzutreffen die das auch benutzen und nicht hier ;)

MfG Peschmä