[Gelöst] Schnitt von Aufzeichnungen auf dem VDR-Server durch VDR-Client triggern?

  • Ist es möglich, das Schneiden von Aufzeichnungen auf dem VDR-Server durch einen VDR-Client anzustoßen? Hintergrund ist, dass ich auf dem VDR-Client (auf einem Raspberry) die Schnittmarken setze bzw. korrigiere und dann natürlich den Schnitt nicht vom Raspberry erledigen lassen möchte. ;) Vielmehr suche ich nach einer Möglichkeit, dem Server zusagen, dass Aufzeichnung X jetzt bereit zum Schneiden ist und er sie jetzt schneiden soll.

    Lösung: siehe Beitrag weiter unten

    Server:  (K)VM on Proxmox 4.x-Host, VDR 2.2.0 (selbstgebaut vom yaVDR unstable Repo) auf Debian 8 (Jessie), 1x Digital Devices Cine S2 (V6) + DuoFlex S2
    Clients: Raspberry Pi 2/3 mit Raspbian, VDR 2.2.0 (selbstgebaut vom yaVDR unstable Repo) als Streamdev-Clients

    Edited 2 times, last by atl (February 19, 2015 at 10:03 PM).

  • Mit Remotetimers-plugin oder Peer-plugin sollte das gehen

    Mein VDR

    VDR1 Mediaportal mit QVT-Board, Intel 810 Chipsatz, Pentium III 1,1 Ghz, 256 Mb Ram, WDC WD5000AAKB, DVB-S TT 1.5, Nova-S, Digidish 33, Gentoo Kernel 2.6.31, VDR 1.4.7
    VDR2 Asrock M3N78D, AMD Phenom II X6 1055T, 8 Gb Ram, Geforce GTX 950, WinTV dualHD, Gentoo Kernel 5.10, VDR 2.6.0, softhddevice
    VDR3 MC-1200, GA-B85M-HD3, Celeron G1840, Quadro P400. 4G Ram, CineS2 6, DuoFlex S2, WinTV dualHD, Gentoo Kernel 5.10, VDR 2.6.0, softhddevice
    TV TX-37LZD85F, AV VSX-520D - Consono 35


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

  • Remotetimers-plugin

    Das habe ich mir schon angeschaut. Allerdings ist die Performance auf einem Raspberry Pi als VDR-Client nicht berauschend. Wenn das Plugin das Aufzeichnungsmenü ersetzt, dann dauert das Öffnen eines Aufzeichnungsverzeichnisses mehrere Sekunden im Gegensatz zum "lokalen" Menü. Und wenn ich in dem Plugin eine Aufzeichnung auf dem Server schneide, dann habe das Gefühl, das erledigt trotzdem der Client (100% CPU-Auslastung des Pi). :S

    Server:  (K)VM on Proxmox 4.x-Host, VDR 2.2.0 (selbstgebaut vom yaVDR unstable Repo) auf Debian 8 (Jessie), 1x Digital Devices Cine S2 (V6) + DuoFlex S2
    Clients: Raspberry Pi 2/3 mit Raspbian, VDR 2.2.0 (selbstgebaut vom yaVDR unstable Repo) als Streamdev-Clients

  • Vielmehr suche ich nach einer Möglichkeit, dem Server zusagen, dass Aufzeichnung X jetzt bereit zum Schneiden ist und er sie jetzt schneiden soll.

    Man könnte sich z.B. ein Skript schreiben, das regelmäßig das Aufnahmeverzeichnis durchsucht und den vdr eine Aufnahme scheiden lässt, wenn sich eine .cut Datei im Verzeichnis befindet.

    Bash
    #!/bin/sh
    videodir=/srv/vdr/video/
    while :; do
        find "$videodir" -name .cut -type f -exec sh -c 'recpath=$(dirname "$1"); rm "$1"; vdr --edit="$recpath"' _ "{}" \;
        sleep 60
    done


    Die .cut Datei kann man z.B. über die reccmds.conf am Client erzeugen lassen:

    Code
    Zum Schneiden markieren: touch "$1/.cut"
    Meine VDRs

    VDR 1: Intel DH67BL, Celeron 540, 4 GB Ram, POV Geforce GT 1030, Ubuntu 24.04 (yavdr-ansible), VDR 2.7.4, CIR-Empfänger
    VDR 2: Acer Revo 3610, Pinnacle PCTV SAT 452e, Medion X10, yaVDR 0.6
    Client 1: Raspberry Pi 2, Ubuntu 22.04 (yavdr-ansible), VDR 2.6.1

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

    Edited once, last by seahawk1986 (February 19, 2015 at 5:47 PM).

  • Man könnte sich z.B. ein Skript schreiben

    Genau das habe ich gesucht! :D Die Lösung schaut super aus und ich denke, dass das den alten Raspberry Pi nicht überfordern wird. :D

    Server:  (K)VM on Proxmox 4.x-Host, VDR 2.2.0 (selbstgebaut vom yaVDR unstable Repo) auf Debian 8 (Jessie), 1x Digital Devices Cine S2 (V6) + DuoFlex S2
    Clients: Raspberry Pi 2/3 mit Raspbian, VDR 2.2.0 (selbstgebaut vom yaVDR unstable Repo) als Streamdev-Clients

  • Es funktioniert tatsächlich und das sogar ohne Performanceeinbußen auf dem Raspberry Pi als VDR-Client! :D Dass man dem VDR noch Parameter mitgeben kann, daran habe ich gar nicht gedacht. Für alle die's interessiert hier meine Lösung, welche auf den obigen Skriptbeispielen von seahawk1986 (nochmals vielen Dank!) basiert und als Basis auf die VDR-Konfiguration mit Hilfe von YaVDR-Paketen aufbaut.

    Server-Skripte
    Das Skript liegt unter /opt/scripts/triggercut:


    Folgendes Startskript liegt unter /etc/init/triggercut.conf:

    Code
    description "cutting recordings based on trigger file"
    
    
    start on started vdr
    stop on stopped vdr        
    
    
    exec sudo -u vdr -g vdr /opt/scripts/triggercut

    Client-Skripte
    Das Skript zum Triggern des Schneidens vom Client aus liegt unter /opt/scripts/mark4cut:

    Bash
    #!/bin/sh
    /usr/bin/touch  ${1}/cutme


    Und damit der VDR-Client das auch kennt, muss noch folgender Eintrag in die RecordingsCommands (beim YaVDR unter /usr/share/vdr/command-hooks/reccmds.custom.conf:(

    Code
    Zum Schneiden markieren: /opt/scripts/mark4cut

    Danach erzeugt eine Ausführung des Befehls (Rote FB-Taste im Aufnahmeverzeichnis) die Triggerdatei innerhalb des Aufnahmeverzeichnisses, nach der vom Skript auf dem Server regelmäßig gesucht wird. Findet dieses eine Triggerdatei, dann wird dieses gelöscht und die Aufnahme geschnitten. Legt man das Client-Skript auch auf dem Server an und trägt es in die Recording-Commands ein, so kann man auch über den VDRadmin mehrere Aufnahmen in einem Rutsch schneiden lassen. :D

    Server:  (K)VM on Proxmox 4.x-Host, VDR 2.2.0 (selbstgebaut vom yaVDR unstable Repo) auf Debian 8 (Jessie), 1x Digital Devices Cine S2 (V6) + DuoFlex S2
    Clients: Raspberry Pi 2/3 mit Raspbian, VDR 2.2.0 (selbstgebaut vom yaVDR unstable Repo) als Streamdev-Clients

  • Oh ja,

    die Idee gefällt mir,

    da werd ich mal was schönes fuer unsere gentoo-vdr-scripts basteln.

    Server/Client install werden ja immer populärer

    Wobei das ja auch local only functionieren sollte, man kann das cutting scipt dann ja zb über n cronjob starten, um das zu einer bestimmten zeit schneiden zu lassen :)

    Cheers :prost2

    /bin/joerg

  • Oder man triggert es über ein UDP-Signal an statt das zeitgesteuert zu machen - für den avahi-linker habe ich so etwas schon für die .update Datei des VDR umgesetzt:
    https://github.com/yavdr/vdr-addo…-update-monitor
    https://github.com/yavdr/vdr-addo…vdr-net-monitor

    Das könnte man dann ja auch auf ein Anfassen einer .cut Datei im Aufnahmeverzeichnis reagieren lassen.

    Meine VDRs

    VDR 1: Intel DH67BL, Celeron 540, 4 GB Ram, POV Geforce GT 1030, Ubuntu 24.04 (yavdr-ansible), VDR 2.7.4, CIR-Empfänger
    VDR 2: Acer Revo 3610, Pinnacle PCTV SAT 452e, Medion X10, yaVDR 0.6
    Client 1: Raspberry Pi 2, Ubuntu 22.04 (yavdr-ansible), VDR 2.6.1

    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!