Fehler in recording-hooks

  • Hi,


    bin gerade durch zufall auf ein Problem gestoßen:


    Sobald eine Aufnahme eine Klammer im Namen trägt gibt es Fehler in den recording-hooks


    sh: Zeile 23: Syntaxfehler beim unerwarteten Wort `('
    sh: Zeile 23: `/usr/share/vdr/recording-hooks/R60copy_epgimage after /srv/vdr/video.00/Die_Odyssee_des_Menschen_(2~3)/2012-05-10.13.58.210-0.rec &> /dev/null'


    das ist bei allen Skripten zu finden: R50correct_videodirs R60copy_epgimage R90.custom


    Lässt sich sicher irgendwie korrigieren... evtl. den Pfad einfach mit Gänzefüßlein umschlingen?


    Gruß,
    Thomas

  • ok.. auf jeden fall passt da was nicht ;)


    bin nebenbei so an die Fehler ran gekommen:


    Code
    sudo su -c mail vdr


    Gruß

  • ich habe die ja nicht da rein gepackt... was bitte soll ich da ändern?


    Ich drücke auf Timer setzten und alles andere passierte automatisch...

  • also ich habe nochmal einen test gemacht und das skript nach temp kopiert die aktionen unter den drei genannten Zeilen entfernt und so aufgerufen:



    wie man sieht muss es an dem Namen mit der Klammer liegen... es ist dem ganz egal was für ein Inhalt das ist.. wieso er auch immer die Zeile 23 genannt hatte.

  • ich denke, der fehler ist in der Datei /usr/lib/vdr/vdr-recordingaction


    Dort sollte der Pfad gequotet werden.


    also so:

    Diff
    --- /usr/lib/vdr/vdr-recordingaction	2012-05-08 18:34:53.654364752 +0200
    +++ /tmp/vdr-recordingaction	2012-06-03 22:12:52.013991621 +0200
    @@ -46,6 +46,6 @@
     
     for recordinghook in $recordinghooks; do
         logger -t recordingaction "executing $recordinghook $action"
    -    echo "$recordinghook $* &> /dev/null" | at now
    +    echo "$recordinghook $1 \"$2\" &> /dev/null" | at now
     done
  • fnu


    wie soll ich das jetzt deuten, dass du all deine antworten gelöscht hast?


    wird das Problem nun totgeschwiegen? Sollen Benutzer besser keine Probleme melden?

  • Seit 1.7.28 gibt es neu für den "edited" hook ein optionales Argument mehr, der den Pfad der Source-Aufnahme mit übergibt. Nützlich wenn man EPG Bilder beim Schneiden einer Aufnahme mit kopieren will.


    Die Diskussion dazu gabs hier: Aufnahme-(EPG)-Images bei/nach Schnitt

    - 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

  • danke für den Hinweis, hatte ich nicht gesehen

    CKone: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G540, 2x 2GB Kingston DDR3, Zotac GT630 1GB, S2-1600, Ocz Agility 3 60GB, LG GH24NS DVD, 15.6" Selbstbau TFT, Harmony 665, CIR Selbstbau - das Ganze im Silverstone SST-SG03B
    CKtwo: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G1610, 2x 2GB Corsair DDR3, Zotac GT630 1GB, TT S2-1600, Ocz Vertex 2 50 GB, 92 Kanal Seduatmo, Harmony 665, atric USB
    CKthree: yavdr-ansible/22.04 LTS/2.6.1/kodi19.3 auf Intel NUC, Celeron J4005, UHD Graphics 600, 4GB Crucial DDR4, Ocz Vertex2 50 GB, Harmony 350

    PowerEdge: Ubuntu Server 16.04 LTS / VDR 2.4.1 auf Dell PowerEdge T20, Xeon E3-1225 v3, 16GB ECC DDR3, 2x Cine S2 V6 mit Duoflex, Samsung 840 EVO 120GB, 3x WD White WD80EZAZ 8TB in SW Raid5



  • Wie gesagt, ich denke ab 1.7.28 müsste man noch prüfen, ob es noch ein 3. Argument gibt. Wie man das macht, würde mich auch interessieren.


    Vielleicht so?


    Code
    anzahl=$#
    
    
    if [ "$anzahl" -eq "3" ]; then
        echo "$recordinghook $1 \"$2\" \"$3\" &> /dev/null" | at now
    else
        echo "$recordinghook $1 \"$2\" &> /dev/null" | at now
    fi

    - 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

  • Code
    echo "$recordinghook $1 \"$2\" ${3:+\"$3\"} &> /dev/null" | at now


    ;)


    aber eigentlich sollte nix dagegen sprechen (auch wenn $3 leer ist)

    Code
    echo "$recordinghook $1 \"$2\" \"$3\" &> /dev/null" | at now


    cu

  • Warum einfach, wenns auch kompliziert geht. :D Danke, werd mal meine Skripte anpassen.

    - 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

  • Ich denke um es wirklich richtig zu machen sollte man bash nehmen.

    Code
    echo "$recordinghook $1 \"$(printf "%q" "$2")\" \"$(printf "%q" "$3")\" &> /dev/null" | at now


    Code
    root@dirk-vdr:~# echo $(printf "%q" "'foo * ? / : ()")
    \'foo\ \*\ \?\ /\ :\ \(\)
    root@dirk-vdr:~#


    Dann hat man alle Fälle erschlagen weil alle speziellen Zeichen sauber gequotet werden.


    dash (/bin/sh per default unter Debian/Ubuntu) kann so was anscheinend nicht.


    cu

  • dash (/bin/sh per default unter Debian/Ubuntu) kann so was anscheinend nicht.


    ACK, deshalb ist die BASH die default sh bei yaVDR.


    Gerand


    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 Problem hab ich auch schon seit 'ner Weile - dachte immer, ich bin der einzige...
    Immer, wenn Umlaute/Sonderzeichen/Klammern etc. im Dateinamen der Recordings drin sind.

    Client1: MLD 5.3, softhddevice, Bild+Ton über HDMI an Toshiba 46" [Hardware: Zotac IONITX-D, Impactics C3LH-B, 2GB RAM, 30 GB SSD, lautlos] mit streamdev-client, alternativ XBMC per VNSI/XVDR, Logitech Harmony 300i an atric-Einschalter
    Client2: MLD5.1, softhddevice VA-API, Bild+Ton über HDMI an Telefunken D32F280R3 32" [Hardware: ASRock Q1900B-ITX, intel Celeron J1900, SilverStone SST-ML05B, 4GB RAM, 60GB SSD, lautlos] mit streamdev-client, Logitech Harmony 200 an yaUSBir-Einschalter

    Server: Ubuntu 16.04 headless + Frodo 2.3.8 PPA, Aufnahmen auf NAS [Hardware: ASRock G31M-GS, E6300, 4GB RAM, Quad Tuner: Digital Devices Cine S2 V6.5 + DuoFlex S2 (PCIe)]

  • danke fürs korrigieren... :)


    Könnte man e-Tobi evtl. zurückmelden, da das soweit ich weiss aus seinen Debian Paketen resultierte...


    Ich schicke ihm mal ne PN...

  • Ich fürchte die Variante mit printf funktioniert doch nicht.


    Das mit \"$2\" schient aber gut zu reichen.


    cu

  • Das Ausführen der Hooks über at ist eine Erweiterung von mir. Das Problem ist, das die Skripte nur kurz laufen dürfen, da sonst der VDR blockiert.


    Vielen Dank für den Input - ich schau nachher nochmal drauf :)

    VDR User: 87 - LaScala LC14B - LG/Phillipps 6,4" VGA Display | Asrock H61/U3S3 | G630T | 1x 16GB Mobi Mtron 3035 1x WD 750GB 2,5" |1x L4m DVB-S2 Version 5.4

Jetzt mitmachen!

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