KinectV2 OSX

  • Tech Staff

  • Beta Gold

    Hi @Fred,

    As I promised to, I finally got time to test the Kinect V2 with this "KinectV2_Syphon" application, but so far it only shows a black window with 60 FPS and OpenCL Device: 0\. I've tried restarting my MBP, but still the same result. Is there anything else I need to install before using this application?

    Thank you,

  • I sometimes had my kinect not respond during using and making this. The way I made it work was to connect it to a windows machine and run the viewer from the kinect SDK, this then fixed the connection handshake and I could use the device on OSX. I thought this was just the kinect I was using as it was a bit battered but it seems it is not unique. I am looking into a fix for this at the moment but in the meantime try using windows to sort it out.


  • Beta Gold

    Hi @Fred,

    Sorry that I didn't see your reply until just yesterday. Mark and I just tried the Kinect V2 on a Mac booted in Windows and it works on Windows, but the KinectV2_Syphon still doesn't work on my Mac under OS X. Not sure if there are any other way you know of? Or anything else that we needed to do?

  • What version of OSX, I have not checked this for a while as I only had the kinect 2 for a while. I'll have a chance to check out soon.

  • Dear All,

    I've been working here with @chimerik and I think I have a tip for @Fred 's app. This tip came from various reports from the libfreenect2 community, the library used to enable connectivity with the Kinect v2 on Mac OS.
    1. Ensure power is applied to Kinect v2 via power supply
    2. Plug in USB 3 connection to computer
    3. Attempt to run Fred's app... likely it won't work. Quit the app.
    4. Unplug power to Kinect v2 but do not unplug the USB 3 cable
    5. Restore power to Kinect.
    6. Run Fred's app. Voila! It works. (And seemed to work every time thereafter... though we never rebooted the computer nor did we reconnect the Kinect v2.)
    Worked for us. ;-)
    Best Wishes,
    P.S. Also ran this super simple app on a PC to get Skeleton data from the Kinect v2\. We then sent the OSC data to the Mac with @chimerik's patch. Very reliable and as simple as can be.
    P.P.S. Because the Windows app above changes the ID for the body every time a new body appears, added a new feature to the Stream Setup. You can now code an address like this /first/*/third. The * means "match anything" so that, even if the second part of the address changes, the message will still be recognized. This will be available in the next beta.

  • @Fred

    Hey one other thing, from an OF newbie. I tried to compile your app, but am getting millions of errors due to freeimage.a
    Undefined symbols for architecture i386:
      "_uncompress", referenced from:
          Imf_2_2::DwaCompressor::uncompress(char const*, int, Imath_2_2::Box >, char const*&) in freeimage.a(ImfDwaCompressor.o-i386)
          Imf_2_2::Pxr24Compressor::uncompress(char const*, int, Imath_2_2::Box >, char const*&) in freeimage.a(ImfPxr24Compressor.o-i386)
          Imf_2_2::Zip::uncompress(char const*, int, char*) in freeimage.a(ImfZip.o-i386)
         (maybe you meant: _ssl3_do_uncompress)
      "_opj_stream_set_user_data", referenced from:
          opj_freeimage_stream_create(FreeImageIO*, void*, int) in freeimage.a(J2KHelper.o-i386)
      "_opj_stream_set_user_data_length", referenced from:
          opj_freeimage_stream_create(FreeImageIO*, void*, int) in freeimage.a(J2KHelper.o-i386)
      "_opj_stream_set_skip_function", referenced from:
          opj_freeimage_stream_create(FreeImageIO*, void*, int) in freeimage.a(J2KHelper.o-i386)
    Any idea why that's happening?
    I installed freeimage using homebrew, but to no avail. If you know of a simple solution, that would be great.
    Best Wishes,

  • Ok, I updated the giutub to the latest OF and up to date versions of all the various libraries and addons, there are some changes in the dependancies for the addons that are used.

    It should fix some troubles getting the kinect recognised and a few things are cleaned up.
    Mark- I am not sure exactly what you are doing with OF, if you download the latest release and then collect the addons needed (check the git for this app and the links for the various addons) and clone them to openframeworks->addons it should work. 
    Clone this repo into openframeworks->apps->myApps
    I did it with the latest branches this morning and had no trouble.

  • Tech Staff


    The * fix is great. That new body address was really driving me nuts.

  • Just did some more fixes (finally got hold of a kinect v2), github is not playing nice with the crappy internet here, the repo is up to date, but not the release, ill upload it later tonight with better internet.

  • Tech Staff

    Can't wait to try this with my Kinect 2. Great thread here

  • Just a note that the release is updated, I have a bit of time and access to a kinect, it would be great if someone ha the time to try it out.

  • Just got a hold of a Kinect v2 and followed Mark's steps listed above. Was up and running in less than a two minutes!

    Thank you so much Fred!!!!!!

  • Just a question,

    Is the white line that I am seeing in the RGB feed a standard artifact from the Kinect 2?


  • Not for me so far, but I have to say my testing is super limited. I don't have a kinect V2, they have come and gone for a few projects for me. I tested this with 2 laptops and one kinect and I did not see this... The driver for OSX is an experimental 'hack' so it is also not perfect.

  • Hey Guys,

    Just a question for the long term. 
    I'm really looking forward working with my new Kinect V2. I got it working on a Windows machine but still a hassle to get it to work with Mac. All these links here look really promising.
    Although I have a more specifiek question. Does anyone know if there is an app or code to get the heart rate data over OSC ? and maybe some other data then the Syphon stream? Saw the kinect giving me data like state of being, wearing glasses or not, married or not and so forth.

    Here in the Netherlands every gamer tries to get rid of its Kinect V2 and they go for 50,- euro's nowadays :p but since i'm not a good coder I depend on github and smart people to get it working in my favor...



  • So far there is no middle ware for OSX capable of decoding the skeleton data or anything other than the video streams provided by the app in this thread. It may happen in the future but I would not rely on it. On windows using the SDK, you can get full access to the higher functions of the camera, there are some solutions for sending skeleton data over OSC. The app in this thread will only send the image streams which is marginally useful, but not life changing.

  • @ Fred

    Does that include Ni Mate?

  • @bonemap there has been some activity on the libfreenect forums on this front (incorporating openNi code to get skeleton data with an updated libfreenect). In the end there may be some kind of fruitful activity, but I doubt it will catch up to the speed and efficiency as well as the large feature set on windows. This post pretty much says it is unstable and un reliable, so yes, here is something, but it does not sound ready for shows. 

    Who knows it may end up working ok one day, but it has been quite a long time this works perfectly on windows, MS even took the effort to work with the creative communities of Cinder and Openframeworks to create a set of tools for using it on windows. 
    [bonemap]( did you try this?

  • Thanks @Fred,

    No I haven't tried it. It does not seem to be worth the effort at this point. What are your thoughts on Apple in this area? For example, there was the Apple purchase of PrimeSense some years ago now, but nothing has emerged, except rumours about depth sensors built into future iterations of iPad etc.
    I don't know if it is worth waiting for Apple Mac to offer development in this arena? Or perhaps it will be the next big launch or new technology for Apple?

Log in to reply

Looks like your connection to TroikaTronix Community Forum was lost, please wait while we try to reconnect.