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