Setup:
- Jetson Nano with JetPack 4.6.1
- DeepStream 6.0.0
- Python 3.8
Progress So Far: I’ve successfully installed DeepStream on my Jetson Nano and have run various tutorials using the deepstream-app function with different configuration files. My experiments included using different model types and sources like prerecorded video and live streams, all of which worked seamlessly. Further, I’ve managed to set up a custom GStreamer pipeline and execute it independently of deepstream-app, and also integrated these setups into a Python script. However, I hit a roadblock upon realizing the absence of Python bindings for DeepStream (pyds), which are crucial for accessing metadata in my application.
In parallel, for another project, I’ve been working with GStreamer bindings in Java, successfully constructing and executing pipelines that incorporate DeepStream elements on the Jetson Nano.
Objective: My primary codebase is in Java, and I’m looking to leverage DeepStream and GStreamer for model execution while accessing underlying metadata. While Python has pyds for this purpose, Java lacks equivalent bindings. My goal is to load and interpret the MetaData object in Java to make informed decisions based on its data. Currently, I can access the memory address and read the subsequent 100 bytes, but parsing this data in Java remains a challenge.
Seeking Suggestions:
- Is there a way to parse the DeepStream metadata directly in Java?
- As an alternative, I’m considering using a Python script to read the memory address and then communicate this data to the Java code via a socket connection, similar to the functionality in DeepStream 6.0. However, I’m concerned this might complicate the codebase.
I’d appreciate any insights or recommendations from the community on this matter. Has anyone tackled a similar challenge or can offer guidance on efficiently integrating DeepStream metadata with Java?