ofTheo / ofxKinect

legacy openFrameworks wrapper for the xbox kinect (OF pre-0.8.0+ only) - ofxKinect is now included and is being maintained in OF releases
MIT License
540 stars 105 forks source link

ofxKinect does not support Kinect4Windows devices #94

Closed sebfie closed 11 years ago

sebfie commented 12 years ago

Hello,

I have a kinect for windows and i try to use ofxKinect but it doesn't detect a kinect. To correct this, i changed the this :

define VID_MICROSOFT 0x45e

define PID_NUI_CAMERA 0x02bf

define PID_NUI_MOTOR 0x02b0

Using the ones of my microsoft's kinect, but i still has an error.

Thank you.

chaz003 commented 12 years ago

I made the changes that you have above and in my log i get the following.

OF: OF_VERBOSE: ofxKinect: Context inited OF: OF_VERBOSE: ofxKinect: Number of devices found: 1 OF: OF_VERBOSE: ofxKinect: Number of available devices: 1 OF: OF_LOG_ERROR: ofxKinect: Could not open device 0

I'm not sure if you got this far, but at least it sees that there is a device there.

I have tried to trace the problem and I feel like it is a freenect issue. though how to fix it, I have no idea.

danomatika commented 12 years ago

That's definitely a freenect issue. We'll update to a newer version of freenect soon so that may fix it.

danomatika commented 12 years ago

I updated the freenect version. Can you try the develop branch?

Dermiste commented 12 years ago

I got the same issue, it's kinect for window and nothing is detected, I can run some NITE example though, even it sometimes it does not work.

Has this issue been fixed ? Should I grab the version of freenect in the develop branch ?

Dermiste commented 12 years ago

I have done this as well:

define VID_MICROSOFT 0x45e

define PID_NUI_CAMERA 0x02bf

define PID_NUI_MOTOR 0x02b0

But I get OF: OF_LOG_VERBOSE: ofxKinect: Context inited OF: OF_LOG_VERBOSE: ofxKinect: Number of devices found: 0 OF: OF_LOG_VERBOSE: ofxKinect: Number of available devices: 1 OF: OF_LOG_ERROR: ofxKinect: Could not open device -1

Dermiste commented 12 years ago

Actually: OF: OF_LOG_VERBOSE: ofxKinect: Context inited OF: OF_LOG_VERBOSE: ofxKinect: Number of devices found: 1 OF: OF_LOG_VERBOSE: ofxKinect: Number of available devices: 1 OF: OF_LOG_ERROR: ofxKinect: Could not open device 0

Nearly! Any idea?

danomatika commented 12 years ago

This is due to libfreenect not currently supporting Kinect4Windows devices. It's in the works and when it's stable, we'll update the version of libfreenect that comes with ofxKinect.

In the meantime, I'd suggest using ofxOpenNI or get an Xbox Kinect device.

danomatika commented 11 years ago

I'm working on this today as there appears to be a fix for the newer Kinect models: https://github.com/OpenKinect/libfreenect/pull/325

danomatika commented 11 years ago

Can y'all try the current develop branch in OSX/Linux with newer devices? I'm reworking things for Windows right now, but it should work on the other platforms ... I can't test right now as I don't have any newer Kinect hardware.

Meach commented 11 years ago

I tried it with OSX 10.7 and a K4W model 1517. It succeed to open the device but then the view freeze, like if the kinect stop being updated. Same thing happens when I close and reopen the connection: after less a second, it freezes.

ofTheo commented 11 years ago

I see this behavior with device 1473. This seems to be related to libusb timings. Playing with threading and doing weird stuff like print outs in the threaded loop, I was able to get the video going longer before freezing.

Most likely we need to look at rebuilding the OS X libusb ( had to do this for the original Kinect to work without freezing ). It will prob be a magic parameter that will allow for non-freezing transfer for all devices.