#!/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