summaryrefslogtreecommitdiff
path: root/freenect-server.sh
diff options
context:
space:
mode:
Diffstat (limited to 'freenect-server.sh')
-rw-r--r--freenect-server.sh26
1 files changed, 12 insertions, 14 deletions
diff --git a/freenect-server.sh b/freenect-server.sh
index b2f3d7c..a608df3 100644
--- a/freenect-server.sh
+++ b/freenect-server.sh
@@ -1,23 +1,21 @@
#!/usr/bin/env bash
+d="$(dirname -- "$0")"
-mkfifo video.rgb24
-mkfifo depth.rgb24
-mkfifo video.mjpg
-mkfifo depth.mjpg
+t="$(mktemp -d --tmpdir "${0##*/}.XXXXXXXXXX")"
-pids=()
-./freenect-server--kinect -v video.rgb24 -d depth.rgb24 &
-pids+=($!)
-./freenect-server--http 8090 video.mjpg depth.mjpg &
-pids+=($!)
-ffmpeg -pix_fmt rgb24 -s 640x480 -f rawvideo -i video.rgb24 -f mpjpeg - > video.mjpg &
-pids+=($!)
-ffmpeg -pix_fmt rgb24 -s 640x480 -f rawvideo -i depth.rgb24 -f mpjpeg - > depth.mjpg &
-pids+=($!)
+mkfifo $t/video.rgb24
+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+=($!)
cleanup() {
kill -- "${pids[@]}"
- rm -f {video,depth}.{rgb24,mjpg}
+ rm -rf -- "$tmpdir"
}
trap cleanup EXIT