Rwrapper.sh

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
Zeile 114: Zeile 114:
 
# fi
 
# fi
 
############
 
############
 +
 +
exit $?
 
</pre>
 
</pre>
 
}}
 
}}
  
 
[[Kategorie:Skripte]]
 
[[Kategorie:Skripte]]

Version vom 23. April 2006, 12:25 Uhr

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 $ADDOPTS $ONLINEMODE "$2"
		;;
	esac

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

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

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

############
# http://vdr-portal.de/board/thread.php?threadid=37211&hilight=noad
# ----
# Wenn eine Aufnahme gelöscht wird,
# die gerade von noad bearbeitet wird, sollte noad abbrechen.
# ----
# Der folgende Schnippsel, schaut ob die Verzeichnisse zum PID noch existieren,
# falls nicht wird der entsprechende PID gekillt. (benötigt: ps, pidof, screen)
############
# if ! screen -ls | egrep -q noadwatch ; then
#    screen -dmS noadwatch sh -c "while pidof noad ; do \
#	for i in \$(pidof noad) ; do \
#	    sleep 5s ; ARGS=\$(ps --no-heading -p \$i -o %a) ; \
#	    if [ ! -d \"\${ARGS##* }\" -a -n \"\${ARGS##* }\" ] ; then \
#		if ps -p \$i ; then \
#		    kill -9 \$i ; \
#		fi ; \
#	    fi ; \
#	done ; \
#    done"
# fi
############

exit $?