Color and depth stream don't work anymore - kinect

I used until yesterday afternoon a Kinect for XBOX 360 on my computer, a MacBook Pro 15" Late 2011, whose specifications are available here. I use Windows 7 (natively installed, without using virtual machines). The version of the SDK I had installed was 1.0.
All of a sudden, from today the Kinect no longer worked. Initially I thought it was some error in my code, but I noticed that the program remained stuck at the beginning, when I called the method KinectSensor.Start().
I started looking for information on the internet. I read about a solution obtained by reinstalling the drivers. It did not work, and then I tried to install version 1.6 of the SDK. Unfortunately, even that did not work.
I've seen at this stage, there might be compatibility issues with certain USB host controllers, such as the Intel 5 Series/3400 Series Chipset USB host controller. In my case, however, there should be no problems (because there were not ever been up to yesterday):
To check if the problem was really due to the sensor, and not to my application, I run one of the test applications provided with the SDK, called Kinect Explorer. However, I encountered the same problem with this test application. After waiting about one minute, when the Kinect Explorer starts I cannot see neither the color stream, nor the depth stream, nor information about skeleton. The only thing I can do is move the Kinect up and down, changing the angle of the neck. Even the microphone array seems to work properly.
I read two interesting posts about this kind of problem: this and this, which have not been answered.
In the first of these two links, the user who reports the problem says that the hardware has been compromised. I thought the same thing myself until I started again Kinect Explore, initially with the sensor unplugged. Once started this program, I plug-in the cable, and I noticed that Kinect Explorer has marked the Kinect sensor as Connected. After a short initialization phase, I again see the color stream, while the depth stream showed an image of uniform color (green-gray):
This situation lasted a few seconds, after which the image is locked and the question came up. Also, sometimes the FPS value drops from 30 to 29.
I am able to reproduce this latter situation only after keeping the Kinect unplugged for a while (10 minutes are sufficient).
How can I solve this strange and terrible problem? Is it possible to restore the Kinect sensor, and make it works again? Or do I have to conclude that the sensor is irretrievably broken?

Related

Kinect Freezing After a Minute and a Half

I've been messing around with programming the old Kinect for a while, and something I've noticed is that whenever I start a program that uses the Kinect sensor, the Kinect will stop sending inputs after 1:30 minutes, no matter what program it is. For example, my game that I made will still have enemies moving around, but the player's rendered skeleton from the Kinect just freezes. I can't find anything about this anywhere online, so is it just mine? Is there a way to fix this?
This is a bug somewhere between the Microsoft SDK and using a Kinect for XBOX on Windows (didn't try the Kinect for Windows).
The Kinect stream freezes after 1 minute 28 seconds. In the Unity editor, you'll also notice once you reach this freeze, you need to quit and restart Unity to be able to play again. If not, you'll get messages like "Device not genuine", etc.
The only way to solve it that I found is to re-initialize whatever Kinect Manager you are using. For instance, Destroy()ing the gameObject holding the manager and re-Instantiate()ting it.
This will effectively halt your Kinect stream (and any gesture/joint reading) for about 4 seconds and then it will work again, so this is something the user will definitely notice.
Now, this may not work for most games, but if you're working on a casual game and you can keep it under 1:28 or you're able to show the user some sort of screen while you restart the Kinect manager every 1:20, you'll be safe.
If you never exceed the 1:28, you'll be able to stop and play in the Unity editor as many times as you want, and keep it running as many times as you want.
Now, this may not be an actual "answer", but may work for someone.
Let me know if you need any help to make this work. I hope this helps someone.
You can test the Kinect with built in programs in this link.programs to check and see if it works smoothly. If not may be something wrong with your program.
I have the same issue. At first I thought it was something related to Unity3d. But I tested with other programas and it's still happening.
Talking to the guy who developed the plugin he said: " two users complained that Kinect tracking stops after a while"
https://www.assetstore.unity3d.com/en/#!/content/7747
Also, I sent him an email and he told me that more and more people are getting this issue.

Kinect 2.0 for Xbox One to PC USB 3.0 keeps disconnecting?

Does anyone here use USB 3.0, and can tell me why when I plugin my Xbox One Kinect 2.0 USB 3.0 cable into the computer, why it keeps sporadically disconnecting and reconnecting even though I downloaded all the windows updates, all the graphics card updates, all the firmware updates, etc...? And YES, I tried several different Ports. It's not broke. I got it new for Christmas.
After fighting with this for weeks, I finally found the root of my frequent disconnects. At some point, I had disabled the Xbox NUI Sensor Microphone Array to eliminate a feedback loop:
Control Panel > Hardware and Sound > Sound > Recording
After re-enabling the Kinect microphone, the Kinect stopped disconnecting.
To eliminate the feedback loop, I reduced the Kinect microphone's level setting to 0. You can get to the level setting from the Recording tab in the Sound dialog. Select the Xbox NUI Sensor Microphone Array and click the Properties button. From there, select the Levels tab.
I had a similar issue and I kept trying every thing for days, and finally the issue turned to be from the kinect AC adaptor... I tried it with the official windows sdk and developer toolkit, when I attempted one of the example codes the issue persists to appear but with a clear message asking to plug the power cord in, though the adaptor is brand new!!
I searched for some information a bout the AC adaptor and it seems that there is a problem with the adaptor, and most importantly the Kinect manual states that any unoriginal adaptors may cause the device to fail - also the manual says that original AC adaptor power output is 12V-1.1A while the one I have is rated 12V-1.08A (no big deal but who knows)
Kinect for Xbox 360 freezes and disconnects from USB after running Processing SimpleOpenNi depth image example
I had this problem,too. My system using pci-e usb 3 gen 2 and in windows 10 v1903 and kinect sdk 2 ... and all thing OK.. worked correctly .then after a date .reapetdly disconnect and restart.
at last ..I found this problem on my system...
I disabled sound using in windows setting.
I enabled this item in setting and all things became OK.
Read this, if you use an USB3.0 expansion card in a PCIe slot.
In my case I had connected the adaptor to an USB3.0 card (Transcent PDU3). After some hours research I discovered that the mainboard (MSI K9a2 Platinum) had Gen2 PCIe for the PCI-E x16 slots, but not for the PCI-E x1 I had plugged the USB card into. After switching to a PCI-E x16 slot, the constant disconnecting was over.
Don't confuse PCIe version and USB version here. For a Kinect 2.0 you need USB 3.0 and for USB 3.0 to run at super speed, you need PCIe 2.0 (or Gen2).
Testing PCIe version
You can use GPU-Z to determine which PCIe-Version the slot has where you got your graphics card plugged in -- let the mouse pointer hover over the bus interface field and wait for the tooltip and it will reveal the PCI-e version of your graphics card as well as the one of your mainboard. If you confirm it is Gen2 (or PCI 2.0) try to use that slot to put a confirmed-as-working-with-the-Kinect-2-USB3.0-card in it. (Having onboard graphics or a second PCI-Ex16 slot will definitely come in handy here).
Hope this helps.
I think it has to do with the USB 3.0 version, older machines won't run it. You need USB "3.1" and controllers usually manufactured after 2013 have it. It's often mislabelled as USB 3.0 in marketing material. USB 3.1 is also known as "SuperSpeed" or "SS10" which goes up to 10 Gbit/s. USB 3.0 "only" transports at 5 Gbit/s.
I have two five years old big rigs (Z68X-UD3H-B3, i7-3770K, and a 970a-D3, FX-8350) and it constantly disconnects. Both have 2011 board technology.
I also have two laptops, a VAIO and a Lenovo, which were built after 2013 (when they changed to USB 3.1) and it runs fine on both of those machines.
I too suspected the power supply at one point, nope, I thought I had a broken Kinect (bought a second, nope, now I own two.)
Other things to check:
- You might be able to use a USB 3.1 PCI card as long your MotherB will carry it.
- Remember to load the Kinect SDK 2.0 and also update the driver to the 2016 driver (SDK 2.0 comes with the 2014 driver).
- Remember USB 3.x is the "Blue" USB plug not the black.
This is not a case of requirements increasing beyond the capabilities of USB3.0!
Its also not a problem with Win10 1809 or KinectSDK 1409.
It will disconnect if your apps have no access to either microphone or camera.
You can check or reset your settings the easiest with a free program called OOSU10.
Runs fine on my 2012 laptop.
If your problem is that the Kinect Configuration Verifier does not start at all, then this is caused by having disabled the printer spooler service.

Kinect Infrared Camera Not working

I am using the Kinect 2 with the newest available SDK version 2.0. Everything works except IR, tested it with both SDK infrared demo example and Kinect Studio, both result in a black screen. I also looked at the code and capturing Kinect IR frames does not result in any errors, it just consists of all minimum values.
This is quite weird, as I thought IR was used to calculate depth and I can successfully read depth information. Also, I checked (with my cellphone camera) that the IR emitter is turned on and off correctly, just data is not received correctly for some reason.
After encountering the problem I made a fresh install on another computer, as I suspected I had broken my system somehow. I got exactly the same results after installing Kinect SDK. Everything except infrared works.
Has anyone seen this kind of behaviour before?
check this out
https://social.msdn.microsoft.com/Forums/en-US/70dcceb7-8d2f-485f-b3e9-f2d4b399fbe7/kinect-v2-infrared-not-working?forum=kinectv2sdk
try updating graphics card drivers

Kinect hangs up suddenly after working pretty well a few seconds. How can I fix it?

I tried using "Kinect for Windows" on my Mac. Environment set-up seems to have gone well, but something seems being wrong. When I start some samples such as
OpenNI-Bin-Dev-MacOSX-v1.5.4.0/Samples/Bin/x64-Release/Sample-NiSimpleViewer
or others, the sample application start and seems working quite well at the beginning but after a few seconds (10 to 20 seconds), the move seen in screen of the application halts and never work again. It seems that the application get to be unable to fetch data from Kinect from certain point where some seconds passed.
I don't know whether the libraries or their dependency, or Kinect's hardware itself is going wrong (as for hardware, invisibly broken or something), and I really want to know how to detect which is it.
Could anybody tell me how can I fix the issue please?
My environment is shown below:
Mac OS X v10.7.4 (MacBook Air, core i5 1.6Ghz, 4GB of memory)
Xcode 4.4.1
Kinect for Windows
OpenNI-Bin-Dev-MacOSX-v1.5.4.0
Sensor-Bin-MacOSX-v5.1.2.1
I followed instruction here about libusb: http://openkinect.org/wiki/Getting_Started#Homebrew
and when I try using libfreenect(I know it's separate from OpenNI+SensorKinect), its sample applications say "Number of devices found: 0", which makes no sense to me since I certainly connected my Kinect to MBA...)
Unless you're booting to Windows forget about Kinect for Windows.
Regarding libfreenect and OpenNI in most cases you'll use one or the other, so think of what functionalities you need.
If it's basic RGB+Depth image (and possibly motor and accelerometer ) access libfreenect is your choice.
If you need RGB+Depth image and skeleton tracking and (hand) gestures (but no motor, accelerometer access) use OpenNI. Note that if you use the unstable(dev) versions, you should use Avin's SensorKinect Driver.
Easiest thing to do a nice clean install of OpenNI.
Also, if it helps, you can a creative coding framework like Processing or OpenFrameworks.
For Processing I recommend SimpleOpenNI
For OpenFrameworks you can use ofxKinect which ties to libfreenect or ofxOpenNI. Download the OpenFrameworks packaged on the FutureTheatre Kinect Workshop wiki as it includes both addons and some really nice examples.
When you are connecting the Kinect device to the machine, have you provided external power to it? The device will appear connected to a computer by USB only power but will not be able to tranfer data as it needs the external power supply.
Also what Kinect sensor are you using? If it is a new Kinect device (designed for Windows) they may have a different device signature which may cause the OpenNI drivers to play-up. I'm not a 100% on this one, but I've only ever tried OpenNI with an XBox 360 sensor.

How to turn off Video Acceleration programmatically

I'm using the Windows Media Player OCX in a program runned on hundreds of computers (dedicated).
I have found out that when video acceleration is turned on to "full", on some computers it will cause the video to fail to play correct, with green squares between movies and so on. Turn the acceleration to "None" and everything is fine.
This program is runned on ~800 computers that will autoupdate my program. So I want to add to the startup to my program that it turns off the video acceleration.
The question is, how do I turn off video Acceleration programmatically?
All computers are running XP and at least the second service pack.
It would take me ages to manually logg in to all those computers and change that setting so thats why I want the program to be able to do it automagically for me.
Using the suggested process of running procmon, and filtering out unnecessary data, I was able to determine the changes in the registry when this value changed:
Full Video Acceleration:
[HKEY_CURRENT_USER\Software\Microsoft\MediaPlayer\Preferences\VideoSettings]
"PerformanceSettings"=dword:00000002
"UseVMR"=dword:00000001
"UseVMROverlay"=dword:00000001
"UseRGB"=dword:00000001
"UseYUV"=dword:00000001
"UseFullScrMS"=dword:00000000
"DontUseFrameInterpolation"=dword:00000000
"DVDUseVMR"=dword:00000001
"DVDUseVMROverlay"=dword:00000001
"DVDUseVMRFSMS"=dword:00000001
"DVDUseSWDecoder"=dword:00000001
No Video Acceleration:
[HKEY_CURRENT_USER\Software\Microsoft\MediaPlayer\Preferences\VideoSettings]
"PerformanceSettings"=dword:00000000
"UseVMR"=dword:00000000
"UseVMROverlay"=dword:00000000
"UseRGB"=dword:00000000
"UseYUV"=dword:00000000
"UseFullScrMS"=dword:00000001
"DontUseFrameInterpolation"=dword:00000001
"DVDUseVMR"=dword:00000000
"DVDUseVMROverlay"=dword:00000000
"DVDUseVMRFSMS"=dword:00000000
"DVDUseSWDecoder"=dword:00000000
So, in short, set
PerformanceSettings
UseVMR
UseVMROverlay
UserRGB
UseYUV
DVDUseVMR
DVDUseVMROverlay
DVDUseVMRFSMS
DVDUseSWDecoder
to 0, and set
UseFullScrMS
DontUseFrameInterpolation
to 1.
It seems you're not the only one with this problem. Here's a link to a blog - the author solves his problem by lowering the hardware acceleration level. Tested on Media Player 9, 10 and 11 with REG script to set appropriate settings.
http://thebackroomtech.com/2009/04/15/global-fix-windows-media-player-audio-works-video-does-not/
As well as applying this fix, you might check the affected machines have the latest drivers and codec versions. Finally, if possible, you may consider re-coding the content to a format that doesn't produce the display problems (if the bug is codec related.)
Using hardware acceleration is certainly more energy-efficient - according to this Intel report, almost twice as much energy is used without acceleration, and as there are 800 machines, there's reason to seek out a green solution.