From 319b653d11b9fdf0b47cabce134bf6d77ec6e0b5 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 29 Mar 2012 14:58:28 +0200 Subject: [PATCH] Umbennen der Dateien beim Aufnahmeende verbessert (Zeitstempel beim Schliessen kann noch bis zu einer Sekunde abweichen!) --- Dump.sh | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/Dump.sh b/Dump.sh index 2ea6cc6..53d3315 100755 --- a/Dump.sh +++ b/Dump.sh @@ -12,6 +12,9 @@ PIDFILE_BASE=/tmp/wget_script.$RANDOM.pids if [ -z "$NAME" ]; then NAME=0 fi +CAPTURE_DIR="$( dirname "${BASH_SOURCE[0]}" )/capture" +mkdir -p $CAPTURE_DIR +cd $CAPTURE_DIR SHUTDOWN_IN_PROGRESS="false" quit() { @@ -30,12 +33,14 @@ trap 'quit 0' SIGINT SIGTERM EXIT do_record() { for i in $CAMERAS; do echo "starting recording for camera $i" >&2 + OUTFILE_START=dump_cam${i}_$(date +%s) + ( wget --ignore-length --http-user=$USERNAME --http-passwd=$PASSWORD http://${SERVER_IP}:$PORT/cam/$i/stream.mjpeg -O $OUTFILE_START -q 2>&1 >> /dev/null ) & + THIS_WGET_PID=$! ( - OUTFILE_START=dump_cam${i}_$(date +%s) - wget --ignore-length --http-user=$USERNAME --http-passwd=$PASSWORD http://${SERVER_IP}:$PORT/cam/$i/stream.mjpeg -O $OUTFILE_START -q 2>&1 >> /dev/null - mv $OUTFILE_START OUTFILE_START_$(date +%s).mjpg + while ps -p $THIS_WGET_PID >> /dev/null 2>&1; do sleep 1; done + mv $OUTFILE_START ${OUTFILE_START}_$(date +%s).mjpg ) & - WGET_PIDS="$WGET_PIDS $!" + WGET_PIDS="$WGET_PIDS $THIS_WGET_PID" done echo "$WGET_PIDS" > ${PIDFILE_BASE}_${1} @@ -43,14 +48,14 @@ do_record() { } while true; do - if [ ! -z "$PIDS_A" ]; then echo "killing group A"; kill -9 $PIDS_A 2>/dev/null; fi + if [ ! -z "$PIDS_A" ]; then kill -9 $PIDS_A 2>/dev/null; fi echo "starting group A" do_record A & PIDS_B="$(cat ${PIDFILE_BASE}_B 2>/dev/null)" if [ ! -z "$PIDS_B" ]; then echo "killing group B"; kill $PIDS_B 2>/dev/null; fi sleep $SECONDS_PER_FILE - if [ ! -z "$PIDS_B" ]; then echo "killing group B"; kill -9 $PIDS_B 2>/dev/null; fi + if [ ! -z "$PIDS_B" ]; then kill -9 $PIDS_B 2>/dev/null; fi echo "starting group B" do_record B & PIDS_A="$(cat ${PIDFILE_BASE}_A 2>/dev/null)"