Internal data stream error when using nvv4l2camerasrc

• Hardware Platform (Jetson / GPU): Jetson xavier
• DeepStream Version: 5.1
• JetPack Version (valid for Jetson only): 4.5.1
• TensorRT Version: 7.1.3.0
**• Issue Type( questions, new requirements, bugs): bugs

ERROR: from element /GstPipeline:pipeline0/GstNvV4l2CameraSrc:nvv4l2camerasrc0: Internal data stream error.

**
**• How to reproduce the issue ? (This is for bugs. Including which sample app is using, the configuration files content, the command line used and other details for reproducing): run the command:

gst-launch-1.0 nvv4l2camerasrc device=/dev/video0 ! “video/x-raw(memory:NVMM), format=UYVY, width=1920, height=1080, framerate=30/1” ! nvvideoconvert ! “video/x-raw(memory:NVMM), format=NV12, width=1920, height=1080, framerate=30/1” ! nvv4l2h264enc bitrate=1000000 ! h264parse ! rtph264pay ! udpsink host=127.0.0.1 port=5000

**
**• Requirement details( This is for new requirement. Including the module name-for which plugin or for which sample application, the function description): Output of “v4l2-ctl -d /dev/video0 --list-formats-ext” command:

    Index       : 0
Type        : Video Capture
Pixel Format: 'UYVY'
Name        : UYVY 4:2:2
	Size: Discrete 1920x1080
		Interval: Discrete 0.033s (30.000 fps)
		Interval: Discrete 0.017s (60.000 fps)
	Size: Discrete 1280x720
		Interval: Discrete 0.033s (30.000 fps)
		Interval: Discrete 0.017s (60.000 fps)

Index       : 1
Type        : Video Capture
Pixel Format: 'NV16'
Name        : Y/CbCr 4:2:2
	Size: Discrete 1920x1080
		Interval: Discrete 0.033s (30.000 fps)
		Interval: Discrete 0.017s (60.000 fps)
	Size: Discrete 1280x720
		Interval: Discrete 0.033s (30.000 fps)
		Interval: Discrete 0.017s (60.000 fps)

Index       : 2
Type        : Video Capture
Pixel Format: 'UYVY'
Name        : UYVY 4:2:2
	Size: Discrete 1920x1080
		Interval: Discrete 0.033s (30.000 fps)
		Interval: Discrete 0.017s (60.000 fps)
	Size: Discrete 1280x720
		Interval: Discrete 0.033s (30.000 fps)
		Interval: Discrete 0.017s (60.000 fps)

**
I get the error “Internal data stream error” when using nvv4l2camerasrc like the above pipeline. I don’t know if I use right format supported by the camera or not. Pls help me.
More information when I add GST_DEBUG:

0:00:00.166989952 9397 0x559c797830 WARN v4l2 gstv4l2object.c:2375:gst_v4l2_object_add_interlace_mode:0x559c746e00 Failed to determine interlace mode
0:00:00.167175008 9397 0x559c797830 WARN v4l2 gstv4l2object.c:2375:gst_v4l2_object_add_interlace_mode:0x559c746e00 Failed to determine interlace mode
0:00:00.167253920 9397 0x559c797830 WARN v4l2 gstv4l2object.c:2375:gst_v4l2_object_add_interlace_mode:0x559c746e00 Failed to determine interlace mode
0:00:00.167391072 9397 0x559c797830 WARN v4l2 gstv4l2object.c:4434:gst_v4l2_object_probe_caps:nvv4l2h264enc0:src Failed to probe pixel aspect ratio with VIDIOC_CROPCAP: Unknown error -1
Pipeline is live and does not need PREROLL …
0:00:00.169370752 9397 0x559c73e770 FIXME default gstutils.c:3981:gst_pad_create_stream_id_internal:nvv4l2camerasrc0:src Creating random stream-id, consider implementing a deterministic way of creating a stream-id
Setting pipeline to PLAYING …
0:00:00.170652384 9397 0x559c73e770 WARN nvv4l2camerasrc gstnvv4l2camerasrc.cpp:734:gst_nv_v4l2_camera_fixate: Unable to fixate caps structure
0:00:00.170786432 9397 0x559c73e770 ERROR nvv4l2camerasrc gstnvv4l2camerasrc.cpp:809:gst_nv_v4l2_camera_set_caps: VIDIOC_S_FMT on /dev/video0 device
New clock: GstSystemClock
0:00:00.170854720 9397 0x559c73e770 WARN basesrc gstbasesrc.c:3055:gst_base_src_loop: error: Internal data stream error.
0:00:00.170886048 9397 0x559c73e770 WARN basesrc gstbasesrc.c:3055:gst_base_src_loop: error: streaming stopped, reason not-negotiated (-4)

Deepstream 5.1 is too old. Since your platform is xavier. Could you update the JP version and Deepstream Version to the latest? I have test the nvv4l2camerasrc on my platform with the latest version, it works well.

gst-launch-1.0 nvv4l2camerasrc device=/dev/video3 ! \
     'video/x-raw(memory:NVMM), format=(string)UYVY, \
     width=(int)1920, height=(int)1080, \
     interlace-mode= progressive, \
     framerate=(fraction)30/1' ! nvvidconv ! \
     'video/x-raw(memory:NVMM), format=(string)NV12' ! \
     nv3dsink -e

Hi yuweiw, thank you for your support. I will try that and feedback the result.
However, would you mind helping me test a pipeline whose input and output are nvv4l2camerasrc and udpsink respectively ? It is better if passing though some elements like encoder,… like my pipeline in the above issue.

Yes, I just run your pipeline with my deepstream 6.2 version. It works well.
Besides, nv3dsink is the new display sink for jetson on the deepstream 6.2 version.

1 Like

Ok, I will try, and if there’s any issue, I will raise another discussion and link this post.
Thank you a lot.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.