diff options
Diffstat (limited to 'freenect-server.sh')
-rw-r--r-- | freenect-server.sh | 26 |
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 |