Noad.sh
Aus VDR Wiki
(Unterschied zwischen Versionen)
(Auf Leistungsschwachen PCs sollte man '''at now''' durch '''batch''' ersetzen.) |
Wirbel (Diskussion | Beiträge) K (Änderungen von Benutzer:89.96.169.141 rückgängig gemacht und letzte Version von Benutzer:Anonymous wiederhergestellt) |
||
| (42 dazwischenliegende Versionen von 30 Benutzern werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
| + | Vorschlag für ein einfaches Skript um [[noad]] zu ''starten'', welches über die [[reccmds.conf]] ausgeführt werden kann. | ||
| + | |||
| + | {{Box Datei | [[Struktur|$PATH]]/noad.sh | | ||
<pre> | <pre> | ||
#!/bin/sh | #!/bin/sh | ||
# | # | ||
| − | # noad.sh | + | # noad.sh |
| + | # | ||
| + | # source: noad | ||
# | # | ||
# add this lines to your reccmds.conf: | # add this lines to your reccmds.conf: | ||
# folgende zeilen in die reccmds.conf eintragen: | # 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 |
| − | # | + | # In prozess : /path_to_this_script/noad.sh -count |
| − | # Stop | + | # 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 -rmmarks | ||
| + | # Remove all marks? : /path_to_this_script/noad.sh -rmallmarks | ||
# CONFIG START | # CONFIG START | ||
| − | + | NOADOPTS="nice --ac3 --overlap --jumplogo --comments --OSD --statisticfile=/var/log/vdr/noad.log" | |
| + | VDR_VIDEO="/video0" | ||
# CONFIG END | # CONFIG END | ||
| − | + | which noad >/dev/null 2>&1 || { echo noad $"not found" ... ; exit 1 ; } | |
| − | case | + | case $1 in |
| − | + | -start) | |
| − | echo "Recording | + | echo $"Recording" ... |
echo | echo | ||
| − | echo "$ | + | echo "$2" |
echo | echo | ||
| − | + | if [ -s "${PIDFILE:=$2/noad.pid}" ] ; then | |
| − | echo " | + | read PID < "$PIDFILE" |
| − | + | if ps -p $PID >/dev/null 2>&1 ; then | |
| − | + | echo $"Noad process already active" "(pid: $PID)" ... | |
| − | + | exit 0 | |
| − | + | else | |
| + | rm "$PIDFILE" | ||
| + | fi | ||
| + | fi | ||
| + | screen -dm sh -c "noad $NOADOPTS \"$2\"" | ||
| + | echo $"Noad startet" ... | ||
;; | ;; | ||
| − | + | -batch) | |
| − | + | screen -dm bash -c " \ | |
| − | + | while read i ; do \ | |
| − | + | noad $NOADOPTS \"\$i\" & | |
| − | + | wait \$! ; \ | |
| − | + | done < <(find "$VDR_VIDEO" -follow -name "*.rec")" | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
;; | ;; | ||
| − | + | -count) | |
| − | echo " | + | echo $"Noad processes" $(pidof noad | wc -w | tr -d ' ') ... |
| − | + | ||
| − | + | ||
;; | ;; | ||
| − | + | -killpid) | |
| − | echo "Recording | + | echo $"Recording" ... |
echo | echo | ||
| − | echo "$ | + | echo "$2" |
echo | echo | ||
| − | + | if [ -s "${PIDFILE:=$2/noad.pid}" ] ; then | |
| − | + | read PID < "$PIDFILE" | |
| − | echo " | + | if ps -p $PID >/dev/null 2>&1 ; then |
| − | + | kill $PID | |
| − | echo " | + | echo $"Noad stopped" "(pid: $PID)" ... |
| − | + | exit 0 | |
| + | fi | ||
| + | rm -f "$PIDFILE" | ||
| + | fi | ||
| + | echo $"Noad is not active" ... | ||
;; | ;; | ||
| − | + | -killall) | |
| − | + | pidof noad | xargs -r kill | |
| + | ;; | ||
| + | -rmmarks) | ||
| + | rm -f "$2/marks.vdr" | ||
| + | ;; | ||
| + | -rmallmarks) | ||
| + | find "$VDR_VIDEO" -follow -type f -name marks.vdr -print0 2>/dev/null | xargs -r0 rm | ||
| + | ;; | ||
| + | *) | ||
| + | echo "unrecognized option: $1" | ||
| + | exit 1 | ||
;; | ;; | ||
esac | esac | ||
| + | |||
| + | exit $? | ||
</pre> | </pre> | ||
| + | }} | ||
| − | + | ==Quellen== | |
| − | + | * [[noad]] | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | [[Kategorie: | + | [[Kategorie:Skripte]] |
Aktuelle Version vom 25. Mai 2009, 07:42 Uhr
Vorschlag für ein einfaches Skript um noad zu starten, welches über die reccmds.conf ausgeführt werden kann.
$PATH/noad.sh
#!/bin/sh
#
# noad.sh
#
# source: noad
#
# 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
# 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 -rmmarks
# Remove all marks? : /path_to_this_script/noad.sh -rmallmarks
# CONFIG START
NOADOPTS="nice --ac3 --overlap --jumplogo --comments --OSD --statisticfile=/var/log/vdr/noad.log"
VDR_VIDEO="/video0"
# CONFIG END
which noad >/dev/null 2>&1 || { echo noad $"not found" ... ; exit 1 ; }
case $1 in
-start)
echo $"Recording" ...
echo
echo "$2"
echo
if [ -s "${PIDFILE:=$2/noad.pid}" ] ; then
read PID < "$PIDFILE"
if ps -p $PID >/dev/null 2>&1 ; then
echo $"Noad process already active" "(pid: $PID)" ...
exit 0
else
rm "$PIDFILE"
fi
fi
screen -dm sh -c "noad $NOADOPTS \"$2\""
echo $"Noad startet" ...
;;
-batch)
screen -dm bash -c " \
while read i ; do \
noad $NOADOPTS \"\$i\" &
wait \$! ; \
done < <(find "$VDR_VIDEO" -follow -name "*.rec")"
;;
-count)
echo $"Noad processes" $(pidof noad | wc -w | tr -d ' ') ...
;;
-killpid)
echo $"Recording" ...
echo
echo "$2"
echo
if [ -s "${PIDFILE:=$2/noad.pid}" ] ; then
read PID < "$PIDFILE"
if ps -p $PID >/dev/null 2>&1 ; then
kill $PID
echo $"Noad stopped" "(pid: $PID)" ...
exit 0
fi
rm -f "$PIDFILE"
fi
echo $"Noad is not active" ...
;;
-killall)
pidof noad | xargs -r kill
;;
-rmmarks)
rm -f "$2/marks.vdr"
;;
-rmallmarks)
find "$VDR_VIDEO" -follow -type f -name marks.vdr -print0 2>/dev/null | xargs -r0 rm
;;
*)
echo "unrecognized option: $1"
exit 1
;;
esac
exit $?