Closed 475651582 closed 2 months ago
Hi, it's difficult to know what's happening. If the sensor timestamps are close, then I'm struggling to see why there should be such a difference. Just to be sure I'm understanding, you're saying that timestamp_delta
is less than 200, but that you get images like the ones you attached, showing a ~12ms difference on the clock.
Can you just confirm, is the stopwatch located in the same place in both camera images? With the HQ cam using a rolling shutter sensor, this would make a difference.
Hi, it's difficult to know what's happening. If the sensor timestamps are close, then I'm struggling to see why there should be such a difference. Just to be sure I'm understanding, you're saying that
timestamp_delta
is less than 200, but that you get images like the ones you attached, showing a ~12ms difference on the clock.Can you just confirm, is the stopwatch located in the same place in both camera images? With the HQ cam using a rolling shutter sensor, this would make a difference.
Hi Davidplowman, thanks very much for your help! I reviewed the images. If the clocks are on the same position of the images, the syncs are good, otherwise the syncs are bad. The issue solved! Thanks a lot!
Describe the bug Basically I need to make sure the two HQ cameras on my Pi5 board to capture a picture simultaneuosly within 1ms. I noticed there is 'SensorTimestamp' in the metadata of each captured request. So by controlling the frame duration, I aligned the requests of two HQ cameras by 'SensorTimestamp' with some PID-like algorithm.
However, I found that when two HQ cameras capture images in a very close SensorTimestamp, the captured images were not strictly time synchronized. For instance, they are shooting at a high-refresh-rate stopwatch, and the images they captured showed the images were not captured in the same time, always with a 8~10ms uncertain delay. I pasted a example above, left camera (b) captured a '13:23:702' at while right camera (a) captured '13:23:712' with about 10ms delay. But the timestamp from the metadata showed b is 1460269180us while a is 1460269315us, only less than 200us, which is much smaller than real delay.
I do know that camera need some readout time to transfer image buffer to Pi board, but will that takes about 10ms delay? Could anyone help to explain why that 10ms delay exists?
Below is my python code for reproduce (Pi5 4GB board, 2 HQ cameras connected) and note that you need a very high refresh speed monitor for the stopwatch (my is a 240hz screen). To Reproduce