[ANNOUNCE] hddarchive-0.0.1

  • Hi!
    Nach ausgiebigen Tests hab ich die Version 0.0.1 meines Plugins hddarchive rausgehauen.


    Worum geht's:
    Mit dem Plugin ist es möglich, Aufnahmen auf einer Festplatte zu archivieren. Dazu werden
    die eigentlichen Videodaten auf diese Platte verschoben. Die restlichen Dateien bleiben im Recdir,
    die Aufnahme erscheint also immernoch in der Aufnahmeliste. Jeder Archivplatte wird eine Id
    gegeben. Wenn mal eine solche Aufnahme abspielen will, wird man aufgefordert, die entsprechende
    Platte anzuschliessen. Die Wiedergabe erfolgt dann von dieser Platte. Das Plugin weiss also, auf
    welcher Platte die Aufnahme liegt.
    Genaueres in der README.


    Ich werde das Plugin noch weiter ausbauen. Dazu gehört das Erstellen (Formatieren) einer
    Archivplatte, und das Zurückspielen einer archivierten Aufnahme. Momentan ist das Archivieren
    noch per Shellscript gelöst. Das ganze soll aber noch durch das Plugin selbst gemacht werden.
    Damit wird das ganze etwas gesichert gegen Shutdown und andere Aktionen im Videodir.


    Das Plugin gibt's bei vdr-developer.

  • Erstmal vielen Dank für das Plugin. Ein Bekannter nervt mich schon länger, dass er genau eine solche Funktion gerne hätte. Mir sieht es so aus, als würde dein Plugin exakt seinen Wünschen entsprechen.


    Was hat es denn mit dem Patch auf sich? Muss man den haben, damit das Plugin etwas tut?


    Kann das in der letzten VDR-Entwicklerversion hinzugekommene API zum Behandeln des Aufnahmeverzeichnisses dir hier helfen um ohne Patch auszukommen?


    Wenn es mit der neuen API nicht geht, wäre es meiner Ansicht nach interessant, in einer zukünftigen Version ein alternatives Aufzeichnungs-Menü anzubieten (von den VDR-Originalklassen abgeleitet). Der VDR wird über kurz oder lang ein anpassbares Hauptmenü bekommen und dort könnte man dann dein Aufzeichnungsmenü aktivieren. In der Zwischenzeit könnte man hier noch auf den Mainmenuhooks-Patch zurückgreifen.


    Du schreibst, dass nur die Videodaten auf die Archivplatte kommen. Wäre es hier nicht eine gute Idee die Metadaten zusätzlich zu kopieren damit auf der Archivplatte eine komplette Aufnahme liegt, die dann auch bei Defekt der Hauptplatte noch vollwertig wiederherstellbar wäre?

  • So wie ich den Patch aber lese ist er zwingende Voraussetzung damit die archivierten Aufnahmen im Original-Aufzeichnungs-Menü überhaupt etwas tun. Ohne Patch sollte der VDR hier schlicht auf einen Fehler laufen.


    Richtig interessant würde das Plugin wenn es ohne Patches seinen Dienst tun kann. Also entweder über vorhandene APIs oder über ein "ergänztes" Aufzeichnungs-Menü abgeleitet vom Original.

  • Na das wäre ja optimal.


    Bleibt natürlich das kleine Problem mit dem Shellscript für's Archivieren, aber das steht ja oben schon in der TODO-Liste. Ein Script an sich ist keine schlechte Idee, aber da der VDR nichts vom Script weiß kann man auch während dem Archivieren runterfahren und damit potentiell die Aufnahme zerstören. Könnte man aber mit einem Shutdown-Hook entschärfen. Zumindest solange bis es im Plugin eine Absicherung gibt.

  • Das Script ist noch ein angepasstes Überbleibsel von extrecmenu. Das soll aber bald verschwinden.
    Ich hab es nur noch dabei, dass man das Plugin bereits nutzen kann.
    Das Plugin bietet ein eigenes Aufzeichnungsmenü. Der Patch kennzeichnet nur die Archive im
    originalen Aufzeichnungsmenü.Desweiteren bewirkt er, dass alle Aufzeichnungen über das Plugin
    abgespielt werden. Sind es Archive, erfolgt erst ein Request, dass die entsprechende Platte ange-
    schlossen wird. Ohne Patch kann man aus dem Originalmenü keine Archive abspielen. Es kommt
    aber dabei nicht zu einem Absturz. VDR spielt es dann einfach nur nicht ab. Er verhindert auch, dass
    ein Archiv gelöscht wird. Also wirklich optional. Ich will eigentlich keine Ersetzung mit MainMenuHooks
    anbieten.
    Ich muss mir mal noch genau ansehen, welche der neuen Funktionen ich nutzen kann. Aber das
    Plugin soll möglichst kompatibel zum stable VDR bleiben, obwohl ich selbst immer die Entwicklerversion
    nutze. Aber das tun wohl auch die meisten hier.
    Mir ist auch aufgefallen, dass der Patch nur sauber gegen die aktuelle Dev funktioniert. Aber wenn ich
    mir die Rejects ansehe, ist es wohl kein Problem, die wenigen Anpassungen selber zu machen.


    Welche Dateisysteme soll ich eigentlich für die Diskerstellung anbieten? Ich selber nutze ausschliesslich ext4.

  • Wenn dein eigenes Menü das Aufzeichnungsmenü ersetzen kann (also nicht nur Archivaufnahmen anzeigt), dann wäre eine optionale Unterstützung von MainMenuHooks doch eine Kleinigkeit. Fände ich schon praktisch und ist eigentlich so einfach, dass ich dir anbieten könnte, einen Patch zu erstellen.


    Was das "Erstellen" angeht: Formatieren würde ich garnicht anbieten. Das solltest du dem Benutzer überlassen. Schon deshalb weil der VDR, sollte er nicht gerade als "root" laufen, garkeine Festplatten formatieren darf.


    Ich würde mich darauf beschränken auf bereits formatierte Datenträger die nötige "Steuerdatei" abzulegen und ggf. eine Grundstruktur an Verzeichnissen anzulegen.

  • Wenn dein eigenes Menü das Aufzeichnungsmenü ersetzen kann (also nicht nur Archivaufnahmen anzeigt), dann wäre eine optionale Unterstützung von MainMenuHooks doch eine Kleinigkeit. Fände ich schon praktisch und ist eigentlich so einfach, dass ich dir anbieten könnte, einen Patch zu erstellen.


    Was das "Erstellen" angeht: Formatieren würde ich garnicht anbieten. Das solltest du dem Benutzer überlassen. Schon deshalb weil der VDR, sollte er nicht gerade als "root" laufen, garkeine Festplatten formatieren darf.


    Ich würde mich darauf beschränken auf bereits formatierte Datenträger die nötige "Steuerdatei" abzulegen und ggf. eine Grundstruktur an Verzeichnissen anzulegen.


    Stimmt! Daran hatte ich noch gar nicht gedacht, dass nur root formatieren darf. Ich werde mich auf
    vorformatierte Datenträger beschränken.
    Ich weiss nicht, wie lange MainMenuHooks noch notwendig ist. Klaus hat ja schon angekündigt, dass
    VDR die Möglichkeit bieten wird, das Hauptmenü individueller zu gestalten. Aber bis dahin kann ich eine
    Ersetzung einbauen. Es sei denn, du hast schon einen Patch parat.

  • Naja, ich denke, das krieg ich irgendwie hin. Kann's mir ja bei anderen
    Plugins abgucken. Ich warte noch, bis Louis die 1.0.0 von skinnopacity
    released hat. Dann passe ich den Skinpatch noch an. Dann werde ich
    noch den VDR Patch etwas überarbeiten, vor allem noch einen erstellen,
    mit dem sich der stable Zweig problemlos patchen lässt. Beim VDR Patch
    fehlen auch noch die deutschen Übersetzungen.
    Wenn dann keine Fehler mehr auftreten, wird das die 0.0.2. Danach
    geht's dann weiter.

  • Hallo,


    erst mal Danke für das Plugin. So was hab ich schon gesucht. Bin noch nicht zum testen gekommen, deshalb vieleicht ne blöde Frage:
    Gibts da auch eine Funktion, das man bestehene (externe) Festplatten mit Aufzeichnungen als Archive-Platte einbinden kann? Also dass man nicht die Aufnahmen verschiebt mit deinem Plugin, sondern mit einem Befehl die Infos von vorhandenen Platten ins video0 Verzeichnis kopiert, das sie als Archive genommen werden?


    Gruß
    Steevee

    VDR1: EasyVDR 2.0.0, MB Asus M2N-VM HDMI, TT S2-6400, ...
    VDR2: EasyVDR 2.0.0, MB Asus M4N78 Pro, AMD Athlon II X2 250, DVB-S2 TeVii S464, 2*DVB-S Budget, GraphTFT an VGA, TV an HDMI
    VDR3: EasyVDR 2.0.0, MB Asus M2N-VM HDMI, DVB-S FF1.3, DVB-S Budget, Atric-IR, GraphTFT an FF, TV an DVI
    #VDR4: EasyVDR 0.8.x, DVB-S FF1.3, DVB-S Budget, TV über AV-Board
    sonstige VDR Test-Hardware: Skystar HD2, Touch-TFT, IMON-LCD, Fritz-Box, ...

  • Das ist wirklich seltsam. Mein Codeabschnitt sieht so aus:


    Es liegt auf jeden Fall an
    return AddSubMenu(new cMenuRecording(ri->Recording(), true));
    Es ist bei beiden APIs dieselbe Codezeile.
    Nur bei der neuen geht's. Ich versteh das nicht.

  • Ohne es geprüft zu haben: Du duplizierst Code. Baust also eigene Klassen als Ersatz für VDR-Klassen. Meine Vermutung ist, dass sich hier zwischen VDR 2.1 und 2.0 eine Änderung in der Klassendefinition ergeben hat. Du übergibst also deine duplizierte Klasse für 2.1 an einen VDR 2.0 und dann fetzt es halt.


    Prüfe mal ob es nicht auch in der ".h" bedingte Kompilierung braucht!

Jetzt mitmachen!

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