DistributedVideoDirectory für VDR 2.2.0 und neuer

  • Die Idee die Cache-Verwaltung in ein Skript auszulagern ist keine schlechte Idee, gefällt mir :thumbup:!


    Das Quoting von Dateinamen einfach weglassen, weil es mit nicht läuft, ist nicht gut. Das kann zu Problemen führen, wenn Leerzeichen ins Spiel kommen.

    Bei Debian tippe ich auf BASH als Ursache für das Problem, standardmässig ist die Shell nämlich gar nicht installiert und der Ersatz kann nicht alles. Man muss lediglich das Paket nachinstallieren, dann sollte es gehen.


    Was bei dem Skript IMHO noch fehlt ist eine regelmässige Kontrolle der Belegung der Cache-Partition.

    Nicht dass einem bei einem Aufnahme- oder Schnitt-Marathon der Platz ausgeht.


    Statt "nice" sollte man "ionice" setzen. Bei einem Verschiebebefehl mit viel HDD-Zugriff, kann es nicht schaden auch den nice zu machen.


    Und was passiert eigentlich, wenn der VDR auf die Aufnahme gerade zugreift, während sie verschoben wird?

    Fängt mv das schon ab?


    Die Anzeige des freien Platzes dürfte aktuell auch nicht korrekt sein?

    Da wird man momentan nur den Platz auf der Cache-Partition sehen, denke ich.

    Gruss
    SHF


  • Quote

    Und was passiert eigentlich, wenn der VDR auf die Aufnahme gerade zugreift, während sie verschoben wird?

    Fängt mv das schon ab?

    Da bin ich mir nicht sicher ob mv das abfängt wenn man unterschiedliche Filesysteme hat. Daher hab ich mit lsof ebgefragt ob die Datei "in use" ist.


    Quote

    Was bei dem Skript IMHO noch fehlt ist eine regelmässige Kontrolle der Belegung der Cache-Partition.

    Nicht dass einem bei einem Aufnahme- oder Schnitt-Marathon der Platz ausgeht.

    Da haste Recht, das hatte ich auch schon angedacht, aber dann einfach wieder verworfen weil ich ja weiss was ich tue :sleep

  • Das Quoting von Dateinamen einfach weglassen, weil es mit nicht läuft, ist nicht gut. Das kann zu Problemen führen, wenn Leerzeichen ins Spiel kommen.

    Bei Debian tippe ich auf BASH als Ursache für das Problem, standardmässig ist die Shell nämlich gar nicht installiert und der Ersatz kann nicht alles. Man muss lediglich das Paket nachinstallieren, dann sollte es gehen.


    Die Bash ist bei mir installiert und trotzdem kommt der Fehler.


    Code
    1. bash --version
    2. GNU bash, Version 4.4.12(1)-release (x86_64-pc-linux-gnu)
    3. ii bash 4.4-5 amd64


    Woran könnte es denn noch liegen ?


    Gruß dile

  • Du könntest es mal mit "${*}" probieren, ob er das will.


    Wobei $* ja so eine Spezial-Variable ist, die alle Argumente als Strig enthält.

    Eventuell ist in dem einen Fall das Quoting unnötig, das weiss ich aber nicht auswendig.

    Ist das die einzige Stelle?

    Gruss
    SHF


  • Du könntest es mal mit "${*}" probieren, ob er das will.


    Wobei $* ja so eine Spezial-Variable ist, die alle Argumente als Strig enthält.

    Eventuell ist in dem einen Fall das Quoting unnötig, das weiss ich aber nicht auswendig.

    Ist das die einzige Stelle?


    Das macht keinen Unterschied. Ich habe es jetzt nochmal unter Debian Testing ausprobiert und bekomme mit dem original Script die folgende Meldung wenn ich es als root ausführe:


    lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs

    Output information may be incomplete.


    Mir ist auch aufgefallen das in den Logfiles auch der Benutzername vom User mit der UserID 1000 auftaucht wobei ich aber nicht verstehe woher das kommt.


    Vielleicht hat da noch jemand Input für mich. Vielen Dank

  • Ich habe das folgende Testscript gebastelt und bei mir geht das unter Debian 9. Auch als root.

    Das Script zeigt auch ganz schön den Unterschied von "$*" und $*.


    Die Ursache des Fehlers muss wohl wo anders liegen.

    Gruss
    SHF


  • Hi,

    blöde Frage mal:

    Wie muss ich das mounten? Plugin bauen (für VDR 2.2.0 ) geht und wird auch geladen.

    Code
    1. Aug 14 19:04:21 easyVDR vdr: [15707] starting plugin: distributedvideodir
    2. Aug 14 19:04:21 easyVDR vdr: [15707] cVideoDirectoryLinked instantiated!
    3. Aug 14 19:04:21 easyVDR vdr: [15710] DerivedVideoDirectory Contains: /video0/Lost_Places_-_Hitlers_unterirdische_Raketenbasis/2019-02-15.22.03.508-0.rec
    4. Aug 14 19:04:21 easyVDR vdr: [15710] DerivedVideoDirectory Contains: /video0/Fast_&_Furious#3A_Hobbs_&_Shaw/2022-04-21.20.08.8-0.rec


    Aber der verfügbare Platz im OSD ist nach VDR Neustart trotzdem nur der der ersten Platte (video0).


    Gemounted in fstab mit:

    Quote

    UUID=5c0abcde-2e5d-4ec7-9e4e-f9ce73c9df3d /media/easyvdr01/video0 xfs noatime,defaults 0 2

    UUID=57687260-c3ff-4bf9-83a4-33c695ab600e /media/easyvdr01/video1 xfs noatime,defaults 0 2

    /media/easyvdr01/video1 ist vorher angelegt und hat 755 Rechte und gehört ebenso vdr.


    Bin ratlos.


    Oder muss ich in der setup.conf

    RecordingDirs = 1

    auf 2 ändern?


    MfG,

    Stefan

    Test-VDR1: HP rp5700 Fertigsystem, Core2Duo E6400, 2GB RAM, FF-SD C-2300, nvidia Slim-GT218 x1 | easyVDR 2.0 64Bit
    VDR3: in Rente

    VDR4: MSI G31M2 v2, Digitainer2-Geh., t6963c 6" gLCD, E5200, 2GB, 3TB WD Red, GT730, 2x TT S2-3200; easyVDR 3.5 64bit
    VDR5: Gigabyte
    GA-G31M-S2L, Intel E2140, Zotac GT730 passiv, Digitainer2-Geh., t6963c 6 " gLCD, 2 TB WD Red, 2x TT S2-3200 (an 1 Kabel) easyVDR 3.5 64bit
    VDR6:
    Intel E5200, GT630 passiv, F1 750 GB, t6963c gLCD, 2x TT S2-3200 | easyVDR 3.5 64bit
    VDR-User #1068
    www.easy-vdr.de

    The post was edited 3 times, last by SurfaceCleanerZ ().

  • Hi,

    Oder muss ich noch irgendeinen Parameter ans Plugin übergeben beim Start?

    MfG Stefan

    Test-VDR1: HP rp5700 Fertigsystem, Core2Duo E6400, 2GB RAM, FF-SD C-2300, nvidia Slim-GT218 x1 | easyVDR 2.0 64Bit
    VDR3: in Rente

    VDR4: MSI G31M2 v2, Digitainer2-Geh., t6963c 6" gLCD, E5200, 2GB, 3TB WD Red, GT730, 2x TT S2-3200; easyVDR 3.5 64bit
    VDR5: Gigabyte
    GA-G31M-S2L, Intel E2140, Zotac GT730 passiv, Digitainer2-Geh., t6963c 6 " gLCD, 2 TB WD Red, 2x TT S2-3200 (an 1 Kabel) easyVDR 3.5 64bit
    VDR6:
    Intel E5200, GT630 passiv, F1 750 GB, t6963c gLCD, 2x TT S2-3200 | easyVDR 3.5 64bit
    VDR-User #1068
    www.easy-vdr.de

  • Hi,

    hat echt keiner eine Idee, wie das früher ging?


    MfG,

    Stefan

    Test-VDR1: HP rp5700 Fertigsystem, Core2Duo E6400, 2GB RAM, FF-SD C-2300, nvidia Slim-GT218 x1 | easyVDR 2.0 64Bit
    VDR3: in Rente

    VDR4: MSI G31M2 v2, Digitainer2-Geh., t6963c 6" gLCD, E5200, 2GB, 3TB WD Red, GT730, 2x TT S2-3200; easyVDR 3.5 64bit
    VDR5: Gigabyte
    GA-G31M-S2L, Intel E2140, Zotac GT730 passiv, Digitainer2-Geh., t6963c 6 " gLCD, 2 TB WD Red, 2x TT S2-3200 (an 1 Kabel) easyVDR 3.5 64bit
    VDR6:
    Intel E5200, GT630 passiv, F1 750 GB, t6963c gLCD, 2x TT S2-3200 | easyVDR 3.5 64bit
    VDR-User #1068
    www.easy-vdr.de

  • Bei mir lief das problemlos bei mount auf:


    /video0

    /video1


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • Es sollte genau so gehen, wie früher. Der Teil ist einfach übernommen.

    --video=/media/easyvdr01/video0 sollte reichen und der VDR beide einbinden.


    Als debug-Meldung sollte das Plugin auch die Grössen der Platten einzeln ausgeben. FreeSpace at ...

    Das müsste bei entsprechndem Debug-Level direkt beim Start kommen, wenn ich das noch recht erinnere.


    Was sagt denn df ?

    Gruss
    SHF


  • Hi,

    Danke für die Rückmeldungen, ich gucke morgen nach. Ich bin gerade nicht am VDR.

    Quote

    --video=/media/easyvdr01/video0 sollte reichen und der VDR beide einbinden.

    Das als Parameter in der Pluginlist? Das teste ich. Ich habe wie gesagt beide als video0 und 1 gemountet via fstab, aber er findet nur die alte video0.


    Die Ausgaben vom Pluginstart hatte ich oben ja schon geschrieben. Keine Größenangabe.


    df kommt.

    MfG Stefan

    Test-VDR1: HP rp5700 Fertigsystem, Core2Duo E6400, 2GB RAM, FF-SD C-2300, nvidia Slim-GT218 x1 | easyVDR 2.0 64Bit
    VDR3: in Rente

    VDR4: MSI G31M2 v2, Digitainer2-Geh., t6963c 6" gLCD, E5200, 2GB, 3TB WD Red, GT730, 2x TT S2-3200; easyVDR 3.5 64bit
    VDR5: Gigabyte
    GA-G31M-S2L, Intel E2140, Zotac GT730 passiv, Digitainer2-Geh., t6963c 6 " gLCD, 2 TB WD Red, 2x TT S2-3200 (an 1 Kabel) easyVDR 3.5 64bit
    VDR6:
    Intel E5200, GT630 passiv, F1 750 GB, t6963c gLCD, 2x TT S2-3200 | easyVDR 3.5 64bit
    VDR-User #1068
    www.easy-vdr.de

  • Das als Parameter in der Pluginlist?

    Als Parameter für den VDR. Das Plugin selbst stellt nur das alte Verhalten wieder her und hat (mit Absicht) keine Parameter.


    Das Videoverzeichnis sollte wie oben, genau einmal im Startbefehl des VDR auftauchen. Wie der zusammengebastelt wird ist aber Distri abhängig.

    Irgend ein Verzeichnis muss ja übergeben werden, sonst ginge es ja gar nicht. Eventuell aber nicht ganz korrekt, so dass das Plugin es nicht versteht.


    Vielleicht stört auch das "01" von "easyvdr01" im Pfad. Wäre aber ein merkwürdiger Bug, da es im Test sogar mit Symlinks ging.

    Gruss
    SHF