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.
./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"
gst-launch-1.0 rtspsrc location=rtsp://127.0.0.1:8554/test ! rtph265depay ! h265parse ! nvv4l2decoder ! nvvidconv ! nvoverlaysink
Error from playback
Setting pipeline to PAUSED ... Opening in BLOCKING MODE Pipeline is live and does not need PREROLL ... Progress: (open) Opening Stream Progress: (connect) Connecting to rtsp://127.0.0.1:8554/test 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.