Use Azure Kinect recorder with external synchronized devices
This article provides guidance on how the Azure Kinect Recorder can record data from external-synchronization configured devices.
Prerequisites
External synchronization constraints
- Master device can't have SYNC IN cable connected.
- Master device must stream RGB camera to enable synchronization.
- All units must use the same camera configuration (framerate and resolution).
- All units must run the same device firmware (update firmware instructions).
- All subordinate devices must be started before the master device.
- The same exposure value should be set on all devices.
- Each subordinate's Delay off master setting is relative to the master device.
Record when each unit has a host PC
In the example below, each device has its own dedicated host PC. It's recommended you connect devices to dedicated PCs to prevent issues with USB bandwidth and CPU/GPU usage.
Subordinate-1
Set up recorder for the first unit
k4arecorder.exe --external-sync sub -e -8 -r 5 -l 10 sub1.mkv
Device starts waiting
Device serial number: 000011590212 Device version: Rel; C: 1.5.78; D: 1.5.60[6109.6109]; A: 1.5.13 Device started [subordinate mode] Waiting for signal from master
Subordinate-2
Set up recorder for the second unit
k4arecorder.exe --external-sync sub -e -8 -r 5 -l 10 sub2.mkv
Device starts waiting
Device serial number: 000011590212 Device version: Rel; C: 1.5.78; D: 1.5.60[6109.6109]; A: 1.5.13 Device started [subordinate mode] Waiting for signal from master
Master
Start recording on master
>k4arecorder.exe --external-sync master -e -8 -r 5 -l 10 master.mkv
Wait until recording finished
Recording when multiple units connected to single host PC
You can have multiple Azure Kinect DKs connected to a single host PC. However, that can be very demanding to USB bandwidth and host compute. To reduce the demand:
- Connect each device into own USB host controller.
- Have a powerful GPU that can handle depth engine for each device.
- Record only needed sensors and use lower framerate.
Always start subordinate devices first and the master last.
Subordinate-1
Start recorder on subordinate
>k4arecorder.exe --device 1 --external-sync subordinate --imu OFF -e -8 -r 5 -l 5 output-2.mkv
The device goes into waiting state
Master
Start master device
>k4arecorder.exe --device 0 --external-sync master --imu OFF -e -8 -r 5 -l 5 output-1.mkv
Wait recording to finish
Playing recording
You can use the Azure Kinect viewer to play back recording.
Tips
- Use manual exposure for recording synchronized cameras. RGB camera auto-exposure may impact time-synchronization.
- Restarting subordinate device will cause synchronization to be lost.
- Some camera modes support 15 fps max. We recommended that you don't mix modes/frame rates between devices
- Connecting multiple units to single PC can easily saturate USB bandwidth, consider using separate host PC per device. Pay attention to CPU/GPU compute as well.
- Disable the microphone and IMU if they aren't needed to improve reliability.
For any issues see Troubleshooting
See also
- Set up external sync
- Azure Kinect Recorder for recorder settings and additional information.
- Azure Kinect Viewer for playing recordings or setting RGB camera properties not available through recorder.
- Azure Kinect Firmware Tool for updating device firmware.