Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to start a pipeline : ERROR omxvideosink gstomxvideosink.c:1246:gst_omx_video_sink_setcaps:<autovideosink0-actual-sink-nvoverlay> Unsupported format RGB #21

Open
0xshora opened this issue Feb 16, 2021 · 2 comments

Comments

@0xshora
Copy link

0xshora commented Feb 16, 2021

Thank you for your great work.
However, I cannot start a pipeline. Error messages and environments are following.

I'm using RealSense D455 on Jetson nano.

$ gst-inspect-1.0 build/src/libgstrealsensesrc.so
Plugin Details:
  Name                     realsensesrc
  Description              Realsense plugin
  Filename                 /usr/local/lib/aarch64-linux-gnu/gstreamer-1.0/libgstrealsensesrc.so
  Version                  0.1.1
  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`
$ apt list | grep realsense

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

librealsense2/bionic,now 2.41.0-5ubuntu5~1.gbp4f37f2 arm64 [installed,automatic]
librealsense2-dbg/bionic 2.41.0-5ubuntu5~1.gbp4f37f2 arm64
librealsense2-dev/bionic,now 2.41.0-5ubuntu5~1.gbp4f37f2 arm64 [installed]
librealsense2-gl/bionic,now 2.41.0-5ubuntu5~1.gbp4f37f2 arm64 [installed,automatic]
librealsense2-gl-dbg/bionic 2.41.0-5ubuntu5~1.gbp4f37f2 arm64
librealsense2-gl-dev/bionic 2.41.0-5ubuntu5~1.gbp4f37f2 arm64
librealsense2-net/bionic,now 2.41.0-5ubuntu5~1.gbp4f37f2 arm64 [installed,automatic]
librealsense2-net-dbg/bionic 2.41.0-5ubuntu5~1.gbp4f37f2 arm64
librealsense2-net-dev/bionic 2.41.0-5ubuntu5~1.gbp4f37f2 arm64
librealsense2-udev-rules/bionic,now 2.41.0-5ubuntu5~1.gbp4f37f2 arm64 [installed,automatic]
librealsense2-utils/bionic,now 2.41.0-5ubuntu5~1.gbp4f37f2 arm64 [installed]
$ gst-launch-1.0 -v -m realsensesrc ! videoconvert ! autovideosink
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Got message #11 from element "autovideosink0-actual-sink-nvoverlay" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got message #12 from element "autovideosink0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got message #13 from element "videoconvert0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got message #14 from element "realsensesrc0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got message #15 from element "pipeline0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_PAUSED;
Got message #18 from element "videoconvert0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got message #21 from pad "realsensesrc0:src" (stream-status): GstMessageStreamStatus, type=(GstStreamStatusType)GST_STREAM_STATUS_TYPE_CREATE, owner=(GstElement)"\(GstRealsenseSrc\)\ realsensesrc0", object=(GstTask)"\(GstTask\)\ realsensesrc0:src";
Got message #22 from element "realsensesrc0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got message #23 from element "pipeline0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got message #24 from pad "realsensesrc0:src" (stream-status): GstMessageStreamStatus, type=(GstStreamStatusType)GST_STREAM_STATUS_TYPE_ENTER, owner=(GstElement)"\(GstRealsenseSrc\)\ realsensesrc0", object=(GstTask)"\(GstTask\)\ realsensesrc0:src";
Got message #25 from element "pipeline0" (stream-start): GstMessageStreamStart, group-id=(uint)1;
Setting pipeline to PLAYING ...
Got message #29 from element "pipeline0" (new-clock): GstMessageNewClock, clock=(GstClock)"\(GstSystemClock\)\ GstSystemClock";
New clock: GstSystemClock
Got message #31 from element "videoconvert0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got message #32 from element "realsensesrc0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got message #34 from pad "realsensesrc0:src" (property-notify): GstMessagePropertyNotify, property-name=(string)caps, property-value=(GstCaps)"video/x-raw\,\ width\=\(int\)1280\,\ height\=\(int\)720\,\ interlace-mode\=\(string\)progressive\,\ pixel-aspect-ratio\=\(fraction\)1/1\,\ framerate\=\(fraction\)0/1\,\ format\=\(string\)RGB\,\ colorimetry\=\(string\)sRGB";
/GstPipeline:pipeline0/GstRealsenseSrc:realsensesrc0.GstPad:src: caps = video/x-raw, width=(int)1280, height=(int)720, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)0/1, format=(string)RGB, colorimetry=(string)sRGB
Got message #36 from pad "videoconvert0:src" (property-notify): GstMessagePropertyNotify, property-name=(string)caps, property-value=(GstCaps)"video/x-raw\,\ width\=\(int\)1280\,\ height\=\(int\)720\,\ interlace-mode\=\(string\)progressive\,\ pixel-aspect-ratio\=\(fraction\)1/1\,\ framerate\=\(fraction\)0/1\,\ format\=\(string\)RGB\,\ colorimetry\=\(string\)sRGB";
/GstPipeline:pipeline0/GstVideoConvert:videoconvert0.GstPad:src: caps = video/x-raw, width=(int)1280, height=(int)720, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)0/1, format=(string)RGB, colorimetry=(string)sRGB
Got message #37 from pad "sink:proxypad0" (property-notify): GstMessagePropertyNotify, property-name=(string)caps, property-value=(GstCaps)"video/x-raw\,\ width\=\(int\)1280\,\ height\=\(int\)720\,\ interlace-mode\=\(string\)progressive\,\ pixel-aspect-ratio\=\(fraction\)1/1\,\ framerate\=\(fraction\)0/1\,\ format\=\(string\)RGB\,\ colorimetry\=\(string\)sRGB";
/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0.GstGhostPad:sink.GstProxyPad:proxypad0: caps = video/x-raw, width=(int)1280, height=(int)720, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)0/1, format=(string)RGB, colorimetry=(string)sRGB
0:00:02.076989630 18669   0x558b3a2320 ERROR           omxvideosink gstomxvideosink.c:1246:gst_omx_video_sink_setcaps:<autovideosink0-actual-sink-nvoverlay> Unsupported format RGB
Got message #38 from pad "autovideosink0:sink" (property-notify): GstMessagePropertyNotify, property-name=(string)caps, property-value=(GstCaps)"video/x-raw\,\ width\=\(int\)1280\,\ height\=\(int\)720\,\ interlace-mode\=\(string\)progressive\,\ pixel-aspect-ratio\=\(fraction\)1/1\,\ framerate\=\(fraction\)0/1\,\ format\=\(string\)RGB\,\ colorimetry\=\(string\)sRGB";
/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0.GstGhostPad:sink: caps = video/x-raw, width=(int)1280, height=(int)720, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)0/1, format=(string)RGB, colorimetry=(string)sRGB
Got message #39 from pad "videoconvert0:sink" (property-notify): 0:00:02.077370323 18669   0x558b3a2320 ERROR           omxvideosink gstomxvideosink.c:1246:gst_omx_video_sink_setcaps:<autovideosink0-actual-sink-nvoverlay> Unsupported format RGB
GstMessagePropertyNotify, property-name=(string)caps, property-value=(GstCaps)"video/x-raw\,\ width\=\(int\)1280\,\ height\=\(int\)720\,\ interlace-mode\=\(string\)progressive\,\ pixel-aspect-ratio\=\(fraction\)1/1\,\ framerate\=\(fraction\)0/1\,\ format\=\(string\)RGB\,\ colorimetry\=\(string\)sRGB";
/GstPipeline:pipeline0/GstVideoConvert:videoconvert0.GstPad:sink: caps = video/x-raw, width=(int)1280, height=(int)720, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)0/1, format=(string)RGB, colorimetry=(string)sRGB
Got message #40 from element "realsensesrc0" (error): GstMessageError, gerror=(GError)NULL, debug=(string)"../src/gstrealsensesrc.cpp\(347\):\ gst_realsense_src_create\ \(\):\ /GstPipeline:pipeline0/GstRealsenseSrc:realsensesrc0";
ERROR: from element /GstPipeline:pipeline0/GstRealsenseSrc:realsensesrc0: RealSense error calling rs2_get_frame_metadata (frame:0x558b50fff8, frame_metadata:Actual Exposure)
Additional debug info:
../src/gstrealsensesrc.cpp(347): gst_realsense_src_create (): /GstPipeline:pipeline0/GstRealsenseSrc:realsensesrc0
Execution ended after 0:00:00.010909881
Setting pipeline to PAUSED ...
0:00:02.081253869 18669   0x558b3a2320 ERROR           omxvideosink gstomxvideosink.c:1246:gst_omx_video_sink_setcaps:<autovideosink0-actual-sink-nvoverlay> Unsupported format RGB
Setting pipeline to READY ...
0:00:02.081365645 18669   0x558b3a2320 ERROR           omxvideosink gstomxvideosink.c:1246:gst_omx_video_sink_setcaps:<autovideosink0-actual-sink-nvoverlay> Unsupported format RGB
Setting pipeline to NULL ...
Freeing pipeline ...

I'm testing on bugfix-pipeline-start-error branch.
Thank you.

@TimConnelly
Copy link
Contributor

I haven't tested with the D455, but the specs are very similar to the D435i. Can you try the following pipelines?

Test the autovideosink:
gst-launch-1.0 -v videotestsrc pattern=snow ! video/x-raw,width=1280,height=720 ! autovideosink

Test if the realsensesrc can start:
gst-launch-1.0 -v -m realsensesrc ! videoconvert ! fakesink

@tanmayyb
Copy link

I'm facing a similar issue, gst-launch-1.0 -v -m realsensesrc ! videoconvert ! fakesink works, but I get this when running gst-launch-1.0 -v -m realsensesrc ! videoconvert ! fakesink:

Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Got message #7 from element "fakesink0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got message #8 from element "videoconvert0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got message #9 from element "realsensesrc0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got message #10 from element "pipeline0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_PAUSED;
Got message #12 from element "videoconvert0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got message #15 from pad "realsensesrc0:src" (stream-status): GstMessageStreamStatus, type=(GstStreamStatusType)GST_STREAM_STATUS_TYPE_CREATE, owner=(GstElement)"\(GstRealsenseSrc\)\ realsensesrc0", object=(GstTask)"\(GstTask\)\ realsensesrc0:src";
Got message #16 from element "realsensesrc0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got message #17 from element "pipeline0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got message #18 from pad "realsensesrc0:src" (stream-status): GstMessageStreamStatus, type=(GstStreamStatusType)GST_STREAM_STATUS_TYPE_ENTER, owner=(GstElement)"\(GstRealsenseSrc\)\ realsensesrc0", object=(GstTask)"\(GstTask\)\ realsensesrc0:src";
Got message #19 from element "pipeline0" (stream-start): GstMessageStreamStart, group-id=(uint)1;
Setting pipeline to PLAYING ...
Got message #22 from element "pipeline0" (new-clock): GstMessageNewClock, clock=(GstClock)"\(GstSystemClock\)\ GstSystemClock";
New clock: GstSystemClock
Got message #24 from element "videoconvert0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got message #25 from element "realsensesrc0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING;
Got message #27 from pad "realsensesrc0:src" (property-notify): GstMessagePropertyNotify, property-name=(string)caps, property-value=(GstCaps)"video/x-raw\,\ width\=\(int\)1280\,\ height\=\(int\)720\,\ interlace-mode\=\(string\)progressive\,\ pixel-aspect-ratio\=\(fraction\)1/1\,\ framerate\=\(fraction\)0/1\,\ format\=\(string\)RGB\,\ colorimetry\=\(string\)sRGB";
/GstPipeline:pipeline0/GstRealsenseSrc:realsensesrc0.GstPad:src: caps = video/x-raw, width=(int)1280, height=(int)720, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)0/1, format=(string)RGB, colorimetry=(string)sRGB
Got message #29 from pad "videoconvert0:src" (property-notify): GstMessagePropertyNotify, property-name=(string)caps, property-value=(GstCaps)"video/x-raw\,\ width\=\(int\)1280\,\ height\=\(int\)720\,\ interlace-mode\=\(string\)progressive\,\ pixel-aspect-ratio\=\(fraction\)1/1\,\ framerate\=\(fraction\)0/1\,\ format\=\(string\)RGB\,\ colorimetry\=\(string\)sRGB";
/GstPipeline:pipeline0/GstVideoConvert:videoconvert0.GstPad:src: caps = video/x-raw, width=(int)1280, height=(int)720, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)0/1, format=(string)RGB, colorimetry=(string)sRGB
Got message #30 from pad "fakesink0:sink" (property-notify): GstMessagePropertyNotify, property-name=(string)caps, property-value=(GstCaps)"video/x-raw\,\ width\=\(int\)1280\,\ height\=\(int\)720\,\ interlace-mode\=\(string\)progressive\,\ pixel-aspect-ratio\=\(fraction\)1/1\,\ framerate\=\(fraction\)0/1\,\ format\=\(string\)RGB\,\ colorimetry\=\(string\)sRGB";
/GstPipeline:pipeline0/GstFakeSink:fakesink0.GstPad:sink: caps = video/x-raw, width=(int)1280, height=(int)720, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)0/1, format=(string)RGB, colorimetry=(string)sRGB
Got message #31 from pad "videoconvert0:sink" (property-notify): GstMessagePropertyNotify, property-name=(string)caps, property-value=(GstCaps)"video/x-raw\,\ width\=\(int\)1280\,\ height\=\(int\)720\,\ interlace-mode\=\(string\)progressive\,\ pixel-aspect-ratio\=\(fraction\)1/1\,\ framerate\=\(fraction\)0/1\,\ format\=\(string\)RGB\,\ colorimetry\=\(string\)sRGB";
/GstPipeline:pipeline0/GstVideoConvert:videoconvert0.GstPad:sink: caps = video/x-raw, width=(int)1280, height=(int)720, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)0/1, format=(string)RGB, colorimetry=(string)sRGB
Got message #32 from element "realsensesrc0" (error): GstMessageError, gerror=(GError)NULL, debug=(string)"../src/gstrealsensesrc.cpp\(346\):\ gst_realsense_src_create\ \(\):\ /GstPipeline:pipeline0/GstRealsenseSrc:realsensesrc0";
ERROR: from element /GstPipeline:pipeline0/GstRealsenseSrc:realsensesrc0: RealSense error calling rs2_get_frame_metadata (frame:0x5575d3d9c8, frame_metadata:Actual Exposure)
Additional debug info:
../src/gstrealsensesrc.cpp(346): gst_realsense_src_create (): /GstPipeline:pipeline0/GstRealsenseSrc:realsensesrc0
Execution ended after 0:00:00.015414551
Setting pipeline to NULL ...
Freeing pipeline ...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants