How nvidia-ai-iot/deepstream-occupancy-analytics works
This is a DeepStream occupancy-analytics sample: the application processes streaming video, detects people, counts tripwire crossings, and publishes event data over Kafka. The graph preserves the documented inference, analytics, metadata, and messaging stages. Source excerpts are partial, so some pipeline links rely on README statements rather than inspected call sites; the analytics parser’s metadata transformation is directly shown.
Main entry points: deepstream_test5_app_main.c DeepStream app · pgie_peoplenet_tao_config.txt PeopleNet inference · nvdsanalytics_config.txt Tripwire analytics · deepstream_nvdsanalytics_meta.cpp Analytics parser
Components 11
Application
- DeepStream app
deepstream_test5_app_main.c - Pipeline config
config/dstest_occupancy_analytics.txt
Video analytics
- PeopleNet inference
config/pgie_peoplenet_tao_config.txt - Tripwire analytics
config/nvdsanalytics_config.txt - Analytics parser
deepstream_nvdsanalytics_meta.cpp - Analytics counts
includes/analytics.h
Event data
- Event metadata
includes/nvdsmeta_schema.h
Messaging
- Message converter
config/msgconv_sample_config.txt - Kafka broker
Other components
- Video stream
- Kafka consumer
Connections 10
- Video stream → DeepStream app: streams into
README.md - Pipeline config → DeepStream app: configures
README.md - DeepStream app → PeopleNet inference: runs detection
README.md - PeopleNet inference → Tripwire analytics: supplies detections
README.md - Tripwire analytics → Analytics parser: provides counts
README.md - Analytics parser → Analytics counts: fills counts
deepstream_nvdsanalytics_meta.cpp - DeepStream app → Event metadata: uses event schema
deepstream_test5_app_main.c - DeepStream app → Message converter: sends analytics
README.md - Message converter → Kafka broker: publishes messages
README.md - Kafka consumer → Kafka broker: reads messages
README.md