Jetson Orin Nano Devkit fails to output file / rtsp

Please provide complete information as applicable to your setup.

• Hardware Platform (Jetson / GPU) Jetson Orin Nano Dev Kit 8GB
• DeepStream Version 6.3
• JetPack Version (valid for Jetson only) 5.1.2
• TensorRT Version
• NVIDIA GPU Driver Version (valid for GPU only)
• Issue Type( questions, new requirements, bugs) bugs
• How to reproduce the issue ? (This is for bugs. Including which sample app is using, the configuration files content, the command line used and other details for reproducing)

I got a Jetson Orin Nano Devkit on Dec 1st. I install DeepStream SDK and run the deepstream-app with

samples/configs/deepstream-app/source30_1080p_dec_infer-resnet_tiled_display_int8.txt

successfully, EGLSink. The EGLSink and fakesink are working well.

Therefore, I start testing the RTSP output. The system crashed and reboot. I found that it was related to HWencoder, so I changed to SW. The FPS shows something and then turn to 0. FileSink also the same.

[sink1]
enable=1
type=3
#1=mp4 2=mkv
container=2
#1=h264 2=h265
codec=2
# encoder type 0=Hardware 1=Software
enc-type=1
sync=0
# iframeinterval=10
bitrate=2000000
# H264 Profile - 0=Baseline 2=Main 4=High
# H265 Profile - 0=Main 1=Main10
# set profile only for hw encoder, sw encoder selects profile based on sw-preset
profile=0
output-file=out.mkv
source-id=0

[sink2]
enable=0
# Type - 1=FakeSink 2=EglSink 3=File 4=RTSPStreaming
type=4
# 1=h264 2=h265
codec=1
# encoder type 0=Hardware 1=Software
enc-type=1
# sw-preset=1 #for SW enc=(0)None (1)ultrafast (2)superfast (3)veryfast (4)faster
# (5)fast (6)medium (7)slow (8)slower (9)veryslow (10)placebo
sync=0
bitrate=4000000
# H264 Profile - 0=Baseline 2=Main 4=High
# H265 Profile - 0=Main 1=Main10
# set profile only for hw encoder, sw encoder selects profile based on sw-preset
profile=0
# set below properties in case of RTSPStreaming
rtsp-port=8554
udp-port=5400

**PERF: FPS 0 (Avg)
**PERF: 102.40 (49.54)
**PERF: 0.00 (9.00)
**PERF: 0.00 (4.95)
**PERF: 0.00 (3.41)
**PERF: 0.00 (2.60)

I think x264enc is working as well, testing the following code:

gst-launch-1.0 -e videotestsrc !    x264enc !    mpegtsmux !    filesink location=test.ts

• Requirement details( This is for new requirement. Including the module name-for which plugin or for which sample application, the function description)

I also try docker,

docker run -it --rm --runtime nvidia --net=host --privileged -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY -w /opt/nvidia/deepstream/deepstream-6.3 nvcr.io/nvidia/deepstream:6.3-triton-multiarch 

same idea, EGLSink and fake sink worked perfect, filesink and rtspsink failed.

Please save time and don’t reply something what is your version, can you provide GST_DEBUG=3, etc. I don’t even start to code yet, everything from SDK / docker itself. I can see a lot of questions are closed due to 14 days, without even a useful advice.

You need to set the enable value to 1

enable=1

You can perform a simple test using the following command

gst-launch-1.0 uridecodebin uri="valid uri" ! nvrtspoutsinkbin  enc-type=1

Hi Junsheng,

it is set to 1 when testing. Since there isn’t any HW encoder, I have to enable only one of them and test. Unfortunately filesink and rtspsink are not working. I also tried to disable PGIE and test, no luck.

source30_1080p_dec_infer-resnet_tiled_display_int8.txt means that the batch-size is 30
The normal output log should be as follows.

**PERF:  13.92 (13.81)	13.92 (13.81)	12.96 (12.86)	13.52 (13.42)	11.66 (11.59)	14.48 (14.36)	13.92 (13.81)	11.63 (11.57)	13.92 (13.81)	12.96 (12.86)	11.66 (11.59)	13.52 (13.42)	13.52 (13.42)	11.63 (11.57)	11.66 (11.59)	14.81 (14.69)	13.92 (13.81)	11.66 (11.59)	13.52 (13.42)	13.22 (13.12)	11.63 (11.57)	12.96 (12.86)	14.48 (14.36)	13.52 (13.42)	13.81 (13.71)	11.66 (11.59)	12.94 (12.68)	13.22 (13.12)	13.92 (13.81)	13.92 (13.81)	
**PERF:  13.81 (13.80)	13.81 (13.80)	13.81 (13.41)	13.81 (13.64)	13.67 (12.68)	13.81 (14.01)	13.81 (13.80)	13.81 (12.76)	13.83 (13.68)	13.81 (13.41)	13.67 (12.68)	13.67 (13.52)	13.67 (13.52)	13.81 (12.76)	13.67 (12.68)	13.67 (14.01)	13.83 (13.68)	13.67 (12.68)	13.67 (13.52)	13.67 (13.41)	13.81 (12.76)	13.81 (13.41)	13.87 (14.01)	13.81 (13.64)	13.61 (13.64)	13.61 (12.68)	13.74 (13.32)	13.83 (13.41)	13.67 (13.68)	13.67 (13.68)

So why is there only one output? If there is no log, I don’t know how to analyze your problem.

For other tips, can you set the performance to the highest level?Orin Nano should be 10w

Hi Junsheng,

sorry I pasted the result for deepstream_yolov3_tiny.txt. But the part I pasted is definitely correct.

I use Desktop instead of Terminal and Orin Nano is set to 10W, also jetson_clock.

However, even without the highest level, the pipeline should never bring a 0 FPS. Normally it should have some issues like disconnection, waiting too long, etc.

Myself have 1 xavier devkit + 3 jetson nano so won’t make silly mistakes. This is my first time to use 6.3 (we have developed a long time on 6.2, SW encoder is also used with Xavier (I know slow, but won’t hang).

I will test your gst-launch-1.0 tonight and further update here.

Thank you

gst-launch-1.0 uridecodebin uri="rtsp://xxx:xxx@a.b.c.d" ! nvrtspoutsinkbin enc-type=1
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Progress: (open) Opening Stream
Progress: (connect) Connecting to rtsp://xxx:xxx@a.b.c.d
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 = 279
NvMMLiteBlockCreate : Block : BlockType = 279
(gst-launch-1.0:4842): GLib-GObject-WARNING **: 23:05:54.796: value "0" of type 'guint' is invalid or out of range for property 'bitrate' of type 'guint'
*** dsnvrtspoutbin0: Launched RTSP Streaming at rtsp://localhost:8554/ds-test ***
Redistribute latency...
(gst-launch-1.0:4842): GLib-GObject-WARNING **: 23:06:23.055: g_object_get_is_valid_property: object class 'GstUDPSrc' has no property named 'pt'
(gst-launch-1.0:4842): GLib-GObject-WARNING **: 23:06:43.058: g_object_get_is_valid_property: object class 'GstUDPSrc' has no property named 'pt'
^Chandling interrupt.
Interrupt: Stopping pipeline ...
Execution ended after 0:01:01.025154467
Setting pipeline to NULL ...
^C

There is no rtsp, testing with VLC.

Did you test on ubuntu? There are some problems playing rtsp using vlc installed with apt on ubuntu, or use sudo snap install vlc

https://forum.videolan.org/viewtopic.php?t=161400

Please use ffplay/gst-launch-1.0 playbin uri=

Hi Junsheng,

I tested on Macbook M1 Max 64GB, VLC has been running with RTSP many times.

On local, I also use opencv to test.

cap = cv2.VideoCapture("rtsp://localhost:8554/ds-test")
[rtsp @ 0x2efa3380] method DESCRIBE failed: 503 Service Unavailable
[ WARN:0@55.193] global /home/jetson/opencv-4.5.5/modules/videoio/src/cap_gstreamer.cpp (2401) handleMessage OpenCV | GStreamer warning: Embedded video playback halted; module source reported: Unhandled error
[ WARN:0@55.194] global /home/jetson/opencv-4.5.5/modules/videoio/src/cap_gstreamer.cpp (1356) open OpenCV | GStreamer warning: unable to start pipeline
[ WARN:0@55.194] global /home/jetson/opencv-4.5.5/modules/videoio/src/cap_gstreamer.cpp (862) isPipelinePlaying OpenCV | GStreamer warning: GStreamer: pipeline have not been created
[ERROR:0@55.198] global /home/jetson/opencv-4.5.5/modules/videoio/src/cap.cpp (164) open VIDEOIO(CV_IMAGES): raised OpenCV exception:
OpenCV(4.5.5) /home/jetson/opencv-4.5.5/modules/videoio/src/cap_images.cpp:253: error: (-5:Bad argument) CAP_IMAGES: can't find starting number (in the name of file): rtsp://localhost:8554/ds-test in function 'icvExtractPattern'

On htop I can see the memory increase fast, after 2 mins already 24.1% / 6.33G, CPU 280%.

I also tested the

gst-launch-1.0 uridecodebin uri="valid uri" ! nvrtspoutsinkbin enc-type=1

on my Jetson Xavier AGX devkit, deepstream 6.2 and use this Nano Devkit opencv to get the opencv frame. Here is the result:

>>> import cv2
>>> cap = cv2.VideoCapture("rtsp://192.168.1.43:8554/ds-test")
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] no frame!
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] no frame!
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] no frame!
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] no frame!
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] no frame!
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] no frame!
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] no frame!
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] no frame!
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] no frame!
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] no frame!
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] no frame!
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] no frame!
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] no frame!
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] no frame!
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] no frame!
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] no frame!
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] no frame!
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] no frame!
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] no frame!
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] no frame!
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] non-existing PPS 0 referenced
[h264 @ 0x11eac610] decode_slice_header error
[h264 @ 0x11eac610] no frame!
>>> ret, img = cap.read()
>>> img.shape
(1520, 2688, 3)

This ensures the opencv installation is correct (as well as your command). Only the Jetson Orin Nano doesn’t work.

I tried it on orin nano and it works fine, not sure what’s wrong with your device.

I guess there is a problem with the network.

You can flash orin nano to DS-6.2 or upgrade other devices to DS-6.3.

The command below is just coded and almost impossible to fail,you can try running it

gst-launch-1.0 -e uridecodebin uri="valid uri" ! nvvideoencfilesinkbin enc-type=1  output-file=out.mp4

hi Junsheng,

The problem is solved, but cannot tell how. nobody changes things but my files are roll back to sdk time. Now the default config file can run with rtsp output. I am not sure if the issue is related to rtph264pay or x264enc…

Thanks for sharing anyway…

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