Gst-nvdsvisionencoder-c
The Gst-nvdsvisionencoder-c plugin is a pure C/C++ GStreamer plugin that generates ReID (Re-Identification) embeddings for tracked objects using either Triton Inference Server or a local TensorRT engine, and attaches them to DeepStream metadata as NVDS_TRACKER_OBJ_REID_META. Compared to an equivalent Python plugin, it attaches metadata directly via C pointers (avoiding wrapper/binding issues), runs without Python overhead, and produces metadata that is correctly visible to all downstream components (for example deepstream-test5-app, Gst-nvmsgconv). It also supports embedding caching with optical-flow-based staleness prediction and an optional DLA-based appearance-change validator, both of which can skip full re-inference for objects whose appearance has not meaningfully changed.
Inputs and Outputs
-
Inputs
- GStreamer buffer containing NvBufSurface (NVMM) frames with tracked-object metadata
-
Control parameters
- enable, backend, triton-url, triton-model, tensorrt-engine, onnx-model, batch-size, min-crop-size, gpu-id, device, skip-interval, embedding-classes, verbose
- smart-infer, cache-refresh-interval, cache-max-size (embedding cache)
- ofa-predict, ofa-motion-threshold, ofa-high-motion-threshold (optical-flow-based staleness prediction)
- dla-validator, dla-validator-engine, dla-core, dla-change-threshold (DLA appearance-change validator)
-
Output
- The same GStreamer buffer, with
NVDS_TRACKER_OBJ_REID_META(ReID embeddings) attached to each tracked object’s metadata
- The same GStreamer buffer, with
Features
The following table summarizes the features of the plugin.
Gst-nvdsvisionencoder-c plugin features
Gst Properties
The following table describes the Gst properties of the Gst-nvdsvisionencoder-c plugin.
Gst-nvdsvisionencoder-c plugin gst properties