Failing to play RTSP stream from my CSI camera with GStreamer

I’m trying to use my Jetson Nano as an RSTP server using GStreamer and pretty much the first thing I’ve tried is running gst-rtsp-server to stream video from the CSI camera attached to my Jetson and play it using the gst-launch-1.0 app. Both of them run on the same Jetson Nano. Playback works fine, if I use videotestsrc as the streaming source, but not when I use my camera.

This works

./test-launch "videotestsrc is-live=1 ! nvvidconv ! nvv4l2h265enc ! h265parse ! rtph265pay name=pay0 pt=96"

This does not work

./test-launch "nvarguscamerasrc ! video/xraw(memory:NVMM),width=1920,height=1080,framerate=30/1,format=NV12 ! nvvidconv ! nvv4l2h265enc ! h265parse ! rtph265pay name=pay0 pt=96"

Playback command

gst-launch-1.0 rtspsrc location=rtsp:// ! rtph265depay ! h265parse ! nvv4l2decoder ! nvvidconv ! nvoverlaysink

Error from playback

Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Progress: (open) Opening Stream
Progress: (connect) Connecting to rtsp://
Progress: (open) Retrieving server options
Progress: (open) Retrieving media info
ERROR: from element /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0: Unhandled error
Additional debug info:
gstrtspsrc.c(6161): gst_rtspsrc_send (): /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0:
Service Unavailable (503)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...

I’ve tried using v4l2src instead of nvarguscamerasrc in the server pipeline and uridecodebin instead of rtspsrc in the playback pipeline, but I get the same 503 error with those too.

GStreamer Core Library version is 1.14.5. The camera is WaveShare IMX219-160.

Might be a typo here… Is it better with:

1 Like

Thank you! I feel like an idiot, but at least playback is now working.

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