Recording Hooks Syntax

  • Hallo liebe VDRler,
    als Fast-Newbie habe ich den VDR problemlos mit Hilfe vieler Tipps und dem Wiki zum Laufen gebracht.


    Aber ich komme mit dem in der R90.custom definierten Variablen nicht klar. Also relativ einfach ist, dass die Variable $2 übergeben wird, wenn die Aufnahme beendet ist.


    Dann stehen da zwei Semikolon ;; mit dem Hinweis, dort hineinzuschreiben, was immer man tun möchte. Und da kommen ständig Fehler bei mir.


    Frage 1:
    Kann ich das in dieser Zeile machen ? ;Befehl-1;Befehl-2;Befehl-3;Befehl-4;


    Frage 2:
    Wenn ich ein Skript aufrufe (bspw. ;tolles_skript; ), wie kann man die Variable $2 übergeben ?


    Ich bin für jede Hilfe dankbar.

  • Debian VDR nehm ich mal an?


    Du darfst ned die Zeile mit den ;; ändern, sondern eine Zeile darüber einfügen.


    Script aufruf sollte dann so gehen:
    script.sh $2


    Das muss dann in deinem Script z.B. mit befehl $1 ausgewertet werden.

  • Vielen Dank für die Hilfe,
    soweit wird das Skript auch ausgeführt.


    Nun habe ich noch ein kleines Problem. Mein Skript soll als zweites Skript nach einem bereits vorhandenen ausgeführt werden, muss aber die Beendigung des ersten Skriptes abwarten.


    Habe mir gedacht, dass ich da den "sleep"-Befehl in mein Skript einfüge, um einfach einige Minuten später mein Skript auszuführen. Abba denkste ! Mein VDR reagiert mit ...


    vdr: [20033] PANIC: watchdog timer expired - exiting!
    Aug 22 17:11:00 <server-name> runvdr: restarting VDR


    Tja, ist nun guter Rat teuer ???

  • Tschuldigung, habe etwas vergessen nachdem ich jetzt nochmal nachgeschaut habe.


    Nach dem Neustart des VDR scheint mein Skript noch als Prozess verfügbar zu sein, denn er macht genau das, was es soll, aber eben nicht nach Ende von Skript 1.


    Werde jetzt mal folgendes probieren:


    case $1 in
    after)
    skript_1.pl
    skript_2.sh "$2"
    esac


    Könnte ich auch folgendes machen ?


    case $1 in
    after)
    cp $2/001.vdr /nach_irgendwo_anders/test.vdr
    ffmpeg -i /nach_irgendwo_anders/test.vdr -s 320x240 -b 700k komprimiert.avi
    ffmpeg2theora -i /nach_irgendwo_anders/komprimiert.avi ganz_klein.ogg
    esac



    Melde mich dann nochmal

  • Also nach einigen Versuchen bin ich der Meinung, dass man sich am besten ein Skript schreibt, welchem man mit "$2 &" Aufnahmeverzeichnis übergibt und es in den Hintergrund jagt.


    Dann startet VDR auch nicht mit der o.a. Fehlermeldung neu.


    Ich habe nun mein Ziel - ein für mich akzeptables Zusammenquetschen der Aufnahme(n) bis zum Ende - mit folgender Befehlszeile im Skript erreicht:


    cat $2/[0-9][0-9][0-9].vdr | sort | nice ffmpeg -y -i - -async 1 -s 400x320 -vcodec mpeg4 -b 900k $2/001.avi && nice ffmpeg2theora $2/001.avi && rm -f $2/*.avi && mv -f $2/001.ogg $2/001.vdr && ln -s $2/001.vdr $2/komprimiert.avi


    (Hoffentlich habe ich nicht irgend ein Zeichen vergessen ...)


    Natürlich setzt das ein installiertes ffmpeg und ffmpeg2theora voraus. Der Symlink am Schluss wird wegen des einfacheren Handlings im Browser erstellt. So bekomme ich 2,5 Std. Fernsehen auf eine CD.

Jetzt mitmachen!

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