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

  • Genau das will ich ja nicht, weil sich kein Benutzer dafür interessiert auf welcher Platte die Aufnahme nun liegt.


    Wieso denkst Du, das interessiert keinen?


    Interessant fänd ich zum Besipiel die Möglichkeit, einfach eine Platte anzuschliesen (oder USB Stick) um dann jemandem eine Aufnahme mitzugeben. Ob das zum Thema passt, wäre die andere Frage. Zumindest wäre dann der Name des Mediums wichtig.

    - Client1: Thermaltake DH 102 mit 7" TouchTFT * Debian Stretch/vdr-2.4.0/graphtft/MainMenuHooks-Patch * Zotac H55-ITX WiFi * Core i3 540 * 4GB RAM ** Zotac GT630 * 1 TB System HDD * 4 GB RAM * Harmony 900 * satip-Plugin

    - Client2: Alfawise H96 Pro Plus * KODI
    - Server: Intel Pentium G3220 * DH87RL * 16GB RAM * 4x4TB 3.5" WD RED + 1x500GB 2.5" * satip-Plugin
    - SAT>IP: Inverto iLNB

  • Wieso denkst Du, das interessiert keinen?
    Interessant fänd ich zum Besipiel die Möglichkeit, einfach eine Platte anzuschliesen (oder USB Stick) um dann jemandem eine Aufnahme mitzugeben. Ob das zum Thema passt, wäre die andere Frage. Zumindest wäre dann der Name des Mediums wichtig.


    Weil das zu selten vorkommt. Bei mir bis jetzt genau einmal und da habe ich mich an meinen Computer gesetzt und die Aufnahme per ssh kopiert. So wurde keiner beim Fernsehen gestört.


    Für so eine nahezu total unwichtige Information Platz im OSD zu verschwenden finde ich eben nicht gut.


    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

  • Für so eine nahezu total unwichtige Information Platz im OSD zu verschwenden finde ich eben nicht gut.


    oder die Möglichkeit einbauen, ein "Mount-Point-Informationen" Fenster einzublenden.


    wie das der jeweilige SKIN-Autor/Modifizierer dann umsetzt, ist etwas anderes.

    Dirk

  • Wir reden hier von unterrschiedlichen Dingen:


    - Aufnahmen auf/von eine andere (externe) Platte kopieren
    - Aufnahmen von mehreren Platten im vdr anzeigen/nutzen können
    - Aufnahmen bei Aufzeichnung auf mehrere Platten verteilen können


    Das erste hat mich bisher nicht interessiert, das mach ich per Shell. Ich verstehe aber, dass es ein schönes Feature wäre. Ich stelle es mir als reccmd o.ä. vor, ich wähle also eine Aufnahme über das OSD aus, dann noch das Zielverzeichnis und sie wird kopiert. Da kann man dann Erleichterungen einbauen wie Mountpoints von Platten anzeigen, damit man schneller eine externe Platte findet usw. Dann kann man jemandem schnell mal am TV eine Aufnahme auf einen Stick ziehen und mitgeben. Oder auch eine Aufnahme auf die lokale Platte kopieren (Import/Export).


    Das dritte interessiert mich auch nicht, da mein vdr ähnlich wie bei Klaus nur ein Puffer ist. Gesehenes lösche ich wieder, will ich etwas behalten, wird es archiviert, das passiert noch manuell. Da kommt dann ja auch Nummer 1 wieder ins Spiel. :)


    Das zweite ist das Problem, was ich mit meinem Patch angehen möchte. Man hat z.B. mehrere vdr im LAN oder die ein oder andere externe Platte mit Aufnahmen, und die will man eben einfach mal anstöpseln und gucken können.
    Für USB-Platten kann man jetzt ein Progrämmchen schreiben, dass per udev oder udisk oder wie das heißt auf das (un)plug von Platten reagiert, sie als vdr-Aufzeichnungen erkennt (magische Datei im rootdir oder so) und dann die neuen SVDRP-Befehle benutzt, um sie dem vdr unterzujubeln oder wegzunehmen.
    Außerdem hatten wir bei yavdr mit dem avahimounter gewisse Probleme, wenn sich zwei vdr gegenseitig mounten (Ringschlüsse). Deshalb kamen wir auf die Idee, die anderen vdr außerhalb des Videodir zu mounten und die Aufnahmen irgendwie anders in den vdr zu bekommen. Man hätte natürlich viele Links setzen können wie helau, aber auf die Idee bin ich nicht gekommen. :) Deshalb und weil ich gerne Patches schreibe hab ich dann daran gearbeitet, mehrere Verzeichnisse in eine Aufnahmenliste im vdr zu bekommen.
    Das Ergebnis ist eben der extra-video-directory-Patch. :)


    Lars


  • oder die Möglichkeit einbauen, ein "Mount-Point-Informationen" Fenster einzublenden.
    wie das der jeweilige SKIN-Autor/Modifizierer dann umsetzt, ist etwas anderes.


    Erst wollte ich dir ja zustimmen, aber das braucht eigentlich auch Keiner. Diejenigen, die unbedingt Aufnahmen kopieren wollen, die wollen gar nicht wissen wo die Aufnahme ist. Sie wollen die Aufnahme kopieren!
    Was für ein Glück, dass der VDR schon weiß wo die Aufnahme ist. Dafür braucht also nur jemand ein Plugin zu schreiben, welches die Aufnameliste anzeigt und fragt wohin denn die Aufnahme kopiert werden soll.
    Woher sie denn nun kommt ist doch völlig egal, nur wohin sie geht ist wichtig.


    Das hat aber überhaupt nichts mit dem Thema in diesem Thread zu tun.


    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

  • Das dritte interessiert mich auch nicht, da mein vdr ähnlich wie bei Klaus nur ein Puffer ist. Gesehenes lösche ich wieder, will ich etwas behalten, wird es archiviert, das passiert noch manuell. Da kommt dann ja auch Nummer 1 wieder ins Spiel. :)


    Genau, das wäre bei dem von mir angesprochenen Plugin die "Save as"-Funktion, z.B. als mkv? Da könnten sich die Experten für die Konvertierung mit ffmpeg, Handbrake und Konsorten austoben, aber eben nicht in diesem Thread.


    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

  • Das hat aber überhaupt nichts mit dem Thema in diesem Thread zu tun.


    Finde ich schon, denn es heist ja "Multiple Video-Verzeichnisse" und "freie Diskussion zu Konzepten, Patches, Lösungen und Wünschen"


    Zugeben, ich hab den Thread nicht komplett gelesen :fressehalten


    Aber sehe das so:


    - Platte im VDR = Verzeichnis 1 (Aufnahmeplatte)
    - Netzwerkfreigabe = Verzeichniss 2 (Medienserver)
    - externe Platte 1 = Verzeichnis 3 (Archiv Serien)
    - externe Platte 2 = Verzeichnis 4 (Archiv Doku)
    - externe Platte 3 = Verzeichnis 5 (Archiv Filme)


    Ich schau so durch die Aufnahmen und sehe eine die mir spontan jetzt absolut nichts sagt, mir aber gefällt.
    Ich denke mir nun .oO(hast du die schon oder ist das eine neue Aufnahme???)


    Genau JETZT wäre es richtig Interressant, den Mountpoint/Medieninfos der Aufnahme zu kennen, ohne dafür einen normalen PC anwerfen zu müssen (weil man am VDR keine Konsole hat/will).

    Dirk

  • Ich schau so durch die Aufnahmen und sehe eine die mir spontan jetzt absolut nichts sagt, mir aber gefällt.
    Ich denke mir nun .oO(hast du die schon oder ist das eine neue Aufnahme???)
    Genau JETZT wäre es richtig Interressant, den Mountpoint/Medieninfos der Aufnahme zu kennen, ohne dafür einen normalen PC anwerfen zu müssen (weil man am VDR keine Konsole hat/will).


    Aber das sind doch ganz normale Aufnahmen, die Medieninfos dafür kannst du dir doch jederzeit per Fernbedienung anzeigen lassen.
    Wozu brauchst du den Mountpoint? Was machst du dann mit der Information?


    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

  • Aber das sind doch ganz normale Aufnahmen, die Medieninfos dafür kannst du dir doch jederzeit per Fernbedienung anzeigen lassen.


    OK, das war 2deutig ausgedrückt. Ich meinte die Medieninformationen der Platte/Partition/Freigabe! Also sowas wie "Einhängepunkt" und "x GB frei von x GB".
    Man könnte da auch einen Schritt weiter gehen und auf jeder Platte/Partition/Freigabe eine Infodatei hinterlegen, die dann mit angezeigt werden kann.


    Natürlich könnte man dann auch die Größe der Aufnahme mit anzeigen.


    Wozu brauchst du den Mountpoint? Was machst du dann mit der Information?


    Zitat

    Ich denke mir nun .oO(hast du die schon oder ist das eine neue Aufnahme???)


    Ich kann dann sehen, ob die Aufnahme nun auf der Aufnahmeplatte ist (in dem Fall würde ich sie dann auf die entsprechende Archivplatte oder die Netzwerkfreigabe verschieben) oder ob sie in einem anderen Verzeichniss ist (in dem Fall hab ich dann nur Alzheimer und die Aufnahme vergessen.


    Es wäre doch dumm, wenn ich versuche die bestehende Aufnahme noch einmal auf die Archivplatte zu schieben/kopieren, obwohl diese schon dort ist!


    Man könnte es sich auch einfach machen und aktuellen Speicherort im Auswahlfeld (beim Kopieren/Verschieben) mit anzeigen, aber nicht auswählbar machen. Hier sind aber wieder die SKIN Autoren gefragt, ob und wie sie das umsetzen.
    Aber eine einfache Möglichkeit an die Infos zu kommen, wäre meiner Meinung nach vor großem Vorteil.

    Dirk

  • Um mal zu "schlichten": mein gepatchtes cRecording-Objekt weiß natürlich, zu welchem Videoverzeichnis es gehört. Dann kann das auch angezeigt werden. Muss evtl. nur noch diese Property abfragbar machen, bisher war sie intern interessant.


    Lars.

  • mini73: Daß mir dein Patch an viel zu vielen zentralen Stellen eingreift und damit für eine Übernahme in den Code-VDR-Code kaum in Frage kommt, dürfte dir wahrscheinlich schon klar sein ;-).


    Wenn ich dich richtig verstanden habe, dann willst du doch erreichen, daß man (zur Laufzeit) dem VDR weitere Video-Verzeichnisse hinzufügen bzw. wegnehmen kann, und diese (wahlweise) mit den anderen Verzeichnissen "mischen" kann, so daß z.B. eine auf mehrere Platten verteilte Serie wie ein einziges Verzeichnis mit allen Episoden erscheint, richtig?


    Ich würde dafür folgende Vorgehensweise vorschlagen:


    1. Die zusätzlichen Verzeichnisse/Platten werden immer direkt unterhalb des Video-Verzeichnisses eingehängt.
    2. Es wird eine Namenskonvention festgelegt, die dazu führt, daß diese Mount-Points an bestimmten Stellen nicht auftauchen. Diese Konvention könnte z.B. sein, daß die Namen mit '}' beginnen. Also etwa

    Code
    /video/}MyVideos
    /video/}SomeMoreVideos


    Es dürfte höchst unwahrscheinlich sein, daß jemals eine normale Aufnahme mit diesem Zeichen beginnt.
    Man könnte natürlich auch gleich '.' als erstes Zeichen verwenden, dann wären sie sogar im Filesystem selber "hidden", aber ich glaube fast, das geht zu weit. Käme auf einen Versuch drauf an, was besser ist.
    3. In cRecording::SortName() und cRecording::Title() wird das erste Verzeichnis (nach dem Video-Verzeichnis) übersprungen, wenn es der Konvention nach 2. entspricht.
    4. Die neue Funktion cRecordings::UpdateDirectory(const char *Name, int Mode) fügt den über Name angegebenen Zweig zur Liste der Aufnahmen hinzu, entfernt ihn oder frischt ihn auf.
    5. Der SVDRP-Befehl UPDR erhält die erweiterte Syntax

    Code
    UPDR [ [ add | del ]  <name> ]


    womit das Verzeichnis <name> entweder hinzugefügt, entfernt oder "aufgefrischt" werden kann. Ohne Parameter verhält er sich wie bisher.
    6. Ein globaler Schalter (z.B. Setup.ShowHiddenVideoDirectories) kann dazu dienen, auf Wunsch die Funktion von 3. ein-/auszuschalten. Ist sie ausgeschaltet, dann erscheinen im Recordings-Menü alle Aufzeichnungen dort, wo sie "wirklich" liegen, und die Verzeichnisse nach 2. sind explizit anzusteuern.
    7. Ein externer Mechanismus (udev oder was auch immer) sorgt dafür, daß z.B. beim Anstecken einer USB-Platte diese an die entsprechende Stelle gemountet wird (z.B. /video/}MyVideos) und "UPDR add }MyVideos" aufgerufen wird. Beim Abstecken wird dann "UPDR del }MyVideos" aufgerufen.


    Ich glaube, daß damit mit minimalem Eingriff und ansonsten völliger Kompatibilität deine beiden Ziele zu erreichen sind.
    Diese Methode könnte ich mir auch durchaus vorstellen in den Core-Code aufzunehmen.


    Klaus

  • Ich glaube, daß damit mit minimalem Eingriff und ansonsten völliger Kompatibilität deine beiden Ziele zu erreichen sind.


    Für USB-Platten ist das sicherlich ein möglicher Ansatz. Wo es bei der Methode aber Probleme geben könnte ist, wenn mehrere VDRs gegenseitig ihr Aufnahmeverzeichnis per NFS mounten, weil sich dann wie bislang auch schon bei gewissen Konstellation Kreisverkettungen ergeben können. Außerdem würden so zusätzliche Mounts von einem zentralen Fileserver, die jeder Client einbindet dann noch einmal extra in der Liste der Aufnahmen auftauchen.
    Daher finde ich die Methode das eigentliche Aufnahmeverzeichnis nicht mit temporären Symlinks und Mounts zu verunstalten sehr attraktiv, weil der User so weniger leicht in Situationen gerät wo es kracht.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Ich glaube, daß damit mit minimalem Eingriff und ansonsten völliger Kompatibilität deine beiden Ziele zu erreichen sind.
    Diese Methode könnte ich mir auch durchaus vorstellen in den Core-Code aufzunehmen.


    Auf den ersten Blick nicht übel, mal sacken lassen.


    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

  • wenn mehrere VDRs gegenseitig ihr Aufnahmeverzeichnis per NFS mounten, weil sich dann wie bislang auch schon bei gewissen Konstellation Kreisverkettungen ergeben können. Außerdem würden so zusätzliche Mounts von einem zentralen Fileserver, die jeder Client einbindet dann noch einmal extra in der Liste der Aufnahmen auftauchen.


    Auch wieder wahr, außer KLS ignoriert ein zweites Directory im Pfad mit dem Sonderzeichen generell.


    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


  • Für USB-Platten ist das sicherlich ein möglicher Ansatz. Wo es bei der Methode aber Probleme geben könnte ist, wenn mehrere VDRs gegenseitig ihr Aufnahmeverzeichnis per NFS mounten, weil sich dann wie bislang auch schon bei gewissen Konstellation Kreisverkettungen ergeben können. Außerdem würden so zusätzliche Mounts von einem zentralen Fileserver, die jeder Client einbindet dann noch einmal extra in der Liste der Aufnahmen auftauchen.


    Müsste man das dem NFS nicht extra sagen, daß remote-gemountete Directories "re-exportiert" werden sollen? Standardmäßig würde er das doch gar nicht machen, oder?


    Klaus

  • Müsste man das dem NFS nicht extra sagen, daß remote-gemountete Directories "re-exportiert" werden sollen? Standardmäßig würde er das doch gar nicht machen, oder?


    Da ist was dran, anscheinend benutzen wir per default die nohide Option beim export. Wir müssten wohl hide verwenden.


    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

  • duerfte ich vlt. einen (evtl. sinnfreien) Vorschlag machen?


    * Warum dem VDR nicht eine Startoption geben, die ihn anweiszt, die Metadaten der Filme in ein mit angegebenes Verzeichnis abzulegen? Also in etwa so: '-m /<Pfad_zum_Metadatencache>


    Gedankengang: Beim Start oder neu einlesen koennte man damit eine 1:1 Kopie der Metadaten auf einer lokalen SSD ablegen. Aber die Originale wuerden immer noch bei den Videodaten liegen. Und die legt man einfach in Subdirectories unter /video. Das wuerde jetzt natuerlich den Start und neu einlesen verlaengern, aber dann koennte man die eingebundenen Platten 'auf ewig' schlafen legen...


    Wenn ich hier Muell verzapfe, sagt's mir einfach :o) Ich kann's ertragen...

  • duerfte ich vlt. einen (evtl. sinnfreien) Vorschlag machen?


    * Warum dem VDR nicht eine Startoption geben, die ihn anweiszt, die Metadaten der Filme in ein mit angegebenes Verzeichnis abzulegen? Also in etwa so: '-m /<Pfad_zum_Metadatencache>


    Gedankengang: Beim Start oder neu einlesen koennte man damit eine 1:1 Kopie der Metadaten auf einer lokalen SSD ablegen. Aber die Originale wuerden immer noch bei den Videodaten liegen. Und die legt man einfach in Subdirectories unter /video. Das wuerde jetzt natuerlich den Start und neu einlesen verlaengern, aber dann koennte man die eingebundenen Platten 'auf ewig' schlafen legen...


    Gleiche Information an verschiedenen Stellen == *schlecht* ;)


    Klaus

  • Natürlich kann man das mit einer bestimmten Konfiguration umgehen, das macht es aber für den User nicht einfacher wenn er sich an eine bestimmte Methode halten muss, die ihm dann wieder andere Nachteile einbringt.

    Da ist was dran, anscheinend benutzen wir per default die nohide Option beim export. Wir müssten wohl hide verwenden.

    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.


    Und mit Fuse-Dateisystemen wie beispielsweise mhddfs besteht generell das Problem, dass ja alles darin liegende als ein einziges ein Dateisystem exportiert wird und nohide/hide da gar keinen Effekt hat, wenn man etwas in den zugrunde liegenden Ordnern gemountet hat.


    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.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)


  • Gleiche Information an verschiedenen Stellen == *schlecht* ;)
    Klaus


    Hi Klaus,
    da hast du ja prinzipiell recht. Aber deshalb schrieb (schrob, schrub?) ich oben ja /<Pfad_zum_Metadatencache>. Wir reden hier ja unter anderem auch ueber Speicherhierarchien: Wie weit sind die Daten weg und was loeszt eine Aktion alles im Speichersubsystem aus. Und das faengt fuer mich bei einer lokalen Platte, die ich schlafen legen will, an und geht weiter bis zum ueber Netzwerk eingebundenen Hausserver.
    Und klar, die Idee kommt natuerlich aus meinem speziellen Anwendungsfall hier zuhause (3xVDR, einer davon ist der normale Desktop mit 'ner dicken Platte auf der alle Filme liegen).
    Ich kann uebrigens mit der heutigen Implementierung (ich habe Metadaten und Videodaten _nicht_ getrennt, das liegt auch wg. Backup schoen in jeweils einem Verzeichnis) sehr gut leben. Von mir aus musst du also garnix machen/aendern :o) Aber mit so einer Funktionalitaet koennte ich persoenlich auch was anfangen...

Jetzt mitmachen!

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