summaryrefslogtreecommitdiff
path: root/freenect-server.sh
blob: a608df3e2323ffae76feab66a2bbe46959fda9b3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/usr/bin/env bash
d="$(dirname -- "$0")"

t="$(mktemp -d --tmpdir "${0##*/}.XXXXXXXXXX")"

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 -rf -- "$tmpdir"
}
trap cleanup EXIT

wait