Hi,
I am new to DeepStream and Graph Composer, so I have a few general questions:
If I need to implement a whole pipeline with quite a few changes to the functionality/data flow (e.g. storing images until we can be sure that the tracked object left the ROI and then use an earlier image for representing a track, or similar tasks), do you recommend using the Graph Composer, or some lower level version, like using the python bindings?
If I use the Graph Composer, what is a good approach for adding custom code? So far I have found a guide in the docs for adding a custom extension or adding a python codelet to the Graph Composer, but the distinction between the use cases of these 2 is not clear to me.
If I shall use the python bindings, can you recommend the most effective way of learning how to use all available tools/functions…?
So, in essence the Graph Composer is mainly a tool to quickly test simpler use cases, and the DS c/c++/python APIs are the way to go in case of heavy customization and a lot of “customer code”?
Also, many thanks for the Smart Record link, I have not found this feature yet.
I see. What I have been meaning to ask with this is that is there a use case/rule to keep in mind when deciding which method to use for custom code in Composer? Something along the lines of “they both allow to use custom code, but the codelets are more suited to do X, and the custom extensions excel in Y”
Yes. So I take the most effective way is to see the example apps and take it from there.
The API number order is c/c++ API number > python API number > Graph Composer extension number. Theoretically, you can implement with any APIs you like according to your use case and the customization skills you already have.
The following suggestion is for pipeline, it has nothing to do with which API set(c/c++, python or GXF) you are using:
The smart recording bin can be added to some place after the inferencing plugins(nvinfer or nvinferserver), the exact place is decided by your requirements(whether you want to record video clips with OSD or not, whether you want to record video clips for single cameras or for the tiled video of multiple cameras, …).
Thank you for your help!
I forgot to reply because I have started working on the project in the python API, and managed to figure out the basics, and translate my Composer graph to code.