Rwrapper.sh

Aus VDR Wiki
Wechseln zu: Navigation, Suche

Dieser Artikel wurde noch nicht komplett ins Deutsche übersetzt! (Übersetzung zu ~ 20 % durchgeführt.)
Das könntest auch Du machen, einfach per [bearbeiten]. Danach bitte {{übersetzen|<Zahl>}} aus dem Kopf des Artikels entfernen. DANKE :-)


Beschreibung

Aus INSTALL (VDR).

Executing commands before and after a recording:
------------------------------------------------

You can use the '-r' option to define a program or script that gets called
before and after a recording is performed, and after an editing process
has finished.

The program will be called with two string parameters. The first parameter
is one of

  before      if this is *before* a recording starts
  after       if this is *after* a recording has finished
  edited      if this is after a recording has been *edited*

and the second parameter contains the full name of the recording's
directory (which may not yet exists at that moment in the "before" case).
In the "edited" case it will be the name of the edited version.

Within this program you can do anything you would like to do before and/or
after a recording or after an editing process. However, the program must return
as soon as possible, because otherwise it will block further execution of VDR.
Be especially careful to make sure the program returns before the watchdog
timeout you may have set up with the '-w' option! If the operation you want to
perform will take longer, you will have to run it as a background job.

An example script for use with the '-r' option could look like this:

#!/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

Beispiel

Vorschlag für ein einfaches Wrapper-Skript, welches vor / nach / editieren einer Aufnahme ausgeführt werden kann.

Übergabe.

-r $PATH/rwrapper.sh
-record=$PATH/rwrapper.sh

Siehe auch VDR Optionen.

Quellen:


Datei
$PATH/rwrapper.sh
#!/bin/sh
#
# rwrapper.sh
#
# an example script for use with the '-r' option could look like this:

CLIPINC="0"     # (0=off,1=on)
NOAD="0"        # (0=off,1=on,2=online mode)
SHAREMARKS="0"  # (0=off,1=on,2=upload after cut)

# set the online-mode here
# 1 means online for live-recording only
# 2 means online for every recording
ONLINEMODE="--online=1"

# set additional args for every call here here
ADDOPTS="--ac3 --overlap --jumplogo --comments --statisticfile=/var/log/noadstat

case $1 in
     before)
	echo "Before recording $2"

	############
	# clipinc
	############
	case $CLIPINC in
	     1) vdrrecinfo.pl $1 "$2"
		;;
	esac

	############
	# noad
	############
	case $NOAD in
	     2) noad $1 "$2" $ADDOPTS $ONLINEMODE
		;;
	esac

	############
	# sharemarks
	############
	case $SHAREMARKS in
	     1|2) marks2pts $1 "$2"
		  ;;
	esac
	;;
     after)
	echo "After recording $2"

	############
	# noad
	############
	case $NOAD in
	     1) noad $1 "$2" $ADDOPTS
		;;
	     2) noad $1 "$2" $ADDOPTS $ONLINEMODE
		;;
	esac
	;;
     edited)
	echo "Edited recording $2"

	############
	# sharemarks
	############
	case $SHAREMARKS in
	     2) marks2pts -upload $1 "$2"
		;;
	esac
	;;
     *)
	echo "ERROR: unknown state: $1"
	;;
esac

############
#if ! screen -ls | egrep -q noadwatch ; then
#    screen -dmS noadwatch sh -c "while pidof noad ; do \
#	for i in \$(pidof noad) ; do \
#	    sleep 5s ; unset ARGS ; IFS=' ' ARGS=( \$(ps --no-heading -np \$i) ) ; \
#	    if [ ! -d \"\${ARGS[6]}\" -a \"\${ARGS[6]:0:1}\" = / ] ; then \
#		if ps -p \$i ; then \
#		    kill -9 \$i ; \
#		fi ; \
#	    fi ; \
#	done ; \
#    done"
#fi
############