Mysterious: <erroneous pipeline: no element "Nvoverlaysink"> or <"NVMM">

Hello,

very weird case. Freshly installed Jetson AGX Xavier 32GB (2888-0004).
Trying to run my logitech brio cam, but simple gstreamer test keeps failing.

  • Jetson full install of JetPack 4.5.1 (every package selected, installation completed)
  • brio cam shows under /dev/video0 and video1
  • no errors under dmesg -wH

Test 1

gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,format=YUY2,width=1920,height=1080,framerate=30/1 ! nvvidconv ! ‘video/x-raw(memory:NVMM),format=NV12’ ! Nvoverlaysink

Result

WARNING: erroneous pipeline: no element “Nvoverlaysink”

Test 2

gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,format=YUY2,width=1920,height=1080,framerate=30/1 ! nvvidconv ! ‘video/x-raw(memory:NVMM),format=NV12’

Result

(gst-launch-1.0:26240): GStreamer-WARNING **: 15:51:33.847: Invalid caps feature name: memory
WARNING: erroneous pipeline: no element “NVMM”

Test 3

gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,format=YUY2,width=1920,height=1080,framerate=30/1 ! nvvidconv

Result

Setting pipeline to PAUSED …
Pipeline is live and does not need PREROLL …
Setting pipeline to PLAYING …
New clock: GstSystemClock
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error.
Additional debug info:
gstbasesrc.c(3055): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming stopped, reason not-linked (-1)
Execution ended after 0:00:01.132667113
Setting pipeline to PAUSED …
Setting pipeline to READY …
Setting pipeline to NULL …
Freeing pipeline …

Admitted, I was doing try and error with those above examples.

Did do a bunch of searches in forums and google but nothing came up.

Somewhere, it was mentioned to do the following (but to no avail):

sudo apt install v4l-utils

Interestingly, this exact HW setup (Test Case #1 example) operated a few days ago when I installed JetPack 4.4…!!!

Can someone explain in simple words why all that gstreamer/v4l/etc.-mumbojumbo for a simple webcam ? That cam works like a charm on my NUC8i7 and 18.04. Plug and Play. Simple as that. Yet on the Jetson Xavier not even ‘Cheese’ would work. Some higher logic behind this ?

Thanks folks… !

Hi,

I think the errors you have here is just because not familiar with gstreamer…

  1. When you find gst-launch does not have something you want, use gst-inspect-1.0 to search that element.

For example,

gst-inspect-1.0 Nvoverlaysink
No such element or plugin ‘Nvoverlaysink’

Ok, so there is really no “Nvoverlaysink”.
But that is because we only have “nvoverlaysink” but not “Nvoverlaysink”… the elements are cap-sensitive.

nvidia@nvidia-desktop:~$ gst-inspect-1.0 nvoverlaysink
Factory Details:
Rank primary + 10 (266)
Long-name OpenMax Video Sink
Klass Sink/Video
Description Renders Video
Author Jitendra Kumar

  1. You can directly try the commands here.

gst-launch-1.0 v4l2src device=/dev/video0 ! ‘video/x-raw, width=1920, height=1080, framerate=30/1, format=UYVY’ ! nvvidconv ! ‘video/x-raw(memory:NVMM),format=I420’ ! nvoverlaysink

For test 2 & 3, you hit the error because you didn’t give a completed pipeline. A pipeline needs a source and a sink. You have v4l2src there but you didn’t give a data sink in the end. nvvidconv is just a converter. A converter requires an input and an output but you didn’t give any output to it.

And gstreamer is not NV specific framework. You can check their website to know more rule about it.

https://gstreamer.freedesktop.org/documentation/tutorials/index.html?gi-language=c

…omg…how embarrassing … shame on me, very humbly will I hit ‘solved’, whistle la paloma and duck out… ‘Nvoverlaysink’ vs ‘nvoverlaysink’… omg… thx Wayne !

1 Like