Here are a few tips / things to consider when implementing your Nx Meta VMP plugin with the Metadata SDK.
Track objects using at least 10 frames per second
- Processing capture video at less than 10 fps makes tracking unreliable.
Optimize Attributes Extraction
- Most frames capture by real-world IP cameras may have blur and may not suitable for feature extraction.
- To optimize resource usage and reduce false positives run attributes extraction only on pre-qualified, high quality frames if possible.
Keep Frame Latency Low
- Frame latency will impact how the user sees metadata on live video. The lower the fame latency, the better the object tracking and associated metadata will be reflected on Nx Desktop application.
- To address this issue the Nx Desktop application has a buffer of 500 ms for live video before decoding for the Operator. If you aim for a target latency of 300 ms you will prevent Operator visual issues.
- If, for any reason, you are not able to maintain a low-latency the captured metadata will still be usable and review-able on archived video, but will not work well on live video.
Drop Frames in lieu of building a queue
- This is CRITICAL. If the Nx Server application does not have enough resources to process frames in real-time building the queue will result in increased RAM usage and can result in a Server application crash.
- The best way to address this issue is to keep the queue size limited and drop the oldest frames in the pipeline.
- It's a good policy in general to drop all frames which are older than 300 ms.
- NOTE - the Nx Server application does not drop frames. It will send all frames to the Plugin as requested and expect it to make decision about which frames to drop.