Multiple Kinects v2 on a Single PC

From iPi Docs
Revision as of 18:32, 5 February 2019 by Vmaslov (Talk | contribs)

Jump to: navigation, search
Note.png
Note: Starting from version 4.2.0

iPi Recorder supports multiple Kinects v2 on a single PC using libfreenect2 instead of Microsoft Kinect SDK v2.

To use this, first you need to enable corresponding camera type in iPi Recorder. Open Camera Types panel and hit ENABLE next to Microsoft Kinect 2 (libfreenect2). Alternatively, open Add Device dropdown and select Kinect 2 for Windows (multiple sensors per PC).

Enable-Kinect2-libfreenect2.png
Add-Device-Kinect2-multiple.png

Next you need to install a driver for Kinect that makes it accessible to libfreenect2. There are two options - UsbDk and libusbK.

We recommend to start with UsbDk as an easier option. And turn to libusbK if:

  • You have troubles installing UsbDk.
  • It doesn't work as expected. E.g. Kinect is not visible in iPi Recorder when libfreenect2 support is on, or works unstable.
  • It causes problems with other USB devices.

UsbDk

Just download and install the latest release (1.0.19 as of the moment of writing) and you are done. iPi Recorder can use Kinect v2 devices via libfreenect2. Moreover, because of the smart way UsbDk handles driver replacement you can still use other programs which work with Kinect in a standard way via MS Kinect SDK 2.0.

Tip.png
Tip: We recommend to disable Windows Autoplay feature for Kinect devices (set it to Take no action) when using UsbDk. Otherwise, an autoplay action may trigger once in a while when using Kinects in iPi Recorder.

libusbK

This driver can be installed using Zadig tool. There are few drawbacks compared to UsbDk:

  • (Un)installation of the driver is more complicated (see below).
  • While libusbK driver is installed for Kinect, programs which rely on MS Kinect SDK won't see the device.

Install

  1. Run Zadig tool (2.4 as of the moment of writing).
  2. Connect Kinect v2 to a PC.
  3. Under Options menu, check List All Devices and uncheck Ignore Hubs or Composite Parents.
    Device list settings
  4. Then select Xbox NUI Sensor (Composite Parent) from the device combo.
    Select Xbox NUI Sensor
  5. Select libusbK driver and hit Replace Driver button.
    Replace driver
  6. Click Yes in confirmation dialog which appears after a few seconds.
  7. Upon successful installation of the driver close Zadig.

Now Kinect is available to libfreenect2 in iPi Recorder.

Tip.png
Tip: There is no need to install the driver for each of Kinect devices you plan to use on that PC. After installing for one, all others will take new driver when connected.

Uninstall

  1. Connect Kinect v2 to a PC.
  2. Open Windows Device Manager.
  3. Locate Xbox NUI Sensor (Composite Parent) device, right-click and select Uninstall device.
    Uninstall device
  4. In uninstall dialog, check Delete the driver software for this device.
    Delete driver
  5. Scan for hardware changes, and MS Kinect SDK driver will be restored automatically.


Connecting to PC

We have tested libfreenect2 support with a number of USB 3.0 controllers. Here are some findings:

  • Intel (built-in)
    • Stable work of a single Kinect. With two connected, there are frame drops and low frame rate issues. So likely you won't be able to use multiple Kinects on a laptop, and will need an additional USB 3.0 controller on a desktop.
    • Works with 5m active USB 3.0 extension cable.
    • No depth data with 1.8m passive USB 3.0 extension cable.
  • NEC μ720202 (PCIe card)
    • Stable work of a single Kinect. With two connected, Windows reports insufficient USB bandwidth for one of them.
    • Unstable work with 5m active USB 3.0 extension cable - frame drops.
    • Unstable work with 1.8m passive USB 3.0 extension cable - frame drops, low frame rate.
    Tip.png
    Tip: PCIe cards with multiple μ720202 chips onboard exist that should be capable of connecting 1 Kinect device per chip.
  • ASMedia ASM1042A (built-in).
    • Stable work of two Kinects with rare FPS issues.
  • VIA VL800 (PCIe card). Doesn't work.
  • Etron EJ168 (built-in). Doesn't work.