We are listening to events from Milestone via the SOAP integration, and have a requirement to request images from cameras that trigger the events at the exact timestamp that the event occurred. When using the RecorderCommandService JPEGGetAt method, the JPEG returned is not at the exact timestamp.
This causes issues if the event occurs in the middle of the keyframe interval because there is a high likelyhood that the visual data required is now no longer in the image.
Is there a way to request an exact timestamp image without requesting video from the nearest keyframe and then decoding it to get the image?
Thanks
Hi Chris,
When calling JPEGGetAt, the recording server will look up the nearest GoP in the recordings and will then find the frame within that GoP where the frame time at or just before the requested time.
So, it sounds to me that it should work as you expet.
Since you are experiencing issues, I need a bit more information in order to figure out what your issue is. I therefore have a few questions.
1. What is generating the event and where does the event time originate from?
Are you sure that the time of the event should always match and exact image in the database?
2. What is being recorded?
Is it JPEG or MPEG? What is the recorded framerate? What is the time between key frames (or the time span of a GoP)?
3. When making the request you should get a response containig the actual time of the returned JPEG. How much is the time off compared to what you expect to get back?
Regards
Klaus