IP Camera connection

I am having problems connecting my IP camera to my Jetson Nano, I have tried different terminal commands with no avail, but the same error keeps appearing in most cases:

gst-launch-1.0 rtspsrc location=rtsp://192.xxx.xxx.xxx:554/media/video1 ! rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! gtksink
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Progress: (open) Opening Stream
Progress: (connect) Connecting to rtsp://192.xxx.xxx.xxx:554/media/video1
Progress: (open) Retrieving server options
Progress: (open) Retrieving media info
ERROR: from element /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0: Could not get/set settings from/on resource.
Additional debug info:
gstrtspsrc.c(7507): gst_rtspsrc_retrieve_sdp (): /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0:
Server can not provide an SDP.
ERROR: pipeline doesn't want to preroll.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...

The error I am referring to it:

Server can not provide an SDP.

Any help would be appreciated

The other variant of command I tried was the following:

gst-launch-1.0 rtspsrc location=rtsp://192.xxx.xxx.xxx/user=user&password=password&channel=1&stream=0./ ! decodebin ! gtksink
[1] 12716
[2] 12717
[3] 12718
bash: !: command not found
[2]-  Done                    password=password
[3]+  Done                    channel=1
user@user-desktop:~$ Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Progress: (open) Opening Stream
Progress: (connect) Connecting to rtsp://192.xxx.xxx.xxx/user=user
Progress: (open) Retrieving server options
Progress: (open) Retrieving media info
ERROR: from element /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0: Could not get/set settings from/on resource.
Additional debug info:
gstrtspsrc.c(7507): gst_rtspsrc_retrieve_sdp (): /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0:
Server can not provide an SDP.
ERROR: pipeline doesn't want to preroll.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
^C
[1]+  Exit 1                  gst-launch-1.0 rtspsrc location=rtsp://192.xxx.xxx.xxx/user=user

But this variant keeps the command suspended

Hi,
Looks like the URI is invalid. Could you check with the camera vendor to get correct URI?
If the URI is correct, you can simply launch it in uridecodebin:

$ gst-launch-1.0 uridecodebin uri=rtsp://_IP_ADDRESS_ ! nvoverlaysink

Thank you for your feedback!
This just gave a new error:

gst-launch-1.0 uridecodebin uri=rtsp://192.xxx.xxx.xxx:544/user=admin_password=password:real_stream ! nvoverlaysink
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Progress: (open) Opening Stream
Progress: (connect) Connecting to rtsp://192.168.1.11:544/user=admin_password:real_stream
ERROR: from element /GstPipeline:pipeline0/GstURIDecodeBin:uridecodebin0/GstRTSPSrc:source: Could not open resource for reading and writing.
Additional debug info:
gstrtspsrc.c(7469): gst_rtspsrc_retrieve_sdp (): /GstPipeline:pipeline0/GstURIDecodeBin:uridecodebin0/GstRTSPSrc:source:
Failed to connect. (Generic error)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...

So I found an app which displays the right URI this time it shows a black screen quickly and then closes it:

gst-launch-1.0 rtspsrc location=rtsp://192.xxx.xxx.xxx:544/user=admin_password=xxxxxxxx_channel=1_stream=0.sdp?real_stream ! rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! gtksink
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Progress: (open) Opening Stream
Progress: (connect) Connecting to rtsp://192.xxx.xxx.xxx:544/user=admin_password=xxxxxxxxchannel=1_stream=0.sdp?real_stream
ERROR: from element /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0: Could not open resource for reading and writing.
Additional debug info:
gstrtspsrc.c(7469): gst_rtspsrc_retrieve_sdp (): /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0:
Failed to connect. (Generic error)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...

Hi,
You may need to figure out a valid URI first. Are you able to get help from the IP camera vendor? Or you may share the brand and model ID here and other users might have experience of using it.

I used the software ONVIF found on source forge which displays the correct URI, as it actually showed a black screen for a second, so I am pretty sure the URI is fine. But the camera is XYTRON with the designation: XY-IP CAM36BF HK5.0MP POE

Hi .
Suggest you contact camera vendor to have it work with software decoder avdec_h264. Once software decoder works, nvv4l2decoder shall work also.

Please refer to my blog post: https://jkjung-avt.github.io/tx2-camera-with-python/

You probably need to install the extra gstreamer libraries (for the ‘h264parse’ element) first.

$ sudo apt-get install gstreamer1.0-plugins-bad-faad \
                       gstreamer1.0-plugins-bad-videoparsers

In addition, I suggest you to use ‘omxh264dec’ (using the built-in hardware H.264 decoder) instead of ‘avdec_h264’ on Jetson Nano.

Thank you for all your help, I found that the following works fine:

gst-launch-1.0 rtspsrc location=rtsp://192.xxx.xxx.xxx:554/user=user_password=password_channel=1_stream=0.sdp?real_stream latency=0 ! decodebin ! autovideosink