Unreal, 2 zedx and an Orin Box

hi there. we just bought an Orion box with a dual capture card and two zedx. we want those cameras to fusion and send data to local network in my unreal machine to use skeleton data with livelink. I calibrated the cameras with the 360 in the box saved a file. i have no idea how to send skeleton data to unreal :)) pls help or my guys will kick me . i tried to add device in Zd_hub but the box can’t start the edge agent …thanks

Hi @ionica, welcome back, let’s try not to get you kicked! :foot:

First, please read through the doc: Live Link for UE5 - Stereolabs

You don’t necessarily need ZED Hub at all over the local network. You have to make sure the ZED360 calibration file is passed to the Live Link Configuration file. The sender will start the camera, manage the Fusion and send the data to the Unreal Plugin.

hi Jplou, thanks for the fast response. the problem i have is that i can’t start the edge agent on my box so i can’t see the cameras on my pc where the unreal is.
the box have ubuntu 22.04.4 LTS, jetpack 6.0+b106 with edge agent 0.80.1 and Zed sdk 4.1.3. i can see the cameras on my box no probl, 360 and all. is just i really don’t now how to send that to the pc.

Do you need to see the video of the cameras, not only get the skeletons, on the PC?
Since that’s not the use case of Live Link alone, which is only streaming skeleton data, I assumed you did not need the video.

If you need the video, you can either use ZED Hub or not use it to run a streaming app on the jetsons. Then you can connect to it through the ZED360 file by setting the right parameters, something like:

{
    "12345678": {
        "input": {
            "zed": {
                "type":  "STREAM",
                "configuration": "192.168.12.34:30000"
            },
            "fusion": {
                "type": "INTRA_PROCESS",
                "configuration": ""
                }
            }
        },
        "world": {
            "rotation": [ // orientation of the camera in radians
                0,
                0,
                0
            ],
            "translation": [ // position of the camera in meters
                0,
                0,
                0
            ]
        }
    },
// ...
// [same pattern for the other cameras]
// ...
}

If you need to use ZED Hub and can’t run the edge agent, please share any error/useful screenshot you get.

oh. sorry i was not clear. i just want skeleton data on pc. on my box the 360 calibrate file looks like this:

 {
    "42372835": {
        "input": {
            "fusion": {
                "type": "INTRA_PROCESS"
            },
            "zed": {
                "configuration": "42372835",
                "type": "GMSL_SERIAL"
            }
        },
        "world": {
            "rotation": [
                0.0,
                0.0,
                0.0
            ],
            "translation": [
                0.0,
                -2.9524364471435547,
                0.0
            ]
        }
    },
    "46989228": {
        "input": {
            "fusion": {
                "type": "INTRA_PROCESS"
            },
            "zed": {
                "configuration": "46989228",
                "type": "GMSL_SERIAL"
            }
        },
        "world": {
            "rotation": [
                -0.023304123431444168,
                2.8475186824798584,
                -0.12609541416168213
            ],
            "translation": [
                -1.4738168716430664,
                -2.2928333282470703,
                8.00558090209961
            ]
        }
    }
}

this is the edge error:

i manage to use the python script for multicamera on box:
image
So all i need is a sender of only my skeleton from my box to pc. that will hopefully receive it with livelink in unreal, right?

That’s it :+1:

We provide you senders as C++ applications on the Live Link repository, for 1 camera and multiple cameras (fusion).

This app can either connect to cameras through ZED Boxes that are streaming the video, or to ZED Boxes that are streaming the Body Data, depending on how the ZED 360 configuration file is set up.

1 Like


:)) sooo i complied the zed_livelink_fusion thingie somehow(i’m faaar from a programer) and it’s going like in the picture. probl i just need to tell or to calibrata.json(that’s the 360 file generated) or to zedfusion …and it looks that i’ll be there…just tell me if still have the patient why it;s given that camera stream failed to start, failed to connect to zed_x_demon. i’ll buy you a horse and some beers


Victory!! but…
why i have 6-7 fps? when i had just an old zed2i it was flying…and the tracking is subpar…:frowning: i convinced my ppl to buy the box and two nice new zedx to use with fusion couse i thought the tracking will kick a. am i doing something wrong in the fusion config file?

For the optimization:

  • Your device is a Jetson Orin NX 16GB, correct?
  • What’s available in your setup? Is there a PC with a powerful GPU that could be used?
  • Before trying the rest, please make sure your ZED Box is in MAX power mode, since a lower power mode setting does limit the computing power of the jetson.

Running 2 instances of Body Tracking is demanding, so depending on your hardware it could be better to do that on a dedicated computer and not the Jetson. You would stream the ZED’s video feed from the Jetson, then do the body tracking and Fusion on the PC.

To do so, run an instance of the streaming sample on the Orin for each camera. There is a small bit of coding to do to put the correct parameters, you can do it in C++ or Python from the sample. The parameters and coding to do is described on the Camera Streaming documentation.

Then adapt the ZED 360 like I described in my answer. You will then need to run the Live Link Multi Camera sender on your main PC and pass this modified ZED 360 file in the Live Link configuration file.

This should improve the fps by a good margin if the GPU of the computer is decently powerful.


For the parameters:

  • If you stream the video feed as I just described, ensure a stable stream is broadcast. This should not be an issue in a 1080p @ 30fps resolution, but I invite you to try 720p @30 fps if for some reason it’s not stable. To check the stability, connect to the stream from your ZED Box using ZED Explorer on your main computer and check the FPS.
  • I recommend Body 18 or Body 34 instead of Body 38, for more stability and speed.
  • In 1080p, you can try the “PERFORMANCE” depth mode instead of “ULTRA” to save some fps, but check how the results are.

Note that if your accuracy decreases dramatically, or you see big jitters/jumps in keypoints position, a ZED360 calibration might be needed. It should only happen if the cameras moved (even slightly).


every time when i try to open those camera with the 360 calibration program on the pc it’s closing the ports on the box. Or i should use the 360 calib on the box save the file and then modify it and use it on the sender from the pc?? is the box able to send 2 streams at one? yes we have a powerfull GPu on the pc.

I would say the easiest way is indeed ZED 360 on the box → modify the file → pass it to the PC.
The box is capable of sending 2 streams without issues, you just need to specify different ports. Make sure to leave enough “room” between the ports, for instance, stream on 30000 and 30010. Don’t use ports too close, like 30000 and 30002.

If the GPU is powerful, I recommend the solution where the box is only a streaming box.

1 Like

VICTORY (v2) :slight_smile:
yup. first the box put on MAXN. i had to doctor the 360 file i made on the box, then send 2 instances of camera streaming. on the pc i had to use the calibrated & doctored file i made on the box for the ZED_livelink_fusion.exe. and tadaa…

1 Like