Noad.sh

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(siehe Probleme...)
(M)
Zeile 82: Zeile 82:
 
;;
 
;;
 
     -killall)
 
     -killall)
PID=`pidof noad`
+
pidof noad | xargs -r kill
eval ${PID:+kill $PID}
+
 
;;
 
;;
 
     -marks)
 
     -marks)

Version vom 7. Dezember 2005, 19:41 Uhr

Script von noad.

Datei
$PATH/noad.sh
#!/bin/bash
#
# noad.sh
#
# Required: noad, at
#
# add this lines to your reccmds.conf:
# folgende zeilen in die reccmds.conf eintragen:
#
# Run noad                         : /path_to_this_script/noad.sh -start
# Run noad, all recordings (batch) : /path_to_this_script/noad.sh -batch
# View Cut list                    : /path_to_this_script/noad.sh -view
# In prozess                       : /path_to_this_script/noad.sh -count
# Stop noad (killpid)              : /path_to_this_script/noad.sh -killpid
# Stop noad (killall)?             : /path_to_this_script/noad.sh -killall
# Remove marks                     : /path_to_this_script/noad.sh -marks
# Remove pid                       : /path_to_this_script/noad.sh -pid
# Remove all marks                 : /path_to_this_script/noad.sh -marks.vdr
# Remove all pids                  : /path_to_this_script/noad.sh -noad.pid

# CONFIG START
  NOADOPTS="nice --background --ac3 --overlap --jumplogo --comments --OSD --statisticfile=/var/log/vdr/noadstat"
  VDR_VIDEO="/video"
# CONFIG END

PATH=/usr/local/bin:$PATH

case "$1" in
    -start)
	echo "recording: "
	echo
	echo "$2"
	echo
	if [ -e "$2/noad.pid" ] ; then
	    echo "noad is already active..."
	else
	    echo "noad $NOADOPTS \"$2\" >/dev/null 2>&1" | at now
	    echo "noad startet..."
	fi
	;;
    -batch)
	while read i ; do
	    if [ ! -e "$i/marks.vdr" -a ! -e "$i/noad.pid" ] ; then
		echo "noad $NOADOPTS \"$i\" >/dev/null 2>&1"
		echo "while pidof noad >/dev/null ; do sleep 10s ; done"
	    fi
	done < <(find "$VDR_VIDEO" -follow -name "*.rec") | at now
	;;
    -view)
	echo "recording: "
	echo
	echo "$2"
	echo
	if [ -e "$2/noad.pid" ] ; then
	    echo "noad is still active..."
	    echo
	fi
	if [ -e "$2/marks.vdr" ] ; then
	    cat "$2/marks.vdr"
	else
	    echo "cut list not found..."
	fi
	;;
    -count)
	echo "all noad processes: $(pidof noad | wc -w | tr -d ' ')"
	;;
    -killpid)
	echo "recording: "
	echo
	echo "$2"
	echo
	if [ -e "$2/noad.pid" ] ; then
	    kill `cat "$2/noad.pid"`
	    echo "noad stopped..."
	else
	    echo "noad is not active..."
	fi
	;;
    -killall)
	pidof noad | xargs -r kill
	;;
    -marks)
	rm -f "$2/marks.vdr"
	;;
    -pid)
	rm -f "$2/noad.pid"
	;;
    -marks.vdr|-noad.pid)
	find "$VDR_VIDEO" -follow -type f -name "${1/-}" -exec  rm -f '{}' ';' &
	;;
    *)
	echo "unrecognized option: $1"
	exit 1
	;;
esac