OpenKinect/libfreenect — pull request #401 by nneonneo (2014-07-03 01:05:39+00:00)
Title: Proxynect to enable multiple low-latency Kinect clients

For a project I did, it was necessary to have one Kinect be used by two very separate programs.

The usual approach is to e.g. stream data over TCP. But this is rather slow with full-frame full-speed RGB/depth data.

Instead, I implemented an approach that uses shared memory IPC to share a single memory buffer with multiple clients. Synchronization and limited control over the depth stream are provided. The library works on POSIX systems supporting `shm_open`, which should cover Linux and OS X. No solution for Windows yet, but Cygwin supports `shm_open` which means that this should theoretically work under Windows if you're willing to use Cygwin.

Usage is similar to using `fakenect`. Launch the `proxydaemon` in the background, then have clients load libraries from `lib/proxynect`.