Jetson Xavier AGX Gstreamer python plugin creation help

Hardware: Jetson Xavier AGX
Jetpack: 4.4
Deepstream: 5.0

Hi all. I have a pipeline where I have a heavy probe callback function attached to the src on my tiler and it definitely causes the pipeline to slowdown a ton. From what I read on this forum and in other places people say that if you need to manipulate metadata you should create a new plugin to do that.

I am trying to create a plugin without having to write and maintain any c/c++ code so I am attempting to follow something like this http://lifestyletransfer.com/how-to-write-gstreamer-plugin-with-python/ mixed with https://medium.com/@karthickai/using-gstreamer-plugin-to-extract-detected-object-from-nvidia-deepstream-104879cc7154.

The problem I have is that I cannot seem to install gst-python, which I believe is what is required to provide the libgstpython.so lib that will import my plugin. All of the solutions I can find say to install gst-python from source or even gstreamer-python (which seems to be broken currently).

Has anyone had any success getting something like this to work on a Jetson Xavier AGX recently?

Just as a small update, I was finally able to download and compile gst-python from source. Now I have a differently problem that I am not sure how to fix. It seems to me like it should be working. I also tried to clear the cache already and still have the same issue.

root@nvidia-desktop:/opt/nvidia/deepstream/deepstream-5.0/app# echo $GST_PLUGIN_PATH
/usr/lib/gstreamer-1.0/:/opt/nvidia/deepstream/deepstream-5.0/app/plugins/
root@nvidia-desktop:/opt/nvidia/deepstream/deepstream-5.0/app# ls /usr/lib/gstreamer-1.0/ | grep python
libgstpython.cpython-36m-aarch64-linux-gnu.so
libgstpython.la
root@nvidia-desktop:/opt/nvidia/deepstream/deepstream-5.0/app# gst-inspect-1.0 python
No such element or plugin ‘python’
root@nvidia-desktop:/opt/nvidia/deepstream/deepstream-5.0/app#

Hi,
In current releases, this is not supported. We will add this to the roadmap to provide a sample for writing a plugin in the future.

On current releases, you can customize dsexample plugin. You may check

/opt/nvidia/deepstream/deepstream-5.1/sources/gst-plugin/gst-dsexample/README
/opt/nvidia/deepstream/deepstream-5.1/sources/gst-plugin/gst-dsexample/gstdsexample.cpp

And see if you can customize it to your use-case.

Ok thank you for the reply!

Hi @mmcdermott
Please make sure that your Gstreamer version is 1.16+, python plugins don’t behave correctly on older versions of Gstreamer.
Also, please make sure the gst-python installation is recognized. You can install this via apt as well, you just need to install the package:
python-gst-1.0

After this installation, make sure that your GST_PLUGIN_PATH includes the location of your libgstpython.so

Please let me know if this works or not.

Thanks and Regards,
Rahool

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.