VPS Toolkit VPService GStreamer built on VS 2019 cannot find vpspasstru library element

VPS Toolkit VPService GStreamer v1.16.2 built on VS 2019 cannot find vpspasstru library element. So how does VPService/GStreamer find the pipeline elements that are installed? Where is the path /gstreamer/pipelines located for I cannot find it in the project nor in the GStreamer installation? Does the GST_PLUGIN_PATH= environment variable have to be set to the …\VpsSamples\Bin\VPService directory where the dlls are located? Will that mess with GStreamer operation?

Here is the error:

2021-11-05 10:51:55.350-04:00 INFO - Request starting HTTP/1.1 GET http://localhost:5000/gstreamer/pipelines/vpspasstru

0:00:06.721568000 25840 000002063AC53090 WARN GST_ELEMENT_FACTORY gstelementfactory.c:467:gst_element_factory_make: no such element factory “vpspasstru”!

0:00:06.723402000 25840 000002063AC53090 ERROR default vps2gstreamer.cpp:98:Vps2GStreamer::SetupGStreamer: Element from 3rd party partner pipeline could not be created.

2021-11-05 10:51:55.350-04:00 INFO - Request finished in 5.5698ms 404

Thanks for your help…

EDIT:

So the problem was my understanding of the detailed documentation for VSP Toolkit. Where it addresses starting up VPService, it just has: GST_PLUGIN_PATH=.

No where else in the document does it address this environment variable and I did not notice the period (.), my bad eyes…But that would not work in my case either so I suggest where GStreamer installation is addressed to mention GST_PLUGIN_PATH and perhaps note the period and give an absolute path as an example as well…

Thank you for your comment. We will update the documentation to explain in more detail that GST_PLUGIN_PATH environment variable needs to be modified to point to the location of sample plugins.

Do I understand correctly that you managed to solve your issue?

Yes, I just set GST_PLUGIN_PATH to point to the installed versions of the dlls as a test, then I built the VPS Toolkit and successfully tested the built versions…thank you for responding!!

AS a next step, I am trying to modify the GStreamer Pipeline in SetupGStreamer() to insert the textoverlay element to place some text on the video. Having trouble with this, but I got to the point where textoverlay needs a do-timestamp and is-live setting so I was able to do that in the appsrc source element. Still no joy, debug seems to indicate the need for a queue…any ideas to get this to work?

Rather than modifying a SetupGStreamer I would suggest you make your own ‘container’ plugin that is a pipeline by itself. The idea was that you can develop that plugin and the service will create appsrc, yourplugin, appsink pipeline on its own. One example of that is our Nvidia sample: https://developer.milestonesys.com/s/question/0D53X00006QR4euSAD/vps-sample-using-deepstream-for-object-detection

I think it also uses a queue element.