Multiple Video-Verzeichnisse: freie Diskussion zu Konzepten, Patches, Lösungen und Wünschen


  • Der Charme bei dem Ansatz von mini73 besteht für mich darin, dass man sich um diese ganzen Spezialfälle eigentlich gar nicht kümmern muss und einfach direkt ein weiteres Verzeichnis einbinden kann, das der VDR normalerweise auch so als Video-Verzeichnis nutzen könnte. Die einzelnen Anwendungen, die z.B. die Mounts der zusätzlichen Datenträger oder Netzwerkfreigaben umsetzen, müssen so auch nichts voneinander wissen und der Nutzer behält die volle Freiheit wie der seine Dateifreigaben gestaltet.


    Das Problem ist nur, daß mini73's Patch keinen Eingang in den Core-Code finden wird!
    Wenn ihr dies als "ewigen Patch" akzeptieren wollt, meinetwegen.


    Klaus

  • Ja, das hattest du ja schon angedeutet. Ich fände es gut, wenn du deinen Vorschlag umsetzt, das macht auf jeden Fall die lokalen Mounts einfacher. Beim Rest kann man sich dann ja immer noch für die Distribution überlegen wie man das möglichst ohne unerwartete Stolpersteine für den User löst.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Zitat

    Da beißt sich dann die Katze bei bestimmten Anwendungsfällen (wie z.B. die Threads von Torsten73 zum Avahi-Mounter zeigen) irgendwo in den Schwanz - denn für viele ist es wohl üblich crossmnt oder nohide zu nutzen und dann der Einfachheit halber mit Symlinks zu anderen exportierten Verzeichnissen im Aufnahmeverzeichnis zu arbeiten um nur ein Verzeichnis auf den Clients einbinden zu müssen. Falls dann jemand mehrere Video-Verzeichnisse bzw. eine bestehende Struktur mit einer Verlinkung über mehrere Verzeichnisse hat, hat man das nächste Problem, dass man die ohne crossmnt bzw. nohide wieder alle einzeln an der passenden Stelle einbinden muss.


    Zu diesem Punkt möchte ich auch mit einsteigen.


    Im Prinzip wird ein Client/Server Szenario um den vdr herum geschaffen.


    Entweder man entscheidet sich für einen "richtigen" vdr Server, welcher auch alle Aufzeichnungen auf der Festplatte vorhält und die Clients habe keine lokalen Aufzeichnungen.
    Oder man hat x vdr Clients mit lokalen Aufzeichnungen. Oder ein Aufzeichnugspfad liegt auf NAS für alle Clients...


    Wenn yavdr mit dem avahi-mounter zum Einsatz kommt, hat man die Crossmounts welche sich in den Schwanz beissen.
    Da ist die hide Option sinnvoll !


    Möchte bitte den Sinn der Symlinks, Crossmounts usw. wie beschrieben - genauer erklärt bekommen.
    Kann die Denke mit verteilten Aufzeichnungen über mehrere vdr´s nicht nachvollziehen.


    Setze ja selber den vdr als Server Client Konstrukt ein und bin mit dem crossmount yavdr Problem konfrontiert gewesen.
    Habe mich für einen Aufnahme vdr mit großer Festplatte entschieden.


    Munter bleiben, Rossi

  • Möchte bitte den Sinn der Symlinks, Crossmounts usw. wie beschrieben - genauer erklärt bekommen.
    Kann die Denke mit verteilten Aufzeichnungen über mehrere vdr´s nicht nachvollziehen.


    Wo hängt es genau?


    Die NFS-Optionen wie hide, nohide, crossmnt sind in der Manpage für die /etc/exports beschrieben: http://linux.die.net/man/5/exports
    Ansonsten muss man sich halt ein Konzept für das eigene Netzwerk überlegen, das einem sinnvoll erscheint. Die *eine* Lösung, die alle Bedürfnisse abdeckt hat da glaube ich noch niemand gefunden.


    Bei yaVDR ist das momentan nicht als Server/Client Szenario gedacht sondern eher als Mesh-Netzwerk, bei dem jeder einzelne Rechner einen eigenen Datenträger als Aufnahmeverzeichnis hat und seine Dateien (Bilder, Musik, Videos, VDR-Aufnahmen) allen anderen Rechnern im Netzwerk zur Verfügung stellt. Dass man den avahi-mounter so wie er aktuell umgesetzt ist nicht einfach auf eine Server-Client Architektur mit zusätzlichen festen NFS-Mounts für die Aufnahmeverzeichnisse der Clients loslassen kann ist eigentlich klar, wenn man sich anschaut was der macht und wie die Vorkonfiguration aussieht.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Da beißt sich dann die Katze bei bestimmten Anwendungsfällen (wie z.B. die Threads von Torsten73 zum Avahi-Mounter zeigen) irgendwo in den Schwanz - denn für viele ist es wohl üblich crossmnt oder nohide zu nutzen und dann der Einfachheit halber mit Symlinks zu anderen exportierten Verzeichnissen im Aufnahmeverzeichnis zu arbeiten um nur ein Verzeichnis auf den Clients einbinden zu müssen. Falls dann jemand mehrere Video-Verzeichnisse bzw. eine bestehende Struktur mit einer Verlinkung über mehrere Verzeichnisse hat, hat man das nächste Problem, dass man die ohne crossmnt bzw. nohide wieder alle einzeln an der passenden Stelle einbinden muss.


    Sorry seahawk1986, das macht mir jetzt keine schlaflosen Nächte. Wenn einige User was anderes wollen als wir anbieten, dann müssen sie eventuelle Probleme auch selber lösen.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • Sorry seahawk1986, das macht mir jetzt keine schlaflosen Nächte.

    Mir auch nicht - das muss jeder selber wissen ob er einen yaVDR für seine Anforderungen verbiegen oder gleich was passendes bauen will.

    Wenn einige User was anderes wollen als wir anbieten, dann müssen sie eventuelle Probleme auch selber lösen.

    Sehe ich genauso. Außerdem sollte mein avahi-linker das Problem eigentlich erschlagen :unsch

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Außerdem sollte mein avahi-linker das Problem eigentlich erschlagen :unsch


    Das hatte ich auch nicht anders erwartet :D


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • kls


    Das mit dem Sonderzeichen ist sicherlich auch eine Lösung. Und auch, wenn wohl nicht zu erwarten ist, dass jemals eine Sendung mit einer geschweiften Klammer anfängt, finde ich solche impliziten Dinge irgendwie unschön.
    Dann würde ich es sinnvoller finden, dass der vdr grundsätzlich (konfigurierbar natürlich) den ersten Verzeichnisnamen weglässt.
    Also z.B.

    Code
    /video/localhost
    /video/vdr2
    /video/vdr3
    /video/archive1
    /video/archive2


    Dabei ist dann /video/localhost wie das bisherige Videoverzeichnis, wo auch die Aufnahmen drin gespeichert werden, aber es wird in /video nach Aufnahmen gesucht. Dann kann man einfach eine neu angestöpselte Platte unterhalb von /video mounten und braucht nur ein UPDR aufrufen und fertig.
    Ich hab noch keine Ahnung, ob das vernünftig und einfach umgesetzt werden kann, mal sehen, ob ich das demnächst mal ausprobieren kann.


    Lars.


  • So können wir es meinetwegen auch machen. Das wäre dann aber ein stärkerer Bruch mit bisherigen Verzeichnissen und alte und neue VDR-Versionen könnten nicht mehr kompatibel auf das gleiche Verzeichnis zugreifen. Mein Vorschlag war bewusst auf Kompatibilität ausgelegt.


    Statt "localhost" wäre ich aber lieber für "local". Und das "local" würde ich auch nicht konfigurierbar machen, sondern fest verdrahten - sonst gibt das wieder ein heilloses Durcheinander. Ob der erste Verzeichnisname weggelassen werden soll oder nicht muß natürlich schon konfigurierbar sein.
    Allerdings würde dann jemand, der /video direkt verwendet nicht einfach auf diese neue Version umsteigen können. Er müsste erst /video/local anlegen und alle seine Verzeichnisse dorthin verschieben.
    Und was ist mit den Konfigurationsdateien, wenn man die in /video hat? Sollen die dann auch nach /video/local gehen?
    Scripte, die Drives mounten müssten auch erst prüfen, ob "local" existiert, denn sonst dürften sie sie wohl nicht mounten.
    Und wenn man umschaltet zwischen "Ansicht mit/ohne hidden Directories", soll dann "local" dennoch nicht angezeigt werden oder schon?


    Genau genommen sind das in meinem Vorschlag ja nur "hidden" Verzeichnisse, und die werden auch im Linux Filesystem nur mit einem bestimmten Zeichen markiert ('.'). Wenn dir das lieber ist, dann können wir auch gerne den Punkt hierfür benutzen.


    Zitat


    Dann kann man einfach eine neu angestöpselte Platte unterhalb von /video mounten und braucht nur ein UPDR aufrufen und fertig.


    Letzteres würde man ja mit der '}'-Konvention genauso machen können, da sehe ich keinen Unterschied.


    BTW: die 5. Zeile sollte wohl /video/archive2 heißen, denn zweimal der gleiche Name im selben Verzeichnis geht nicht.


    Klaus

  • Moin!


    Das mit archive2 hab ich korrigiert, copy&paste lässt grüßen... :)
    "local" ist natürlich genauso in Ordnung.


    Das mit der Kompatibilität ist natürlich eine wichtige Sache. Wenn es aber explizit eingeschaltet werden muss, ist es meiner Meinung nach auch annehmbar, dass der Benutzer seine Verzeichnisse einmal verschieben kann.
    Bei einem Zurück auf eine ältere vdr-Version müsste man dann nur den Schalter wieder rausnehmen und dann einfach "--config=/video --video=/video/local" angeben. Dann müsste er doch einfach wieder laufen, oder?


    Einen Punkt ist vermutlich noch kritischer, manchmal fangen Filme damit an wie z.B. "...und täglich grüßt das Murmeltier". Oder wird der escaped?


    Ich lass das noch mal etwas sacken.


    Lars.


  • Das mit der Kompatibilität ist natürlich eine wichtige Sache. Wenn es aber explizit eingeschaltet werden muss, ist es meiner Meinung nach auch annehmbar, dass der Benutzer seine Verzeichnisse einmal verschieben kann.
    Bei einem Zurück auf eine ältere vdr-Version müsste man dann nur den Schalter wieder rausnehmen und dann einfach "--config=/video --video=/video/local" angeben. Dann müsste er doch einfach wieder laufen, oder?


    Das wohl schon. Aber man könnte alte und neue Versionen halt nicht "einfach so" abwechselnd bzw. parallel verwenden.


    Zitat


    Einen Punkt ist vermutlich noch kritischer, manchmal fangen Filme damit an wie z.B. "...und täglich grüßt das Murmeltier". Oder wird der escaped?


    Das stimmt natürlich. Und nein, ein Punkt am Namensanfang wird nicht escaped. Macht aber anscheinend keine Probleme, zumindest nicht innerhalb von VDR. Direkt im Filesystem (z.B. mit 'ls') erscheinen solche Namen dann allerdings nicht. Insofern wäre es vielleicht durchaus überlegenswert, einen Punkt am Namensanfang tatsächlich zu escapen. Denn was wäre, wenn tatsächlich der Fall eintritt, daß eine Sendung einfach nur '.' oder '..' heißt? Wäre zwar ziemlich abartig, aber theoretisch möglich.
    Muß ich nochmal drüber nachdenken, wie man das am elegantesten machen könnte.


    Zitat


    Ich lass das noch mal etwas sacken.


    Tu das mal. Ich bin momentan sowieso mit dem Einbau von "Umbenennen" und "Verschieben" beschäftigt...


    Klaus

  • Tu das mal. Ich bin momentan sowieso mit dem Einbau von "Umbenennen" und "Verschieben" beschäftigt...


    Das sind auch wichtigere Features, meiner Meinung nach. Viel Spaß dabei!


    Das mit den Videoverzeichnissen ist ja auch etwas heikler, da sollte man schon eine Weile drüber nachdenken.


    Lars.


  • Wo hängt es genau?


    Die NFS-Optionen wie hide, nohide, crossmnt sind in der Manpage für die /etc/exports beschrieben: http://linux.die.net/man/5/exports
    Ansonsten muss man sich halt ein Konzept für das eigene Netzwerk überlegen, das einem sinnvoll erscheint. Die *eine* Lösung, die alle Bedürfnisse abdeckt hat da glaube ich noch niemand gefunden.


    Bei yaVDR ist das momentan nicht als Server/Client Szenario gedacht sondern eher als Mesh-Netzwerk, bei dem jeder einzelne Rechner einen eigenen Datenträger als Aufnahmeverzeichnis hat und seine Dateien (Bilder, Musik, Videos, VDR-Aufnahmen) allen anderen Rechnern im Netzwerk zur Verfügung stellt. Dass man den avahi-mounter so wie er aktuell umgesetzt ist nicht einfach auf eine Server-Client Architektur mit zusätzlichen festen NFS-Mounts für die Aufnahmeverzeichnisse der Clients loslassen kann ist eigentlich klar, wenn man sich anschaut was der macht und wie die Vorkonfiguration aussieht.


    Ok, viele yavdr Rechner bilden Datentechnisch ein Mesh-Netzwerk und auf jedem Client sieht man alle Videos.
    Dafür sorgt der avahi-mounter.


    Wenn man in diesem Zusammenspiel hide bei den NFS Exports nutzt, geht das so nicht mehr ?!
    Oder stehe ich da jetzt auf dem Schlauch...


    Munter bleiben, Rossi

  • Moin!


    Ich hab noch mal über das Sonderzeichen-Handling nachgedacht und bin zu dem Schluss gekommen, dass man es auch ganz unabhängig von so einem machen kann.
    Letztendlich geht's mir ja darum, nur das erste Verzeichnis in der Anzeige der Aufnahmen wegzulassen und dass man dynamisch zur Laufzeit Verzeichnisse hinzufügen und wieder wegnehmen kann.


    Warum also ein Sonderzeichen, wenn dem vdr sowieso gesagt wird, um welches Verzeichnis es geht?
    Ich würde mir einen Kommandozeilen-Parameter wünschen, mit dem ich schon beim Start (mehrere) bekannte Verzeichnisse dem vdr mitgeben kann (z.B. NAS usw.) und dann noch SVDRP-Befehle, um diese Liste während der Laufzeit manipulieren zu können.
    Und ein alter vdr würde dann einfach das Verzeichnis mit anzeigen. Und ein "local"-Verzeichnis bräuchte man dann auch nicht.


    Dann muss man nur noch überlegen, was der vdr machen soll, wenn er eine Aufnahme anlegen soll, für die es schon einen "Mountpoint" mit gleichem Namen gibt.
    Den Namen verdoppeln, so dass die Aufnahme in dem Unterverzeichnis landet (das könnte aber vielleicht read-only sein)?
    Oder etwas an den Namen anhängen, so dass er eindeutig ist?


    Hm, mit einem "local"-Verzeichnis würde es dieses Problem nicht geben. Und der Code wäre einfacher, weil dann bei jeder Aufnahme das erste Verzeichnis weggelassen werden würde...
    Irgendwie tendiere ich doch eher zu dieser Idee. Aber vielleicht hat ja noch jemand eine andere.


    Lars.


  • Hm, mit einem "local"-Verzeichnis würde es dieses Problem nicht geben. Und der Code wäre einfacher, weil dann bei jeder Aufnahme das erste Verzeichnis weggelassen werden würde...
    Irgendwie tendiere ich doch eher zu dieser Idee. Aber vielleicht hat ja noch jemand eine andere.


    Ich tendiere inzwischen auch zu der "local" Variante. Wenn wir da schon was ändern, dann gleich "richtig" ;-).
    Kommandozeilenparameter dafür wird es aber nicht geben, und auch keine speziellen SVDRP-Befehle (außer den genannten Änderungen bei UPDR).
    Alle Verzeichnisse müssen unter /video (oder was halt der User dafür mittels --video verwendet) liegen, und Aufnahmen gehen grundsätzlich nach /video/local (falls diese Variante aktiviert ist). Die Konfigurationsdateien bleiben direkt unter /video.
    Fragt sich nur noch, wie das dann gehandhabt werden soll, wenn /video/local aus mehreren physikalischen Platten bestehen soll (so wie das bisherige /video.001, /video.002, ...). Aber da das eh aus dem Core-Code rausfliegt, kann sich dann ein entsprechendes Plugin damit befassen ;-).


    Klaus

  • Mmm, warum so kompliziert?


    Der VDR nimmt einfach alle Verzeichnisse die in seinem einzigen Hauptverzeichniss sind.
    Mit <dir>/.skip kann man z.b. den Verzeichnisnamen skippen, theoretisch geht es sogar mehrfach.


    Braucht zwar einen open/close mehr und dafür verliert man keine Sonderzeichen.


    Vielleicht noch ein <dir>/.hidden damit man Verzeichnisse vom VDR scan ausschliessen kann.


    Was noch fehlt ist, dem VDR anzuweisen in welches Verzeichniss er als Default aufnehmen soll.


    Johns

    Sag mir, wo die Developer sind. Wo sind sie geblieben? . . . . . . . . . . . . . . . . . . . . SoftHdDevice - A software and GPU emulated HD output device plugin.
    Sag mir, wo die Developer sind. Was ist geschehn?


    Client0: Crown CW02 MSI_C847MS-E33 Zotac_GT640_passiv Cine-S2 iMon-MCE / streamdev softhddevice
    Client1: Lian_Li_PC-Q09FB ASRock_H67M-ITX/HT I3-2100 ASUS_ENGT520_passiv / streamdev softhddevice
    Test: Lian_Li_PC-Q09R Asus C60M1-I / streamdev
    Server0: Dockstar TT-S2-3600-USB / streamdev
    Server2: Lian_Li_PC-Q07R Intel_DH61DL G620 WD20EARX 90W PicoPSU Cine-S2+DuoFlex-S2+DuoFlex-CT / streamdev / 22 Watt Verbrauch

  • Prima, das hört sich gut an!
    Bei der local-Variante braucht man ja auch keine Kommandozeilen-Parameter mehr, weil die "beim Start dann schon bekannten Verzeichnisse" dort ja schon vorhanden sind. So einen Parameter hätte ich mir nur gewünscht, wenn es kein local gegeben hätte.
    Das neue UPDR als Befehl reicht mir.


    Wirst du wieder ein Plugin bereit stellen, die das alte video.0??-Verhalten implementiert oder lässt du es als "Aufgabe für den interessierten Leser"? :)


    Lars.


  • Inwiefern deine Variante nicht "kompliziert" sein soll erschließt sich mir nicht ;-).
    In der "local" Variante ist alles vollkommen klar:
    - man weiß, wo neue Aufnahmen hingehen
    - man weiß genau, welche Verzeichnisse benutzt werden sollen (nämlich genau die unter /video)
    - wenn man Verzeichnisse nicht dort haben will, dann montet man sie eben nicht dorthin


    Zusätzliche .skip oder .hidden Dateien halte ich für deutlich komplizierter und aufwendiger.


    Klaus


  • Sorry, hätte doch Quoten sollen, es bezog sich auf die Lösung mit den Sonderzeichen im Namen.
    Und nicht auf die Variante mit den immer erstes Verzeichnis übergehen.


    Johns

    Sag mir, wo die Developer sind. Wo sind sie geblieben? . . . . . . . . . . . . . . . . . . . . SoftHdDevice - A software and GPU emulated HD output device plugin.
    Sag mir, wo die Developer sind. Was ist geschehn?


    Client0: Crown CW02 MSI_C847MS-E33 Zotac_GT640_passiv Cine-S2 iMon-MCE / streamdev softhddevice
    Client1: Lian_Li_PC-Q09FB ASRock_H67M-ITX/HT I3-2100 ASUS_ENGT520_passiv / streamdev softhddevice
    Test: Lian_Li_PC-Q09R Asus C60M1-I / streamdev
    Server0: Dockstar TT-S2-3600-USB / streamdev
    Server2: Lian_Li_PC-Q07R Intel_DH61DL G620 WD20EARX 90W PicoPSU Cine-S2+DuoFlex-S2+DuoFlex-CT / streamdev / 22 Watt Verbrauch

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!