vdrsync automatisch nach dem vdr schnitt

  • zunaechst erstmal vielen dank an peter.


    vdrsync funktoniert tadellos. bei vdr aufnahmen hatte ich noch nie probleme :-)))


    vdrsync, mpa->mp3, mpv->divx, multiplexen, fertig.


    nun habe ich ein wenig rumprobiert und gelesen (wohl aber nicht an der richtigen stelle). ich moechte gerne vdrsync direkt und automatisch nach dem vdr schnitt auszufuehren.
    den aufruf von vdrsync mit dem vdr werde ich wohl noch hinbekommen aber wie kann ich denn verzeichnis und dateinamen uebergen. da fehlt mir offensichtlich script erfahrung. kann doch aber so schwer nicht sein. kannst ihr helfen? oder einen tip geben wo ich mal nachlesen kann?
    vielen dank
    andreas

  • Hallo Andreas,


    Zitat

    Original von 1000emil
    zunaechst erstmal vielen dank an peter.


    vdrsync funktoniert tadellos. bei vdr aufnahmen hatte ich noch nie probleme :-)))


    Bitte sehr, und Danke für das Feedback ;)

    Zitat


    vdrsync, mpa->mp3, mpv->divx, multiplexen, fertig.


    nun habe ich ein wenig rumprobiert und gelesen (wohl aber nicht an der richtigen stelle). ich moechte gerne vdrsync direkt und automatisch nach dem vdr schnitt auszufuehren.
    den aufruf von vdrsync mit dem vdr werde ich wohl noch hinbekommen aber wie kann ich denn verzeichnis und dateinamen uebergen. da fehlt mir offensichtlich script erfahrung. kann doch aber so schwer nicht sein. kannst ihr helfen? oder einen tip geben wo ich mal nachlesen kann?
    vielen dank
    andreas


    Was du möchtest ist wahrscheinlich per "-r" Option vom VDR machbar. Da findest Du Infos im File INSTALL des VDR, oder suche mal nach "-r noad" im Board oder nach "recordinghooks" oder frag' nochmals nach ;)


    Cheers


    Peter

    Mitstreiter für VDRsync gesucht!
    Egal ob Perl Programmierer, Tester, Doku-Schreiber oder User, jede Hilfe ist willkommen. Infos hier im Board (nach vdrsync suchen) oder auf der vdrsync-Homepage

  • Hallo Peter,
    danke fuer die Hinweise.


    Noad habe ich bereits mit der r oprtion in die runvdr eingebaut (siehe unten)
    nach einer Aufnahme werden idR die Schnittmarken relativ gut von noad gesetzt.


    ...
    # $Id: runvdr 1.11 2003/08/26 16:15:41 kls Exp $
    /bin/chmod o+rw /dev/dvd
    DVBDIR="/usr/local/src/DVB/driver"
    VDRPRG="/usr/local/bin/vdr -v /capture -r '/usr/local/bin/noad -vv'"
    VDRCMD="$VDRPRG -w 60 -t /dev/tty8 -L /usr/local/src/VDR/PLUGINS/lib -c /usr/loc
    al/vdr/etc $* \
    -P 'mplayer -m /usr/local/vdr/mount.sh -M /usr/local/vdr/mplayer.sh' \
    -P 'dvd -C /dev/dvd' \
    -P 'mp3 -m /usr/local/vdr/mount.sh'"
    VDRUSR=vdr
    ...


    Folgende Schritte fuehre ich aus um den Weg nach divx vorzubereiten:


    1.
    Nach einer Aufnahme ueerpruefe ich die Schnitmarken dann per hand und verschiebe diese ungefaehren Marken an die
    exakten Stellen (sweit es die I Frames zulassen).
    Das ist aber durchaus ausreichend um zb Werbung aus einem Film herauszuschneiden
    und funktioniert sehr gut.
    Dann Schneiden anstossen mit der vdr taste "2".


    2.
    Danach rufe ich (per hand) vdrsync auf und wandele in *.mpv und *.mpa fuer eine weitere Bearbeitung um.
    Auch das funktioniert hervorragend, danke danke an den vdr Verfasser (wie gesagt noch nie ein sync problem) :-))


    Jetzt moechte ich gerne diesen haendischen aufruf von vdrsync direkt nach dem schneiden automatisch ausfuehren,
    d.h. die vdr taste "2" soll den Schnitt starten __und__ danach vdrsync fuer die fertig gescnittene Aufnahme
    ausfuehren.


    versucht habe ich ohne Ergebnis mal folgendes:


    ...
    VDRPRG="/usr/local/bin/vdr -v /capture -r '/usr/local/bin/noad -vv' -r 'user/local/bin/vdrsync.pl'"
    ...


    Sorry wenn dies eine DAU Frage ist, ich vermute das mein Problem in der unwissenheit ueber die
    Scripterstellung begruendet ist.


    Daher verstehe ich den Hinweis im install file vom VDR nicht.


    #!/bin/sh
    case "$1" in
    before)
    echo "Before recording $2"
    ;;
    after)
    echo "After recording $2"
    ;;
    edited)
    echo "Edited recording $2"
    ;;
    *)
    echo "ERROR: unknown state: $1"
    ;;
    esac


    Direkte Hilfe waere wunderbar, bin aber auch dankbar fuer hinweise wo ich lesen muss um mich weiter schlau zu machen.


    Guesse


    Andreas

  • Hallo Andreas


    Du kannst den Parameter -r nur einmal verwenden, deshalb muss man ein Skript nutzen, wenn man mehr als einen Befehl ausführen möchte.


    Kurze Beschreibung:


    Du legst eine Datei mitr folgendem Inhalt an:



    Sagen wir, Du hast die Datei rwrapper.sh genannt und nach /usr/local/bin kopiert. Dann musst Du sie noch ausführbar machen (chmod 755 /usr/local/bin/rwrapper.sh), und Dein VDRCMD ändern


    Code
    VDRPRG="/usr/local/bin/vdr -v /capture -r /usr/local/bin/rwrapper.sh"


    Nun wird vor und nach jeder Aufnahme sowie nach dem Schneiden das Skript rwrapper.sh aufgerufen.


    Vor der Aufnahme -> mit dem Parameter "before", das Skript macht nichts
    Nach der Aufnahme -> mit dem Parameter "after", das Skript startet noad
    Nach dem Schneiden -> mit dem Parameter "edited", das Skript startet vdrsync.pl


    Das habe ich jetzt zwar nicht testen können, aber es sollte zumindest prinzipiell so funktionieren.


    Cheers


    Peter

    Mitstreiter für VDRsync gesucht!
    Egal ob Perl Programmierer, Tester, Doku-Schreiber oder User, jede Hilfe ist willkommen. Infos hier im Board (nach vdrsync suchen) oder auf der vdrsync-Homepage

  • Hallo,


    den Ansatz fuer deine Problemloesung hast du ja schon.
    Du musst lediglich deine Befehlszeilen hier in diesem Skript ergaenzen.


    Die Zeilen mit der abschliessenden Klammer markieren die Verzweigungen im Skript.
    Der Echo-Befehl dient zur Verdeutlichung, wann dieser Zweig aufgerufen wird und muss durch deine eigenen Befehle ersetzt werden. Du willst etwas ausfuehren,
    nachdem die Aufnahme editiert wurde, also ist die Verzweigung <edited> dein
    Freund hier im Skript. Es muss also folgendermassen aussehen, wobei die
    Variable "$2" den Namen des editierten Files darstellt, der dem Skript beim Start
    uebergeben wird.


    #!/bin/sh
    case "$1" in
    before)
    ;;
    after)
    ;;
    edited)
    /usr/local/bin/vdrsync.pl <Parameter> <Parameter> $2
    ;;
    *)
    echo "ERROR: unknown state: $1"
    ;;
    esac


    Das wars dann auch schon.....


    Gruesse,
    Mario

  • Hallo Mario


    Ich würde die Variante

    Code
    echo "/usr/local/bin/vdrsync.pl $2 >/dev/null 2>&1" | at now >/dev/null 2>&1

    unbedingt vorziehen weil sonst der VDR wartet, bis das Kommando beendet wurde.....


    Cheers


    Peter

    Mitstreiter für VDRsync gesucht!
    Egal ob Perl Programmierer, Tester, Doku-Schreiber oder User, jede Hilfe ist willkommen. Infos hier im Board (nach vdrsync suchen) oder auf der vdrsync-Homepage

  • Hi,


    danke für die Anleitung hier. Ich hab aber noch so meine liebe Mühe damit.


    Noad 0.6.0 läuft soweit schonmal sehr gut und es reicht mehr als aus für meine Zwecke. Um allerdings nicht immer ne neue Datei zu kopieren möchte ich nach dem Durchlauf mit Noad einfach Cutinplace darüber jagen. Manuell funktioniert das prima nur halt nicht mit dem rwrapper.sh Skript.


    Wenn ich den Aufruf von CIP in den AFTER Bereich der record.conf schiebe wird das CIP anschienend aufgerufen bevor Noad fertig ist und ich erhalte 0Kb Aufnahmen.


    Daher dachte ich, man kann's einfach in den Edited Bereich reinschieben. Allerdings scheint der nie aufgerufen zu werden.


    Hat jemand ne Idee wie ich das CIP nach Abschluss des Noad laufen lassen kann?


    Meine Rwrapper:



    meine record.conf:



    zudem will ich ganz zum Schluss noch ein chmod machen, damit ich vom Win PC aus Zugriff auf alle FIles erhalte...


    Merci für jede Hilfe,
    Jo

  • Hallo jomagic,
    möglicherweise ist dein problem bereits gelöst, aber hier trotzdem meine meinung wie deines gelöst werden könnte. und zwar mit hilfe der variante script wie bereits oben beschrieben.


    CODE


    #!/bin/sh


    case "$1" in
    before)
    ;;
    after)
    # Scan for commercials
    echo "/usr/local/bin/noad nice $2 >/dev/null 2>&1 && cutinplace $2 " && chmod 755 xxxxxDatei oder verzeicnis oder ein weiteres script | at now >/dev/null 2>&1


    ;;
    edited)
    echo "/usr/local/bin/vdrsync.pl $2 >/dev/null 2>&1" | at now >/dev/null 2>
    &1
    ;;
    *)
    logger "ERROR : unknown state: $1"
    esac


    CODE ende


    Also der parameter oder befehl && führt erst nach erfolgreichem durchführen des vorherigen befehl den befehl aus. In diesem fall, sollte eines nach dem anderen durchgeführt werden. So solltest du auch ein script anstossen können, welches wenn zu wenig festplattenspeicher vorhanden ist, auch die Aufnahme direkt auf einen anderen rechner(nach WOL) oder lokal auf eine andere platte verschoben wird.
    Hoffe dir damit geholfen zu haben. auch wenn erst nach sehr langer zeit.
    Vielleicht hilft es ja anderen.


    :)
    Georg

Jetzt mitmachen!

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