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:
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
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.