summaryrefslogtreecommitdiff
path: root/freenect-server.sh
diff options
context:
space:
mode:
Diffstat (limited to 'freenect-server.sh')
-rw-r--r--freenect-server.sh15
1 files changed, 8 insertions, 7 deletions
diff --git a/freenect-server.sh b/freenect-server.sh
index eebcd7f..1590eff 100644
--- a/freenect-server.sh
+++ b/freenect-server.sh
@@ -1,7 +1,7 @@
#!/usr/bin/env bash
# Copyright 2016 Luke Shumaker
-d="$(dirname -- "$0")"
+PATH="$PATH:$(dirname -- "$0")"
t="$(mktemp -d --tmpdir "${0##*/}.XXXXXXXXXX")"
@@ -10,14 +10,15 @@ mkfifo $t/depth.rgb24
mkfifo $t/video.mjpg
mkfifo $t/depth.mjpg
-$d/freenect-server--kinect -v $t/video.rgb24 -d $t/depth.rgb24 & pids+=($!)
-$d/freenect-server--http 8090 $t/video.mjpg $t/depth.mjpg & pids+=($!)
-ffmpeg -loglevel warning -pix_fmt rgb24 -s 640x480 -f rawvideo -i $t/video.rgb24 -f mpjpeg - > $t/video.mjpg & pids+=($!)
-ffmpeg -loglevel warning -pix_fmt rgb24 -s 640x480 -f rawvideo -i $t/depth.rgb24 -f mpjpeg - > $t/depth.mjpg & pids+=($!)
+( freenect-server--kinect -v $t/video.rgb24 -d $t/depth.rgb24; echo "EXITED: freenect-server--kinect: $?") & pids+=($!)
+( freenect-server--http 8090 $t/video.mjpg $t/depth.mjpg; echo "EXITED: freenect-server--http: $?") & pids+=($!)
+rm -f {depth,video}.{avi,mjpg}
+( ffmpeg -loglevel warning -pixel_format rgb24 -s 640x480 -f rawvideo -i $t/video.rgb24 -q:v 1 -f mpjpeg - > $t/video.mjpg; echo "EXITED: ffmpeg video: $?") & pids+=($!)
+( ffmpeg -loglevel warning -pixel_format rgb24 -s 640x480 -f rawvideo -i $t/depth.rgb24 -q:v 1 -f mpjpeg - > $t/depth.mjpg; echo "EXITED: ffmpeg depth: $?") & pids+=($!)
cleanup() {
- kill -- "${pids[@]}"
- rm -rf -- "$tmpdir"
+ kill -- "${pids[@]}" 2>/dev/null
+ rm -rf -- "$t"
}
trap cleanup EXIT