Gscam / imx219 / ros / gst_uri_is_valid (uri) == false

I have a Jetson Nano B01 with an IMX219 camera attached to port 0.

When i launch the following from the command line, the video displays fine, no crashes or other problems.

gst-launch-1.0 nvarguscamerasrc sensor_id=0 ! ‘video/x-raw(memory:NVMM),width=3280, height=2464, framerate=21/1, format=NV12’ ! nvvidconv flip-method=2 ! ‘video/x-raw,width=960, height=720’ ! nvvidconv ! nvegltransform ! nveglglessink -e

When i launch a gscam ros node with the following (default) config:

GSCAM_CONFIG"nvcamerasrc sensor-id=0 ! video/x-raw(memory:NVMM),
width=(int)1920, height=(int)1080, format=(string)I420, framerate=(fraction)30/1 !
nvvidconv flip-method=2 ! video/x-raw, format=(string)BGRx ! videoconvert ! video/x-raw, format=(string)BGR"

gstreamer just outputs:

(gscam:20536): GStreamer-CRITICAL **: 20:58:12.150: gst_element_make_from_uri: assertion ‘gst_uri_is_valid (uri)’ failed

I already tried debug level 4 for gstreamer, the node does not terminate with above error but stops on “waiting for first frame”. If i try the gscam node with a lowly usb camera, everything works.

What i’m doing wrong?

Hi,
Please replace nvcamerasrc with nvarguscamerasrc. The nvcamerasrc plugin is deprecated and removed in r32 releases.

Hi Dane,

did that, but same exact error. Also tried changing format to NV12. Any more ideas?

Thanks! :)

Hi,
Please try RGB instead of BGR. There is discussion in

This worked:

nvarguscamerasrc sensor-id=$(arg sensor_id) ! video/x-raw(memory:NVMM), width=(int)$(arg width), height=(int)$(arg height), format=(string)NV12, framerate=(fraction)$(arg fps)/1 ! nvvidconv flip-method=2 ! video/x-raw, format=(string)BGRx ! videoconvert

2 Likes