Dahua ip camera with jetson nano

I am new with this, however, after days of browsing multiple forums I still do not understand the reason why it fails when trying to connect to an ip camera, what I am using is:
jetson nano kit development
ip camera dahua 2MP
The rstp works, and I check it using the VLC player, I have used several codes without success like:

  • gst-launch-1.0 rtspsrc location=“rtsp://admin:password@IP:port/cam/realmonitor?channel=1&subtype=0” ! fakesink
  • gst-launch-1.0 uridecodebin uri=“rtsp://admin:password@IP:port/cam/realmonitor?channel=1&subtype=0” ! nvoverlaysink

I made sure to use " ", since that is usually the solution however I get the same error:

Setting pipeline to PAUSED …
Pipeline is live and does not need PREROLL …
Progress: (open) Opening Stream
Progress: (connect) Connecting to rtsp://admin:rtsp://admin:password@IP:port/cam/realmonitor?channel=1&subtype=0
Progress: (open) Retrieving server options
ERROR: from element /GstPipeline:pipeline0/GstURIDecodeBin:uridecodebin0/GstRTSPSrc:source: Could not read from resource.
Additional debug info:
gstrtspsrc.c(5917): gst_rtsp_src_receive_response (): /GstPipeline:pipeline0/GstURIDecodeBin:uridecodebin0/GstRTSPSrc:source:
Could not receive message. (System error)
ERROR: pipeline doesn’t want to preroll.
Setting pipeline to PAUSED …
Setting pipeline to READY …
Setting pipeline to NULL …
Freeing pipeline …

then I try using :

  • rm .cache/gstreamer-1.0/registry.aarch64.bin
  • sudo apt-get remove gstreamer1.0-plugins-ugly
    but there was no improvement

likewise I try to use it again but adding
gst-launch-1.0 uridecodebin uri=“rtsp://admin:password@IP:port/cam/realmonitor?channel=1&subtype=0”
and i get this:
Setting pipeline to PAUSED …
Pipeline is live and does not need PREROLL …
Progress: (open) Opening Stream
Progress: (connect) Connecting to rtsp://admin:Kur0shir0@192.168.100.30:554/cam/realmonitor?channel=1&subtype=0
Progress: (open) Retrieving server options
Progress: (open) Retrieving media info
Progress: (request) SETUP stream 0
Progress: (open) Opened Stream
Setting pipeline to PLAYING …
New clock: GstSystemClock
Progress: (request) Sending PLAY request
Progress: (request) Sending PLAY request
Progress: (request) Sent PLAY request
Opening in BLOCKING MODE
NvMMLiteOpen : Block : BlockType = 261
NVMEDIA: Reading vendor.tegra.display-size : status: 6
NvMMLiteBlockCreate : Block : BlockType = 261
Gstremerrtsphog

At this point I do not understand what my errors are and what is the reason why nothing appears

This doesn’t look like a deepstream issue.

Might be a problem with gstreamer.

Could you try the following command line,and give a log ?

GST_DEBUG=3 gst-launch-1.0 uridecodebin uri="your rtsp uri" ! queue ! fakesink

directly using this “GST_DEBUG=3 gst-launch-1.0 uridecodebin uri=“your rtsp uri” ! queue ! fakesink” I had this:

Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Progress: (open) Opening Stream
Progress: (connect) Connecting to rtsp://admin:password@IP:port/cam/realmonitor?channel=1&subtype=1
Progress: (open) Retrieving server options
0:00:20.582416774  8787   0x559694c2d0 WARN                 rtspsrc gstrtspsrc.c:5917:gst_rtsp_src_receive_response:<source> error: Could not receive message. (Timeout while waiting for server response)
0:00:20.583770671  8787   0x559694c2d0 WARN                 rtspsrc gstrtspsrc.c:7548:gst_rtspsrc_open:<source> can't get sdp
0:00:20.584635159  8787   0x559694c2d0 WARN                 rtspsrc gstrtspsrc.c:5628:gst_rtspsrc_loop:<source> we are not connected
ERROR: from element /GstPipeline:pipeline0/GstURIDecodeBin:uridecodebin0/GstRTSPSrc:source: Could not read from resource.
Additional debug info:
gstrtspsrc.c(5917): gst_rtsp_src_receive_response (): /GstPipeline:pipeline0/GstURIDecodeBin:uridecodebin0/GstRTSPSrc:source:
Could not receive message. (Timeout while waiting for server response)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...

and if I put this “sudo apt-get remove gstreamer1.0-plugins-ugly” first, I had this:

Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Progress: (open) Opening Stream
Progress: (connect) Connecting to rtsp://admin:password@IP:port/cam/realmonitor?channel=1&subtype=1
Progress: (open) Retrieving server options
Progress: (open) Retrieving media info
Progress: (request) SETUP stream 0
Progress: (open) Opened Stream
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Progress: (request) Sending PLAY request
0:00:00.432276016  8862   0x7f98010370 FIXME                default gstutils.c:3981:gst_pad_create_stream_id_internal:<fakesrc0:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id
Progress: (request) Sending PLAY request
Progress: (request) Sent PLAY request
Opening in BLOCKING MODE 
0:00:00.613299272  8862   0x7f7c0024f0 WARN                    v4l2 gstv4l2object.c:4476:gst_v4l2_object_probe_caps:<nvv4l2decoder0:src> Failed to probe pixel aspect ratio with VIDIOC_CROPCAP: Unknown error -1
0:00:00.613358649  8862   0x7f7c0024f0 WARN                    v4l2 gstv4l2object.c:2388:gst_v4l2_object_add_interlace_mode:0x7f680b1700 Failed to determine interlace mode
0:00:00.613408391  8862   0x7f7c0024f0 WARN                    v4l2 gstv4l2object.c:2388:gst_v4l2_object_add_interlace_mode:0x7f680b1700 Failed to determine interlace mode
0:00:00.613455112  8862   0x7f7c0024f0 WARN                    v4l2 gstv4l2object.c:2388:gst_v4l2_object_add_interlace_mode:0x7f680b1700 Failed to determine interlace mode
NvMMLiteOpen : Block : BlockType = 261 
NVMEDIA: Reading vendor.tegra.display-size : status: 6 
NvMMLiteBlockCreate : Block : BlockType = 261 
0:00:00.717654490  8862   0x7f7c0024f0 WARN                    v4l2 gstv4l2object.c:4476:gst_v4l2_object_probe_caps:<nvv4l2decoder0:src> Failed to probe pixel aspect ratio with VIDIOC_CROPCAP: Unknown error -1
0:00:00.717757932  8862   0x7f7c0024f0 WARN                    v4l2 gstv4l2object.c:2388:gst_v4l2_object_add_interlace_mode:0x7f680b1700 Failed to determine interlace mode
0:00:00.717844654  8862   0x7f7c0024f0 WARN                    v4l2 gstv4l2object.c:2388:gst_v4l2_object_add_interlace_mode:0x7f680b1700 Failed to determine interlace mode
0:00:00.717992942  8862   0x7f7c0024f0 WARN                    v4l2 gstv4l2object.c:2388:gst_v4l2_object_add_interlace_mode:0x7f680b1700 Failed to determine interlace mode
0:00:00.720290593  8862   0x55a2f5e1e0 FIXME               basesink gstbasesink.c:3145:gst_base_sink_default_event:<fakesink0> stream-start event without group-id. Consider implementing group-id handling in the upstream elements
0:00:00.721827273  8862   0x7f7c0024f0 WARN            v4l2videodec gstv4l2videodec.c:1755:gst_v4l2_video_dec_decide_allocation:<nvv4l2decoder0> Duration invalid, not setting latency
0:00:00.723752825  8862   0x7f7c0024f0 WARN          v4l2bufferpool gstv4l2bufferpool.c:1087:gst_v4l2_buffer_pool_start:<nvv4l2decoder0:pool:src> Uncertain or not enough buffers, enabling copy threshold
0:00:00.751198380  8862   0x7f680af280 WARN          v4l2bufferpool gstv4l2bufferpool.c:1536:gst_v4l2_buffer_pool_dqbuf:<nvv4l2decoder0:pool:src> Driver should never set v4l2_buffer.field to ANY

There is no update from you for a period, assuming this is not an issue anymore. Hence we are closing this topic. If need further support, please open a new one. Thanks

From your log, I think this problem is related to the camera vendor.

Rtspsrc of gstreamer supports RFC 2326 only, maybe the camera vendor add some private extensions. you can contact the camera vendor.

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