I have customized gst-nvdsanalytics plugin and make to file libnvdsgst_dsanalytics.so in /usr/lib/x86_64-linux-gnu/gstreamer-1.0/deepstream. Everything runs OK but when I want to make into a .so file with a different custom name, it gives the following error gi.repository.GLib.Error: gst_parse_error: no element. I noticed that gstreamer seems to only accept .so files availabled in /usr/lib/x86_64-linux-gnu/gstreamer-1.0/deepstream. Am I right and how can I link my custom .so file ?
Please provide complete information as applicable to your setup.
• Hardware Platform (Jetson / GPU)
• DeepStream Version
• JetPack Version (valid for Jetson only)
• TensorRT Version
• NVIDIA GPU Driver Version (valid for GPU only)
• Issue Type( questions, new requirements, bugs)
• How to reproduce the issue ? (This is for bugs. Including which sample app is using, the configuration files content, the command line used and other details for reproducing)
• Requirement details( This is for new requirement. Including the module name-for which plugin or for which sample application, the function description)
• The pipeline being used
This name needs to be modified by the compiler, refer to the following file.
/opt/nvidia/deepstream/deepstream/sources/gst-plugins/gst-nvdsanalytics/Makefile
Modify LIB:=libnvdsgst_dsanalytics.so
, then
make CUDA_VER=12.2 install
/opt/nvidia/deepstream/deepstream/install.sh
Changing the name of element type is difficult.
You need to change the corresponding gobject type
and the corresponding struct and function name.
Such as GstNvDsAnalytics
and GstNvDsAnalyticsClass
and gst_nvdsanalytics_xxxx
.
They are determined by the following macro.
G_DEFINE_TYPE (GstNvDsAnalytics, gst_nvdsanalytics, GST_TYPE_BASE_TRANSFORM);
This function is generated by a macro, and the .h
file only declares it.
Check this macro.
G_DEFINE_TYPE (GstIcDsLpr, gst_icdslpr, GST_TYPE_BASE_TRANSFORM);
About the other link error, You cannot rename this class, it is not open source.
NvDsAnalyticCtxUptr analytics_ctx =
NvDsAnalyticCtx::create (stream_analytics_info[frame_meta->pad_index],
Please share the entire library, I need to check the compilation errors
Can you compress the plugin code into a zip file? The above files seem can not be compiled.
Modify the following code in gsticdslpr.h
//#define GST_TYPE_ICDSLPR (gst_icdsplr_get_type())
#define GST_TYPE_ICDSLPR (gst_icdslpr_get_type())
//GType gst_icdsplr_get_type (void);
GType gst_icdslpr_get_type (void);
#LIB:=libnvdsgst_icdslpr.so
LIB:=libicdsgst_dslpr.so
Fixed it In the Makefile
. then
make install
sudo /opt/nvidia/deepstream/deepstream/install.sh
gst-inspect-1.0 icdslpr
``
Thank you very much. Love you :3
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.