Multiple recording with 4 ZED X cameras

Good afternoon!

I have one ZED Box Orin and four ZED X cameras connected via GMSL2. All cameras are connected to a single box. I’m a bit confused. Based on the example in the recording_multi.py file, it seems like the cameras are initialized sequentially, not simultaneously in a synchronized manner.

Since I have one ZED Box with four cameras connected, do I still need to set up the PTP Service to synchronize the devices, as described here? Cause I have such output
$ nmcli device status
DEVICE TYPE STATE CONNECTION
eth0 ethernet connected Wired connection 1
l4tbr0 bridge connected (externally) l4tbr0
wlan0 wifi disconnected –
p2p-dev-wlan0 wifi-p2p disconnected –
can0 can unmanaged –
usb0 ethernet unmanaged –
usb1 ethernet unmanaged –
lo loopback unmanaged –
$ ethtool -T eth0
Time stamping parameters for eth0:
Capabilities:
software-transmit
software-receive
software-system-clock
PTP Hardware Clock: none
Hardware Transmit Timestamp Modes: none
Hardware Receive Filter Modes: none

So, do I need to use “software mode”?

Also, I would like to clarify the following: based on recording_multi.py, each camera is opened one after another, with a slight delay.
Is there a way to wait until all cameras are opened and then start recording on all of them at the same time?
Can this be achieved through code, or does it require some additional setup?

— UPD —
ZED Link Driver is updated to 1.3.1 as I noticed, there’s a point saying “Support camera synchronization for precise multi-camera capture.”
My question is: does this happen automatically?

For more detailed info, I’m using a ZED Link Duo capture card with four ZED X cameras connected to a ZED Box Orin 8GB.

Best regards,
Ed Ti

Hi @tiedvards,

Welcome to the forums :smiley:

When multiple ZED cameras (USB or GMSL) are connected to a single PC, they is no PTP time synchronizing required (as timestamps are computed using the host’s PC clock). When there is one clock, no need for a synchronization service.

The official sample that you are using (here) performs exactly this: the cameras are opened sequentially (required and recommended especially for GMSL cameras) and start recording in parallel (with the calls to the grab() method in each thread)

On the capture card Duo, all cameras are hardware synchronized by default, meaning that the image capture of all cameras is triggered at the same time.