Rwrapper.sh

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(rwrapper.sh)
(rwrapper.sh)
Zeile 19: Zeile 19:
 
NOAD="0"        # (0=off,1=on,2=online mode)
 
NOAD="0"        # (0=off,1=on,2=online mode)
 
SHAREMARKS="0"  # (0=off,1=on,2=upload after cut)
 
SHAREMARKS="0"  # (0=off,1=on,2=upload after cut)
 
+
AUTOCUTTER="0"  # (0=off,1=on,2=manual edit)
AUTOCUTTER="0"  # (0=off,1=on)
+
ACBINDIR=/usr/local/vdr/bin  # home of AutoCutter scripts
+
AUTOCUTLOG=/var/log/autocutter.log  # Logfile
+
  
 
# set the noad online-mode here
 
# set the noad online-mode here
Zeile 29: Zeile 26:
 
ONLINEMODE="--online=1"
 
ONLINEMODE="--online=1"
  
# set additional args for every call here here
+
# set additional noad args for every call here here (not used by AutoCutter, see README)
 
ADDOPTS="--ac3 --overlap --jumplogo --comments --statisticfile=/var/log/noadstat"
 
ADDOPTS="--ac3 --overlap --jumplogo --comments --statisticfile=/var/log/noadstat"
 +
 +
# AutoCutter Options - see AutoCutter README/INSTALL for more
 +
ACBINDIR=/usr/local/vdr/bin
 +
NOADQ=/var/spool/vdrconvert/noad
 +
AUTOCUTLOG=/var/log/autocutter.log
  
 
case $1 in
 
case $1 in
Zeile 52: Zeile 54:
 
esac
 
esac
  
############
 
# sharemarks
 
############
 
#
 
# Viking : not needed anylonger with sharemarks >= 0.1.4pre4
 
#
 
# case $SHAREMARKS in
 
#    1|2) marks2pts $1 "$2"
 
#   ;;
 
# esac
 
 
;;
 
;;
 
     after)
 
     after)
 
echo "After recording $2"
 
echo "After recording $2"
  
############
+
        ############
# noad
+
        # noad
############
+
        ############
case $NOAD in
+
        case $NOAD in
    1) noad $1 $ADDOPTS "$2"
+
            1) noad $1 $ADDOPTS "$2"
;;
+
                ;;
    2) noad $1 $ADDOPTS $ONLINEMODE "$2"
+
            2) noad $1 $ADDOPTS $ONLINEMODE "$2"
;;
+
                ;;
esac
+
        esac
 +
 
 +
        ############
 +
        # AutoCutter
 +
        ############
 +
        case $AUTOCUTTER in
 +
            1|2) grep -q "$2" $NOADQ 2>/dev/null
 +
                if [ $? -ne 0 ]; then
 +
                  printf "%s " "$2" >>$NOADQ
 +
                  # Start NoAD Scan in 7 min.
 +
                  echo "printf '\n' >>$NOADQ" | at now+7 min
 +
                fi
 +
              ;;
 +
        esac
 
;;
 
;;
 
     edited)
 
     edited)
Zeile 83: Zeile 88:
 
############
 
############
 
case $SHAREMARKS in
 
case $SHAREMARKS in
    2) marks2pts --non-interactive --upload $1 "$2"
+
      2) marks2pts --non-interactive --upload $1 "$2"
 
;;
 
;;
 
esac
 
esac
Zeile 91: Zeile 96:
 
############
 
############
 
case $AUTOCUTTER in
 
case $AUTOCUTTER in
    1) $ACBINDIR/autocutter-edited.sh $* >>$AUTOCUTLOG 2>&1 &
+
      2) $ACBINDIR/autocutter-edited.sh $* >>$AUTOCUTLOG 2>&1 &
 
;;
 
;;
 
esac
 
esac
 
  
 
;;
 
;;

Version vom 8. Januar 2007, 11:24 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.

rwrapper.sh

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)
AUTOCUTTER="0"  # (0=off,1=on,2=manual edit)

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

# set additional noad args for every call here here (not used by AutoCutter, see README)
ADDOPTS="--ac3 --overlap --jumplogo --comments --statisticfile=/var/log/noadstat"

# AutoCutter Options - see AutoCutter README/INSTALL for more
ACBINDIR=/usr/local/vdr/bin
NOADQ=/var/spool/vdrconvert/noad
AUTOCUTLOG=/var/log/autocutter.log

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

	;;
     after)
	echo "After recording $2"

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

        ############
        # AutoCutter
        ############
        case $AUTOCUTTER in
             1|2) grep -q "$2" $NOADQ 2>/dev/null
                 if [ $? -ne 0 ]; then
                   printf "%s " "$2" >>$NOADQ
                   # Start NoAD Scan in 7 min.
                   echo "printf '\n' >>$NOADQ" | at now+7 min
                 fi
               ;;
        esac
	;;
     edited)
	echo "Edited recording $2"

	############
	# sharemarks
	############
	case $SHAREMARKS in
	      2) marks2pts --non-interactive --upload $1 "$2"
		;;
	esac

	############
	# AutoCutter
	############
	case $AUTOCUTTER in
	      2) $ACBINDIR/autocutter-edited.sh $* >>$AUTOCUTLOG 2>&1 &
		;;
	esac

	;;
     *)
	echo "ERROR: unknown state: $1"
	;;
esac

############
# http://vdr-portal.de/board/thread.php?threadid=37211
# ----
# Wenn eine Aufnahme gelöscht wird,
# die gerade von noad bearbeitet wird, sollte noad abbrechen.
# ----
# Der folgende Schnippsel, überprüft alle 5 Sekunden 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 $?


Quellen