Doppelpunkte in Dateinamen

  • Hallo,

    immer wieder werden durch das Schema F Doppelpunkte im Aufnahmenamen verwendet, die dann dafür sorgen, dass ich die Datei über die NFS-Freigabe nicht vernünftig schneiden kann.

    Beispiel:

    MacGyver: Jagd nach dem Schatz von Atlantis~2024.05.18-18:20-Sat

    (da sind sogar zwei drin; kommt von epgsearch eine geplante Serienaufnahme, obwohl es einer der beiden Filme ist, aber egal, ist ja nur ein Beispiel).

    Natürlich schaut der Dateiname korrekt aus, er wird mit #3A umschrieben.

    Gibt es eine Möglichkeit, wie man das generell unterbindet oder was muss ich genau tun, damit ich korrekt schneiden kann (mit Skript)?

    Mein Skript (aus dem Forum, bereits leicht angepasst) könnte ich anhängen, wenn gewünscht. Mir wäre es eigentlich lieber, wenn solche kritischen Zeichen gar nicht erst ins Dateisystem kämen (weil man den Terz mit anderen System bekommt).

    Display Spoiler
    Code
    vdr5 (März 2023): Asus P8H77-M LE, i5-3570, 8GB, 240GB, Ansible-yaVdr (ubuntu 20.04.5, vdr 2.4.8, SAT>IP-Plugin)
    vdr3 (Nov 2022): intel DH77EB, i7-3770, 8GB, 64GB, GT610, Ansible-yaVdr (ubuntu 20.04.6, vdr 2.6.6, SAT>IP-Plugin)
    (vdrserver (>03/24): DZ77GA-70K, E3-1245v2, 32GB, SSDs+HDDs (ZFS), Ansible-yaVdr (ubuntu 22.04.3, vdr 2.6.6
    vdrserver (>02/25): B550-Plus, Ryzen 5600, 32GB, SSDs+HDDs (ZFS), Ansible-yaVdr (ubuntu 22.04.3, vdr 2.6.6

    Edited once, last by cduerr (May 19, 2024 at 8:18 AM).

  • Danke Dir, habe ich mir angeguckt und feststellen müssen, dass ich das schon habe (Zeile 10):

    Das Verhalten mit Doppelpunkten tritt also trotz --vfat auf.

    Display Spoiler
    Code
    vdr5 (März 2023): Asus P8H77-M LE, i5-3570, 8GB, 240GB, Ansible-yaVdr (ubuntu 20.04.5, vdr 2.4.8, SAT>IP-Plugin)
    vdr3 (Nov 2022): intel DH77EB, i7-3770, 8GB, 64GB, GT610, Ansible-yaVdr (ubuntu 20.04.6, vdr 2.6.6, SAT>IP-Plugin)
    (vdrserver (>03/24): DZ77GA-70K, E3-1245v2, 32GB, SSDs+HDDs (ZFS), Ansible-yaVdr (ubuntu 22.04.3, vdr 2.6.6
    vdrserver (>02/25): B550-Plus, Ryzen 5600, 32GB, SSDs+HDDs (ZFS), Ansible-yaVdr (ubuntu 22.04.3, vdr 2.6.6

    Edited 3 times, last by cduerr (May 19, 2024 at 8:58 AM).

  • --dirnames=,,1 schaltet schon das Encoding von Sonderzeichen an - mit --vfat gibt es zusätzlich noch eine Längenbeschränkung für Datei- und Ordnernamen (das entspräche --dirnames=250,40,1, was man nicht unbedingt haben will).

    Aber irgendwie komme ich da noch nicht ganz mit - über NFS sind Sonderzeichen wie Doppelpunkte normalerweise kein Problem, die Beschränkung hat eigentlich nur Windows (und Samba ohne Unix-Extensions).

    Natürlich schaut der Dateiname korrekt aus, er wird mit #3A umschrieben.

    Die vom VDR erstellten Dateien enthalten eigentlich keine Sonderzeichen, nur die Ordnernamen - aber wenn der Doppelpunkt durch seinen Hex-Wert #3A ersetzt wird, scheint das Encoding von Seite des VDR aus zu funktionieren.

    Meine VDRs

    VDR 1: Point of View Ion-330-1, 2x Sundtek MediaTV Pro (DVB-C), Atric IR-Einschalter Rev.5, Ubuntu 18.04 (yavdr-ansible)
    VDR 2: Acer Revo 3610, Pinnacle PCTV SAT 452e, Medion X10, yaVDR 0.6
    VDR 3: Intel DH67BL, Celeron 540, 4 GB Ram, POV Geforce GT 1030, Ubuntu 18.04 (yavdr-ansible), VDR 2.4.1, CIR-Empfänger
    Client 1: Raspberry Pi 2, Arch Linux ARM, VDR 2.3.8
    vdr-epg-daemon auf Cubietruck mit 32 GB SSD, Arch Linux ARM

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • ich habe bisher nur die Serverseite betrachtet. Es gibt zwar Samba- und NFS-Freigabe, aber die Dateinamen tauchen schon auf dem Server auf (SSH).

    Display Spoiler
    Code
    vdr5 (März 2023): Asus P8H77-M LE, i5-3570, 8GB, 240GB, Ansible-yaVdr (ubuntu 20.04.5, vdr 2.4.8, SAT>IP-Plugin)
    vdr3 (Nov 2022): intel DH77EB, i7-3770, 8GB, 64GB, GT610, Ansible-yaVdr (ubuntu 20.04.6, vdr 2.6.6, SAT>IP-Plugin)
    (vdrserver (>03/24): DZ77GA-70K, E3-1245v2, 32GB, SSDs+HDDs (ZFS), Ansible-yaVdr (ubuntu 22.04.3, vdr 2.6.6
    vdrserver (>02/25): B550-Plus, Ryzen 5600, 32GB, SSDs+HDDs (ZFS), Ansible-yaVdr (ubuntu 22.04.3, vdr 2.6.6
  • Das sollte dann zu einem Pfad wie /srv/vdr/video/Pirates_of_the_Caribbean#3A_Salazars_Rache/2021-02-01.01.00.9-0.rec für eine Aufnahme führen - mir ist noch nicht ganz klar, wieso das zu Problemen beim Schneiden führt.

    Meine VDRs

    VDR 1: Point of View Ion-330-1, 2x Sundtek MediaTV Pro (DVB-C), Atric IR-Einschalter Rev.5, Ubuntu 18.04 (yavdr-ansible)
    VDR 2: Acer Revo 3610, Pinnacle PCTV SAT 452e, Medion X10, yaVDR 0.6
    VDR 3: Intel DH67BL, Celeron 540, 4 GB Ram, POV Geforce GT 1030, Ubuntu 18.04 (yavdr-ansible), VDR 2.4.1, CIR-Empfänger
    Client 1: Raspberry Pi 2, Arch Linux ARM, VDR 2.3.8
    vdr-epg-daemon auf Cubietruck mit 32 GB SSD, Arch Linux ARM

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Normalerweise kann man ja mit der Fernbedienung Taste 2 auch ein lokales Schneiden auf dem Client starten. Das bedeutet, dass es wahnsinnig lange dauert - die Videodaten müssen ja mindestens zweimal übertragen werden. Beim Druck auf die Taste 2 wird bei mir seit kurzem nur die Lautstärke reduziert. Vielleicht hat das mit der alternden Fernbedienung zu tun, aber ich hatte ja darüber berichtet, eigentlich war dann alles wieder gut.

    Anyway, ich würde ohnehin das Schneiden auf dem Server bevorzugen. Erstens, weil das schneller ist, weil er nicht übers Netzwerk transferieren muss. Zweitens, weil das unempfindlicher gegenüber Abstürzen ist. Drittens, weil das in einer Queue auf dem Server landet, der sich darum besser kümmern kann und ich derweil auch andere Sachen machen kann.

    Hier ist das Skript aus dem Forum. Ich glaube, der kümmert sich nicht um die Normalisierung solcher Sonderzeichen in UTF8, wie man das bräuchte - sonst ist es super. Als Workaround benenne ich kritische Dateien um, mache ein "touch .update" im /srv/vdr/video" und probiere es erneut. Frei nach dem Motto "Computer lösen Probleme, die man ohne sie gar nicht erst hätte!" :) - wäre es doch schön, wenn das Skript das automagisch miterledigen könnte. $RECNAME müsste es sein, wenn ich mich nicht irre.

    Display Spoiler
    Code
    vdr5 (März 2023): Asus P8H77-M LE, i5-3570, 8GB, 240GB, Ansible-yaVdr (ubuntu 20.04.5, vdr 2.4.8, SAT>IP-Plugin)
    vdr3 (Nov 2022): intel DH77EB, i7-3770, 8GB, 64GB, GT610, Ansible-yaVdr (ubuntu 20.04.6, vdr 2.6.6, SAT>IP-Plugin)
    (vdrserver (>03/24): DZ77GA-70K, E3-1245v2, 32GB, SSDs+HDDs (ZFS), Ansible-yaVdr (ubuntu 22.04.3, vdr 2.6.6
    vdrserver (>02/25): B550-Plus, Ryzen 5600, 32GB, SSDs+HDDs (ZFS), Ansible-yaVdr (ubuntu 22.04.3, vdr 2.6.6
  • Dann scheitert es daran, dass kein Unescaping im Skript stattfindet und du den von svdrpsend lstr zurückgegeben Namen mit dem Pfad vergleichst - man könnte da drum herum arbeiten, indem man den VDR um den Pfad der Aufnahmen der Kandidaten bittet (svdrpsend lstr $REC_ID path) und die Ordnerstruktur rückwärts vergleicht - grob könnte das so aussehen:

    Meine VDRs

    VDR 1: Point of View Ion-330-1, 2x Sundtek MediaTV Pro (DVB-C), Atric IR-Einschalter Rev.5, Ubuntu 18.04 (yavdr-ansible)
    VDR 2: Acer Revo 3610, Pinnacle PCTV SAT 452e, Medion X10, yaVDR 0.6
    VDR 3: Intel DH67BL, Celeron 540, 4 GB Ram, POV Geforce GT 1030, Ubuntu 18.04 (yavdr-ansible), VDR 2.4.1, CIR-Empfänger
    Client 1: Raspberry Pi 2, Arch Linux ARM, VDR 2.3.8
    vdr-epg-daemon auf Cubietruck mit 32 GB SSD, Arch Linux ARM

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!