Unable to run deepstream-test2-app example

Hey!

I pulled the docker container “nvcr.io/nvidia/deepstream:4.0.2-19.12-devel” and tried to run the example deepstream-test2-app with the video file sample_1080p_h264.mp4 file but keep getting the error “One element could not be created. Exiting”.

Here’s my output when I set GST_DEBUG=4:

GST_DEBUG=4 deepstream-test2-app samples/streams/sample_1080p_h264.mp4
With tracker
0:00:00.000061392   617 0x55f9494a5e00 INFO                GST_INIT gst.c:586:init_pre: Initializing GStreamer Core Library version 1.14.5
0:00:00.000092197   617 0x55f9494a5e00 INFO                GST_INIT gst.c:587:init_pre: Using library installed in /usr/lib/x86_64-linux-gnu
0:00:00.000099872   617 0x55f9494a5e00 INFO                GST_INIT gst.c:607:init_pre: Linux moe 4.15.0-45-generic #48~16.04.1-Ubuntu SMP Tue Jan 29 18:03:48 UTC 2019 x86_64
0:00:00.000264976   617 0x55f9494a5e00 INFO                GST_INIT gstmessage.c:127:_priv_gst_message_initialize: init messages
0:00:00.000524230   617 0x55f9494a5e00 INFO                GST_INIT gstcontext.c:84:_priv_gst_context_initialize: init contexts
0:00:00.000655181   617 0x55f9494a5e00 INFO      GST_PLUGIN_LOADING gstplugin.c:317:_priv_gst_plugin_initialize: registering 0 static plugins
0:00:00.000718535   617 0x55f9494a5e00 INFO      GST_PLUGIN_LOADING gstplugin.c:225:gst_plugin_register_static: registered static plugin "staticelements"
0:00:00.000724766   617 0x55f9494a5e00 INFO      GST_PLUGIN_LOADING gstplugin.c:227:gst_plugin_register_static: added static plugin "staticelements", result: 1
0:00:00.000731525   617 0x55f9494a5e00 INFO            GST_REGISTRY gstregistry.c:1727:ensure_current_registry: reading registry cache: /home/user/.cache/gstreamer-1.0/registry.x86_64.bin
0:00:00.007890997   617 0x55f9494a5e00 INFO            GST_REGISTRY gstregistrybinary.c:621:priv_gst_registry_binary_read_cache: loaded /home/user/.cache/gstreamer-1.0/registry.x86_64.bin in 0.007145 seconds
0:00:00.007932416   617 0x55f9494a5e00 INFO            GST_REGISTRY gstregistry.c:1583:scan_and_update_registry: Validating plugins from registry cache: /home/user/.cache/gstreamer-1.0/registry.x86_64.bin
0:00:00.008887080   617 0x55f9494a5e00 INFO            GST_REGISTRY gstregistry.c:1685:scan_and_update_registry: Registry cache has not changed
0:00:00.008906750   617 0x55f9494a5e00 INFO            GST_REGISTRY gstregistry.c:1762:ensure_current_registry: registry reading and updating done, result = 1
0:00:00.008929922   617 0x55f9494a5e00 INFO                GST_INIT gst.c:807:init_post: GLib runtime version: 2.56.4
0:00:00.008933976   617 0x55f9494a5e00 INFO                GST_INIT gst.c:809:init_post: GLib headers version: 2.56.4
0:00:00.008936795   617 0x55f9494a5e00 INFO                GST_INIT gst.c:810:init_post: initialized GStreamer successfully
0:00:00.008969678   617 0x55f9494a5e00 INFO     GST_ELEMENT_FACTORY gstelementfactory.c:359:gst_element_factory_create: creating element "pipeline" named "dstest2-pipeline"
0:00:00.009375755   617 0x55f9494a5e00 INFO      GST_PLUGIN_LOADING gstplugin.c:901:_priv_gst_plugin_load_file_for_registry: plugin "/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstcoreelements.so" loaded
0:00:00.009382871   617 0x55f9494a5e00 INFO     GST_ELEMENT_FACTORY gstelementfactory.c:359:gst_element_factory_create: creating element "filesrc" named "file-source"
0:00:00.009503985   617 0x55f9494a5e00 INFO        GST_ELEMENT_PADS gstelement.c:670:gst_element_add_pad:<GstBaseSrc@0x55f9496e40e0> adding pad 'src'
0:00:00.010419868   617 0x55f9494a5e00 INFO      GST_PLUGIN_LOADING gstplugin.c:901:_priv_gst_plugin_load_file_for_registry: plugin "/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvideoparsersbad.so" loaded
0:00:00.010427914   617 0x55f9494a5e00 INFO     GST_ELEMENT_FACTORY gstelementfactory.c:359:gst_element_factory_create: creating element "h264parse" named "h264-parser"
0:00:00.010464076   617 0x55f9494a5e00 INFO        GST_ELEMENT_PADS gstelement.c:670:gst_element_add_pad:<GstBaseParse@0x55f9496ed280> adding pad 'sink'
0:00:00.010472637   617 0x55f9494a5e00 INFO        GST_ELEMENT_PADS gstelement.c:670:gst_element_add_pad:<GstBaseParse@0x55f9496ed280> adding pad 'src'
0:00:00.010486882   617 0x55f9494a5e00 INFO               baseparse gstbaseparse.c:3961:gst_base_parse_set_pts_interpolation:<GstH264Parse@0x55f9496ed280> PTS interpolation: no
0:00:00.012147332   617 0x55f9494a5e00 INFO      GST_PLUGIN_LOADING gstplugin.c:901:_priv_gst_plugin_load_file_for_registry: plugin "/usr/lib/x86_64-linux-gnu/gstreamer-1.0/deepstream/libgstnvvideo4linux2.so" loaded
0:00:00.012155884   617 0x55f9494a5e00 INFO     GST_ELEMENT_FACTORY gstelementfactory.c:359:gst_element_factory_create: creating element "nvv4l2decoder" named "nvv4l2-decoder"
0:00:00.012204849   617 0x55f9494a5e00 INFO        GST_ELEMENT_PADS gstelement.c:670:gst_element_add_pad:<GstVideoDecoder@0x55f9496f9f80> adding pad 'sink'
0:00:00.012213820   617 0x55f9494a5e00 INFO        GST_ELEMENT_PADS gstelement.c:670:gst_element_add_pad:<GstVideoDecoder@0x55f9496f9f80> adding pad 'src'
0:00:00.035928254   617 0x55f9494a5e00 INFO      GST_PLUGIN_LOADING gstplugin.c:901:_priv_gst_plugin_load_file_for_registry: plugin "/usr/lib/x86_64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_multistream.so" loaded
0:00:00.035959805   617 0x55f9494a5e00 INFO     GST_ELEMENT_FACTORY gstelementfactory.c:359:gst_element_factory_create: creating element "nvstreammux" named "stream-muxer"
0:00:00.036164392   617 0x55f9494a5e00 INFO        GST_ELEMENT_PADS gstelement.c:670:gst_element_add_pad:<GstNvStreamMux@0x55f94978a0d0> adding pad 'src'
0:00:00.036198257   617 0x55f9494a5e00 WARN     GST_ELEMENT_FACTORY gstelementfactory.c:456:gst_element_factory_make: no such element factory "nvinfer"!
0:00:00.037034077   617 0x55f9494a5e00 INFO      GST_PLUGIN_LOADING gstplugin.c:901:_priv_gst_plugin_load_file_for_registry: plugin "/usr/lib/x86_64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_tracker.so" loaded
0:00:00.037040991   617 0x55f9494a5e00 INFO     GST_ELEMENT_FACTORY gstelementfactory.c:359:gst_element_factory_create: creating element "nvtracker" named "tracker"
0:00:00.037194031   617 0x55f9494a5e00 INFO        GST_ELEMENT_PADS gstelement.c:670:gst_element_add_pad:<GstBaseTransform@0x55f94978e300> adding pad 'sink'
0:00:00.037222264   617 0x55f9494a5e00 INFO        GST_ELEMENT_PADS gstelement.c:670:gst_element_add_pad:<GstBaseTransform@0x55f94978e300> adding pad 'src'
0:00:00.037228875   617 0x55f9494a5e00 WARN     GST_ELEMENT_FACTORY gstelementfactory.c:456:gst_element_factory_make: no such element factory "nvinfer"!
0:00:00.037232652   617 0x55f9494a5e00 WARN     GST_ELEMENT_FACTORY gstelementfactory.c:456:gst_element_factory_make: no such element factory "nvinfer"!
0:00:00.037235945   617 0x55f9494a5e00 WARN     GST_ELEMENT_FACTORY gstelementfactory.c:456:gst_element_factory_make: no such element factory "nvinfer"!
0:00:00.037578839   617 0x55f9494a5e00 INFO      GST_PLUGIN_LOADING gstplugin.c:901:_priv_gst_plugin_load_file_for_registry: plugin "/usr/lib/x86_64-linux-gnu/gstreamer-1.0/deepstream/libgstnvvideoconvert.so" loaded
0:00:00.037586072   617 0x55f9494a5e00 INFO     GST_ELEMENT_FACTORY gstelementfactory.c:359:gst_element_factory_create: creating element "nvvideoconvert" named "nvvideo-converter"
0:00:00.037713514   617 0x55f9494a5e00 INFO        GST_ELEMENT_PADS gstelement.c:670:gst_element_add_pad:<GstBaseTransform@0x55f949793610> adding pad 'sink'
0:00:00.037746065   617 0x55f9494a5e00 INFO        GST_ELEMENT_PADS gstelement.c:670:gst_element_add_pad:<GstBaseTransform@0x55f949793610> adding pad 'src'
0:00:00.039308796   617 0x55f9494a5e00 INFO      GST_PLUGIN_LOADING gstplugin.c:901:_priv_gst_plugin_load_file_for_registry: plugin "/usr/lib/x86_64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_osd.so" loaded
0:00:00.039336938   617 0x55f9494a5e00 INFO     GST_ELEMENT_FACTORY gstelementfactory.c:359:gst_element_factory_create: creating element "nvdsosd" named "nv-onscreendisplay"
0:00:00.039437551   617 0x55f9494a5e00 INFO        GST_ELEMENT_PADS gstelement.c:670:gst_element_add_pad:<GstBaseTransform@0x55f9497a23b0> adding pad 'sink'
0:00:00.039460150   617 0x55f9494a5e00 INFO        GST_ELEMENT_PADS gstelement.c:670:gst_element_add_pad:<GstBaseTransform@0x55f9497a23b0> adding pad 'src'
0:00:00.039986613   617 0x55f9494a5e00 INFO      GST_PLUGIN_LOADING gstplugin.c:901:_priv_gst_plugin_load_file_for_registry: plugin "/usr/lib/x86_64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_eglglessink.so" loaded
0:00:00.039994616   617 0x55f9494a5e00 INFO     GST_ELEMENT_FACTORY gstelementfactory.c:359:gst_element_factory_create: creating element "nveglglessink" named "nvvideo-renderer"
0:00:00.040175963   617 0x55f9494a5e00 INFO        GST_ELEMENT_PADS gstelement.c:670:gst_element_add_pad:<GstBaseSink@0x55f9497fc7a0> adding pad 'sink'

As you can see, I keep getting

gstelementfactory.c:456:gst_element_factory_make: no such element factory "nvinfer"

but I do not know how to fix it. Any ideas?

Thanks!

Hi,
Can you please check if nvinfer is listed when running gst-inspect?,
If not, which nv plugins are listed?

  • Which hardware platform are you using?

Thanks

I don’t see nvinfer within the list. I do see:

nvdsgst_dewarper:  nvdewarper: nvdewarper
nvdsgst_eglglessink:  nveglglessink: EGL/GLES vout Sink
nvdsgst_segvisual:  nvsegvisual: nvsegvisual
nvdsgst_msgconv:  nvmsgconv: Message Converter
nvdsgst_multistreamtiler:  nvmultistreamtiler: Stream Tiler DS 4.0
nvdsgst_of:  nvof: nvof
nvdsgst_tracker:  nvtracker: NvTracker plugin
nvdsgst_msgbroker:  nvmsgbroker: Message Broker
nvdsgst_ofvisual:  nvofvisual: nvofvisual
nvdsgst_multistream:  nvstreammux: Stream multiplexer
nvdsgst_multistream:  nvstreamdemux: Stream demultiplexer
nvdsgst_jpegdec:  nvjpegdec: JPEG image decoder
nvdsgst_osd:  nvdsosd: NvDsOsd plugin
nvdsgst_dsexample:  dsexample: DsExample plugin

I’m using a Ubuntu 16.04 but running the Ubuntu 18.04 Docker image “deepstream:4.0.2-19.12-devel”

EDIT: I actually see this output sometimes in the output when running gst-inspect-1.0

(gst-plugin-scanner:749): GStreamer-WARNING **: 15:43:22.584: Failed to load plugin '/opt/nvidia/deepstream/deepstream-4.0/lib/gst-plugins/libnvdsgst_infer.so': libnvrtc.so.10.2: cannot open shared object file: No such file or directory

Now here are some new questions. I have all the CUDA 10.1 toolkit installed as part of the docker container but it seems like it’s trying to open a CUDA 10.2 object. Is this normal? It seems as if I’m missing libnvrtc.so.10.2. Is this a new requirement for TensortRT ?

  1. Only elementary streams (.h264) are supported in test 2 and is documented in Readme.
  2. U should check display driver version on host machine - should be 418+
  3. U should clean gstreamer cache and try first through docker. Else u should try on ubuntu 18.04 host
    BTW, Have u updated anything inside the docker via sudo apt-get?

Hi,
Can you find any libnvrtc.so?
(On / folder run: find . | grep libnvrtc)
+
What does your environment variables show with regards to cuda?

Thanks

Hi
Sorry for a late reply, have you solved this issue? by default, after you pulled the docker container, you can run directly, you do not need to reinstall cuda.