HELP! - femto mega ip, - kinect SDK

HELP!

I recently posted about getting a femto mega ip, and discovering that does not have the ability to connect to the Kinect sdk, so I can use the player index option. This is all down to the fact it only has network not usb3, which it need to connect to the SDK.

I have been exploring ways to make my own player index system but I am hitting a brick wall.

I have slightly given up on the femto connecting up to the SDK now, as it doesn’t seem that its possible, please someone correct me if I am wrong.

I have tried to use media pipeline, but it seem like it can only handle 2-3 poses. might anyone have an idea on how I can make a player index system in touch with the femto?

Femto Mega I – Orbbec.

Hi,

The Kinect Azure TOP can automatically find network connected Femto Mega cameras and add them to the device list so that you can use them with the Kinect’s body tracking system. The trick is that you need to add a configuration file alongside your toe file that tells it to enable network enumeration. There is info from Orbbec here: K4A Access Femto Mega Network Mode - ORBBEC - Leading Provider of Robotics and AI Vision

Note: this does require relatively recent firmware on the Femto camera though, the first generation from a few years ago did not support this out of the box.

Let us know if you’re still having problems with it.

Hi Rob

Thanks for the replay, I am still hitting my head against the wall.

just to clarify

am I following this process first?

then all I should do is copy the config.xlm file from the K4A wrapper to the same folder my toe is in?

if so its still not working

I have opened and tested the camera on orbbec viewer and works fine.

I can use the orbbec top in touch, works correctly

But when I try to open in Azure top it does not show in the drop down menu.

Interestingly tho, If I open the azure top, then the orbbec top it will not let me select the camera, as it is already been selected in the azure top.

any help would be greatly appreciated.

I am using touchdesigner - 2025.30280

Hi Rob

quick update

I have realised I don’t need to follow this

So I have restarted

I have downloaded and installed OrbbecSDK v2.5 and the viewer

I have downloaded the wrapper and copied the all the bin, DLL files from the wrapper into the touch program files.

I have copied the Config file from the orbbec sdk into the same folder as my toe.

I am still hitting the same issues :frowning:

so another update lol

after copying the DLL files over I could no longer use the orbbec top, so I un and reinstalled touch. Now i have the orbbec top back, but when I which to the azure top I get some big laggy moments, as its trying but just cant connect. still nothing in the drop down menu.

Sorry you’re having trouble with this. Copying DLLs into the TouchDesigner folder is not recommended. We use a custom version of k4a.dll and things can definitely break if you replace it.

My understanding is also that the version 2 SDK from Orbbec is not compatible with the Kinect which is why we’re still using the version 1 SDK.

Regarding the config file: it is important that the EnumerateNetDevices line is set to true, because that is the part that allows the Kinect to find the camera without an IP address.

One other thing that can help, if you set the windows environment variable TOUCH_TEXT_CONSOLE to 1, that will open a window alongside TouchDesigner when it starts that will display debug information from the Orbbec camera. You should be able to see in that window if it loads the configuration file and if it detects any network cameras.

Thanks for the reply

It’s really appreciated.

So if I install the version 1 SDK, I don’t have to add or remove anything from touch?

Do I just copy the config file from the version 1SDk and put that in the same folder as the toe, and fingers crossed it should work?

Yes, just copy the config file from the version 1 SDK and put it in the folder next to your toe file. Then open that config file and make sure the line about EnumerateNetDevices is set to true. The whole purpose of that config file is to turn that setting on since it’s not a default and the Kinect Azure TOP doesn’t have the ability to do it.

If you are opening TouchDesigner without a toe file, then you can put the configuration file on your desktop since that is the default location for new files.

This should be the necessary file if you don’t want to download the whole SDK (just make sure to unzip it)

OrbbecSDKConfig_v1.0.zip (5.8 KB)

Sweet will try this tomorrow:)

Hi Rob so i have downloaded and installed SDK V1.10.8

and put the config file on the desktop.

I have opened touch and got the same problem, but I do have the text info now. It seems that is sees the camera and the config file fine but for some reason it cant open it.

\[11/15 14:11:20.495795\]\[info\]\[19680\]\[Context.cpp:68\] Context created with config: C:\\Users\\sean\\Desktop\\OrbbecSDKConfig_v1.0.xml \[11/15 14:11:20.495880\]\[info\]\[19680\]\[Context.cpp:73\] Work directory=C:\\Users\\sean\\Desktop, SDK version=v1.10.8-20240604-d1671a341 \[11/15 14:11:20.497032\]\[info\]\[19680\]\[MfPal.cpp:103\] createObPal: create WinPal! \[11/15 14:11:20.530373\]\[info\]\[18112\]\[GVCPClient.cpp:310\] 0, 3, 248, 1 \[11/15 14:11:20.530509\]\[info\]\[18112\]\[GVCPClient.cpp:352\] 2,1, 48:B0:2D:9B:37:93,7, 5,0, 192.168.1.10, 255.255.255.0, 192.168.1.1, Orbbec, OI-BC300I, 2.0.4, Orbbec, BX7D6410038, \[11/15 14:11:21.531626\]\[info\]\[19680\]\[GVCPClient.cpp:76\] - mac:48:B0:2D:9B:37:93, ip:192.168.1.10, sn:BX7D6410038, pid:0x0000 \[11/15 14:11:21.533981\]\[info\]\[19680\]\[DeviceManager.cpp:15\] Current found device(s): (1) \[11/15 14:11:21.534061\]\[info\]\[19680\]\[DeviceManager.cpp:20\] - Name: Femto Mega i, PID: 0x06c0, SN/ID: BX7D6410038, Connection: Ethernet, MAC:48:B0:2D:9B:37:93, ip:192.168.1.10 \[11/15 14:11:23.547393\]\[info\]\[19680\]\[Context.cpp:84\] Context destroyed \[11/15 14:11:23.547743\]\[info\]\[25744\]\[GVCPClient.cpp:310\] 0, 3, 248, 1 \[\*\*2 logs in 3017ms, last: 14:11:22.545802\*\*\] \[11/15 14:11:23.547997\]\[info\]\[10048\]\[GVCPClient.cpp:352\] 2,1, 48:B0:2D:9B:37:93,7, 5,0, 192.168.1.10, 255.255.255.0, 192.168.1.1, Orbbec, OI-BC300I, 2.0.4, Orbbec, BX7D6410038, \[\*\*2 logs in 3017ms, last: 14:11:22.545814\*\*\] \[11/15 14:11:23.548224\]\[info\]\[13612\]\[GVCPClient.cpp:76\] - mac:48:B0:2D:9B:37:93, ip:192.168.1.10, sn:BX7D6410038, pid:0x0000 \[\*\*2 logs in 2016ms, last: 14:11:23.546053\*\*\] \[11/15 14:11:23.549050\]\[info\]\[19680\]\[Context.cpp:68\] Context created with config: C:\\Users\\sean\\Desktop\\OrbbecSDKConfig_v1.0.xml \[11/15 14:11:23.549091\]\[info\]\[19680\]\[Context.cpp:73\] Work directory=C:\\Users\\sean\\Desktop, SDK version=v1.10.8-20240604-d1671a341 \[11/15 14:11:23.549131\]\[info\]\[19680\]\[MfPal.cpp:103\] createObPal: create WinPal! \[11/15 14:11:23.576672\]\[info\]\[19852\]\[GVCPClient.cpp:310\] 0, 3, 248, 1 \[11/15 14:11:23.576795\]\[info\]\[19852\]\[GVCPClient.cpp:352\] 2,1, 48:B0:2D:9B:37:93,7, 5,0, 192.168.1.10, 255.255.255.0, 192.168.1.1, Orbbec, OI-BC300I, 2.0.4, Orbbec, BX7D6410038, \[11/15 14:11:24.577807\]\[info\]\[19680\]\[GVCPClient.cpp:76\] - mac:48:B0:2D:9B:37:93, ip:192.168.1.10, sn:BX7D6410038, pid:0x0000 \[11/15 14:11:24.578485\]\[info\]\[19680\]\[DeviceManager.cpp:15\] Current found device(s): (1) \[11/15 14:11:24.578623\]\[info\]\[19680\]\[DeviceManager.cpp:20\] - Name: Femto Mega i, PID: 0x06c0, SN/ID: BX7D6410038, Connection: Ethernet, MAC:48:B0:2D:9B:37:93, ip:192.168.1.10 \[11/15 14:11:26.592958\]\[info\]\[19680\]\[Context.cpp:84\] Context destroyed \[11/15 14:11:26.593107\]\[info\]\[8136\]\[GVCPClient.cpp:310\] 0, 3, 248, 1 \[\*\*2 logs in 3016ms, last: 14:11:25.590546\*\*\] \[11/15 14:11:26.593821\]\[info\]\[8064\]\[GVCPClient.cpp:352\] 2,1, 48:B0:2D:9B:37:93,7, 5,0, 192.168.1.10, 255.255.255.0, 192.168.1.1, Orbbec, OI-BC300I, 2.0.4, Orbbec, BX7D6410038, \[\*\*2 logs in 3017ms, last: 14:11:25.590556\*\*\] \[11/15 14:11:26.594065\]\[info\]\[6372\]\[GVCPClient.cpp:76\] - mac:48:B0:2D:9B:37:93, ip:192.168.1.10, sn:BX7D6410038, pid:0x0000 \[\*\*2 logs in 2016ms, last: 14:11:26.591702\*\*\] \[11/15 14:11:26.595820\]\[info\]\[19680\]\[Context.cpp:68\] Context created with config: C:\\Users\\sean\\Desktop\\OrbbecSDKConfig_v1.0.xml \[11/15 14:11:26.595913\]\[info\]\[19680\]\[Context.cpp:73\] Work directory=C:\\Users\\sean\\Desktop, SDK version=v1.10.8-20240604-d1671a341 \[11/15 14:11:26.595982\]\[info\]\[19680\]\[MfPal.cpp:103\] createObPal: create WinPal! \[11/15 14:11:26.627449\]\[info\]\[7308\]\[GVCPClient.cpp:310\] 0, 3, 248, 1 \[11/15 14:11:26.627594\]\[info\]\[7308\]\[GVCPClient.cpp:352\] 2,1, 48:B0:2D:9B:37:93,7, 5,0, 192.168.1.10, 255.255.255.0, 192.168.1.1, Orbbec, OI-BC300I, 2.0.4, Orbbec, BX7D6410038, \[11/15 14:11:27.628932\]\[info\]\[19680\]\[GVCPClient.cpp:76\] - mac:48:B0:2D:9B:37:93, ip:192.168.1.10, sn:BX7D6410038, pid:0x0000 \[11/15 14:11:27.629659\]\[info\]\[19680\]\[DeviceManager.cpp:15\] Current found device(s): (1) \[11/15 14:11:27.629748\]\[info\]\[19680\]\[DeviceManager.cpp:20\] - Name: Femto Mega i, PID: 0x06c0, SN/ID: BX7D6410038, Connection: Ethernet, MAC:48:B0:2D:9B:37:93, ip:192.168.1.10 \[11/15 14:11:29.643232\]\[info\]\[19680\]\[Context.cpp:84\] Context destroyed \[11/15 14:11:29.643386\]\[info\]\[23452\]\[GVCPClient.cpp:310\] 0, 3, 248, 1 \[\*\*2 logs in 3015ms, last: 14:11:28.641155\*\*\] \[11/15 14:11:29.644101\]\[info\]\[15380\]\[GVCPClient.cpp:352\] 2,1, 48:B0:2D:9B:37:93,7, 5,0, 192.168.1.10, 255.255.255.0, 192.168.1.1, Orbbec, OI-BC300I, 2.0.4, Orbbec, BX7D6410038, \[\*\*2 logs in 3016ms, last: 14:11:28.641164\*\*\] \[11/15 14:11:29.644383\]\[info\]\[27040\]\[GVCPClient.cpp:76\] - mac:48:B0:2D:9B:37:93, ip:192.168.1.10, sn:BX7D6410038, pid:0x0000 \[\*\*2 logs in 2015ms, last: 14:11:29.642016\*\*\] \[11/15 14:11:42.724883\]\[info\]\[19680\]\[Context.cpp:68\] Context created with config: C:\\Users\\sean\\Desktop\\OrbbecSDKConfig_v1.0.xml \[11/15 14:11:42.724995\]\[info\]\[19680\]\[Context.cpp:73\] Work directory=C:\\Users\\sean\\Desktop, SDK version=v1.10.8-20240604-d1671a341 \[11/15 14:11:42.725648\]\[info\]\[19680\]\[MfPal.cpp:103\] createObPal: create WinPal! \[11/15 14:11:42.755225\]\[info\]\[27612\]\[GVCPClient.cpp:310\] 0, 3, 248, 1 \[11/15 14:11:42.755412\]\[info\]\[27612\]\[GVCPClient.cpp:352\] 2,1, 48:B0:2D:9B:37:93,7, 5,0, 192.168.1.10, 255.255.255.0, 192.168.1.1, Orbbec, OI-BC300I, 2.0.4, Orbbec, BX7D6410038, \[11/15 14:11:43.756256\]\[info\]\[19680\]\[GVCPClient.cpp:76\] - mac:48:B0:2D:9B:37:93, ip:192.168.1.10, sn:BX7D6410038, pid:0x0000 \[11/15 14:11:43.756941\]\[info\]\[19680\]\[DeviceManager.cpp:15\] Current found device(s): (1) \[11/15 14:11:43.757042\]\[info\]\[19680\]\[DeviceManager.cpp:20\] - Name: Femto Mega i, PID: 0x06c0, SN/ID: BX7D6410038, Connection: Ethernet, MAC:48:B0:2D:9B:37:93, ip:192.168.1.10 \[11/15 14:11:45.770042\]\[info\]\[19680\]\[Context.cpp:84\] Context destroyed \[11/15 14:11:45.770227\]\[info\]\[22976\]\[GVCPClient.cpp:310\] 0, 3, 248, 1 \[\*\*2 logs in 3014ms, last: 14:11:44.768384\*\*\] \[11/15 14:11:45.771094\]\[info\]\[27564\]\[GVCPClient.cpp:352\] 2,1, 48:B0:2D:9B:37:93,7, 5,0, 192.168.1.10, 255.255.255.0, 192.168.1.1, Orbbec, OI-BC300I, 2.0.4, Orbbec, BX7D6410038, \[\*\*2 logs in 3015ms, last: 14:11:44.768395\*\*\] \[11/15 14:11:45.771407\]\[info\]\[18020\]\[GVCPClient.cpp:76\] - mac:48:B0:2D:9B:37:93, ip:192.168.1.10, sn:BX7D6410038, pid:0x0000 \[\*\*2 logs in 2015ms, last: 14:11:45.768794\*\*\]

so i found the issue.

It was to do with the version of touch designer I was using. I have just downloaded the latest version and it works now.

1 Like

@robmc

Might I ask a slightly different question

How might I record the player index, depth and pointcloud so I can play it back a work on my project?

Glad you got things working. Recording streams, can be a bit more complicated because of the bandwidth and the fact that compression doesn’t really work on depth or point cloud images.

I think you can find some examples where other people have tried it on the forums, but a common technique is to use the Movie File Out top and save the images to a series of EXR frames. You can then use a shader or the Depth Projection component in the palette to reproject the depth image into a point cloud again.