WKDSMRT / realsense-gstreamer

GStreamer source plugin for the Intel RealSense line of cameras
GNU Lesser General Public License v3.0
30 stars 13 forks source link

WARNING: erroneous pipeline: no element 'realsensesrc' #11

Closed johnny-wang16 closed 4 years ago

johnny-wang16 commented 4 years ago

I was able to get the following output by running the command gst-inspect-1.0 build/src/libgstrealsensesrc.so :

Plugin Details:
  Name                     realsensesrc
  Description              Realsense plugin
  Filename                 build/src/libgstrealsensesrc.so
  Version                  0.1.0
  License                  LGPL
  Source module            gst-realsensesrc-plugin
  Binary package           GStreamer RealSense Source Plug-ins
  Origin URL               https://github.com/WKDSMRT/realsense-gstreamer

  rsdemux: RealSense Source Demuxer
  realsensesrc: RealsenseSrc

  2 features:
  +-- 2 elements

but when I run the command: gst-launch-1.0 -v -m realsensesrc ! videoconvert ! autovideosink , I got the error message: WARNING: erroneous pipeline: no element 'realsensesrc' . I've seen errors like this in gstreamer before but not sure how to solve it. Any suggestions for resolving the situation? Thank you very much!

TimConnelly commented 4 years ago

You need to install the plugin and set the GST_PLUGIN_PATH.

  1. run ninja -C build install, possibly with sudo.
  2. The install path will be output by the install command. Use that and run export GST_PLUGIN_PATH={your_install_path}

Take a look at scripts/launch.sh for an example of creating a pipeline with gst-launch.

johnny-wang16 commented 4 years ago

got it. Thanks. That solves the problem. Just saw that this issue is also specified at the bottom of the document.

tanmayyb commented 2 years ago

$ gst-inspect-1.0 realsensesrc --gst-plugin-path=$PWD gives:

(gst-plugin-scanner:7863): GStreamer-WARNING **: 17:26:04.886: Failed to load plugin '/home/jetson/dist-packages/tensorrt/tensorrt.so': /home/jetson/dist-packages/tensorrt/tensorrt.so: undefined symbol: PyInstanceMethod_Type
Factory Details:
  Rank                     primary (256)
  Long-name                RealsenseSrc
  Klass                    Source/Video/Sensors
  Description              Source element for Intel RealSense multiplexed video, depth and IMU data
  Author                   Tim Connelly/WKD.SMRT <<timpconnelly@gmail.com>>

Plugin Details:
  Name                     realsensesrc
  Description              Realsense plugin
  Filename                 /home/jetson/libraries/realsense-gstreamer/build/src/libgstrealsensesrc.so
  Version                  0.1.0
  License                  LGPL
  Source module            gst-realsensesrc-plugin
  Binary package           GStreamer RealSense Source Plug-ins
  Origin URL               https://github.com/WKDSMRT/realsense-gstreamer

GObject
 +----GInitiallyUnowned
       +----GstObject
             +----GstElement
                   +----GstBaseSrc
                         +----GstPushSrc
                               +----GstRealsenseSrc

Pad Templates:
  SRC template: 'src'
    Availability: Always
    Capabilities:
      video/x-raw
                 format: { (string)RGB, (string)RGBA, (string)BGR, (string)BGRA, (string)GRAY16_LE, (string)GRAY16_BE, (string)YVYU }
                  width: [ 1, 2147483647 ]
                 height: [ 1, 2147483647 ]
              framerate: [ 0/1, 2147483647/1 ]

Element has no clocking capabilities.
Element has no URI handling capabilities.

Pads:
:
gst-inspect-1.0OA^C

But when I do $ gst-launch-1.0 -v -m realsensesrc ! videoconvert ! fakesink I get:

WARNING: erroneous pipeline: no element "realsensesrc"

and the pipeline doesn't roll.

. scripts/launch.sh in repo directory outputs:

0:00:00.039667056  8594   0x55bdd79360 WARN     GST_ELEMENT_FACTORY gstelementfactory.c:458:gst_element_factory_make: no such element factory "realsensesrc"!
0:00:00.039734349  8594   0x55bdd79360 ERROR           GST_PIPELINE grammar.y:816:priv_gst_parse_yyparse: no element "realsensesrc"
0:00:00.039770652  8594   0x55bdd79360 WARN     GST_ELEMENT_FACTORY gstelementfactory.c:458:gst_element_factory_make: no such element factory "rsdemux"!    
0:00:00.039792736  8594   0x55bdd79360 ERROR           GST_PIPELINE grammar.y:816:priv_gst_parse_yyparse: no element "rsdemux"
0:00:00.039818778  8594   0x55bdd79360 ERROR           GST_PIPELINE grammar.y:901:priv_gst_parse_yyparse: link has no source [sink=@(nil)]
0:00:00.041426626  8594   0x55bdd79360 ERROR           GST_PIPELINE grammar.y:901:priv_gst_parse_yyparse: link has no source [sink=@0x55bdd900a0]
0:00:00.053634025  8594   0x55bdd79360 ERROR           GST_PIPELINE grammar.y:1240:priv_gst_parse_launch: No src-element named "demux" - omitting link      
0:00:00.060358025  8594   0x55bdd79360 ERROR           GST_PIPELINE grammar.y:1240:priv_gst_parse_launch: No src-element named "demux" - omitting link      
WARNING: erroneous pipeline: no element "realsensesrc"

I've also tried this in my terminal and shell scripts:

export GST_PLUGIN_PATH=/usr/local/lib/gstreamer-1.0/
tanmayyb commented 2 years ago

so i changed the plugin path from /usr/local/lib/gstreamer-1.0/ to my build install src (~/libs/realsense-gstreamer/build/src) and gst recognises it after export.