Change timestamp of metadata using setTimestampUs is not working.
AnsweredI am develop one plugin to get the object-detection result from RabbitMQ. The result is from another server processing the RTSP streaming of the camera. But I found the the object-detection result is about 0.2 sec delay from the current camera video. So I tried to change the timestamp of metadata to -0.2sec, I hope system will know it's the metadata before 0.2sec not current. But I found there are no different in the current camera view or the record video. Do you have any suggestion about it? You can see the picture. The bbox is not correct for the walking person.

-
Hello Robin,
I don't think that introducing static correction in 0.2 sec would be the right way to handle this. As I understand, you have external server which uses RTSP stream to generate objects and pushes data to RabbitMQ. Does this server uses RTSP stream directly from the camera or from VMS server? By defaults, VMS server overwrites timestamps of the video frame based on internal clock. So ideally your external analytic service should use rtsp stream from VMS server.
Also I'm assuming that analytic server reads timestamps value from video frames and assigns it to the detected objects, instead of using now() function whenever new object was detected. Otherwise it would explain the delay.
From your screenshot it looks that object metadata has incorrect timestamp, so I suggest to investigate in following directions.
1. Check if your analytic server receives video from VMS.
2. Check if analytic server provides correct timestamps for the objects.
0 -
Hi Robin,
This article can help you in your investigation
See the "Objects Appear with a Misplaced Bounding Box" section.
0 -
Hi Anton, Andrey,
Thanks for your helping. My analytics server receives the video from VMS. But I use the now() to get timestamp and send it to the plugin. Actually I don't know how to get the timestamp from the RTSP streaming. But base on Andrey's article it looks like even I put the correct timestamp, the bbox is still misplaced. It will not put the bbox to the correct timestamp frame, only show the differFromCurrentTimeMs information in the log. It looks like the only way is trying to analyze the frame ASAP to reduce the timestamp diff.
0 -
Hi Robin,
your analytics server analyzes video from rtsp, so it received all video metadata along with raw video frames. Do you use any third-party library for reading rtsp data? i'm confidant there should be a way to get the timestamp of the video frame which was used to generate metadata.
But base on Andrey's article it looks like even I put the correct timestamp, the bbox is still misplaced. It will not put the bbox to the correct timestamp frame, only show the differFromCurrentTimeMs information in the log.
That's not right. You should be able to send correct timestamps for bounding boxes. Article describes general way to troubleshoot the issue.
0
Please sign in to leave a comment.
Comments
4 comments