DeepStream 6.3 hangs on when running on Jetson Orin Nano

• Hardware Platform (Jetson / GPU) : Jetson Orin Nano (8GB) dev kit
• DeepStream Version 6.3
• JetPack Version (valid for Jetson only) 5.1.2
• TensorRT Version : 8.5.2
• NVIDIA GPU Driver Version (valid for GPU only)
• Issue Type( questions, new requirements, bugs) Bug
• How to reproduce the issue? Following the command lines below.

docker pull nvcr.io/nvidia/deepstream-l4t:6.3-samples

docker run -it \
   --runtime nvidia \
   --gpus all \
   docker pull nvcr.io/nvidia/deepstream-l4t:6.3-samples \
   bash

bash /opt/nvidia/deepstream/deepstream/user_additional_install.sh

gst-launch-1.0 rtspsrc location=rtsp://xxx \
    ! decodebin \
    ! nvvideoconvert \
    ! "video/x-raw, format=I420" \
    ! queue \
    ! x264enc \
    ! qtmux \
    ! filesink location=record_video.mp4

•ERROR: After a while (1 minute), I stop the Gstreamer by Ctrl+C and check the output video file, but its size is only 0 kb.

  • This is my log log.txt (1.6 KB)

  • It only runs and saves output video after waiting about 2 minutes. If I stop and run again, this error does not happen.

  • I also tried in different versions such as 6.2, This error did not appear.

How to fix it? Thank you.

I’ve tried this command line on ds-6.2 and ds-6.3, both them fine.

I have two questions

  1. Are you reproducing this problem? Can you give a detailed log after GST_DEBUG=3 gst-launch-1.0 xxxx
  2. I guess this problem may be related to rtspsrc. If you use playbin to play, is there a black screen for a long time?

@ junshengy
Thank you for your reply.

  1. This is my log file with GST_DEBUG=3 mode
    log.txt (7.9 KB)
  2. And how to use playbin? Is it gst-launch-1.0 -v playbin uri=rtsp://xxx uridecodebin0::source::latency=300. If This command is correct. The results is the same.

Just like

gst-launch-1.0 playbin uri="your_rtsp_url"

if you can’t play normally, I think the rtsp source have some problem.

Did you test on the same device and network environment?

I have ran with playbin and this is log.txt file for it. And the file record_video.mp4 is still 0 bytes.
log.txt (887 Bytes)

yes, I tested on same device. I ran multiple times and the results are the same.

Could you give me the information of your device which you ran.

1.I only have one Xavier and it works fine. this is log.
1.log (3.8 KB)

2.Can you try the following command ? Use rtsp over tcp.

gst-launch-1.0 rtspsrc protocols=4 location=rtsp://xxxx \
    ! decodebin \
    ! nvvideoconvert \
    ! "video/x-raw, format=I420" \
    ! queue \
    ! x264enc \
    ! qtmux \
    ! filesink location=record_video.mp4

3.Can you confirm the packet loss?

  1. I followed this command, but the result was the same.
gst-launch-1.0 rtspsrc protocols=4 location=rtsp://xxxx \
    ! decodebin \
    ! nvvideoconvert \
    ! "video/x-raw, format=I420" \
    ! queue \
    ! x264enc \
    ! qtmux \
    ! filesink location=record_video.mp4
  1. I tried on 2 Jetson Orin Nano, And also pulled nvcr.io/nvidia/deepstream-l4t:6.3-samples at different times and they produced the same results. So I think packets won’t be lost.

  2. Do you think it may be caused by Orin Nano? Because I see just only deepstream 6.3 support for Orin Nano.

So strange, but you can confirm with wireshark or tcpdump ?

I think this has nothing to do with hardware,Can you try the following command?
I guess it’s just a network issue.
The following command line only saves video data. Nothing to do with codec

gst-launch-1.0 -e rtspsrc location=rtsp://xxxx ! application/x-rtp, media=video, encoding-name=H264  ! queue ! rtph264depay ! h264parse ! matroskamux ! filesink location=received_h264.mkv
1 Like

This command is perfect.!!!
What is about the problem? Would you let me know which is causing the problem?

Some useful command differences on Orin nano

Just save h264 to mp4(no decoding and encoding)

gst-launch-1.0 -e rtspsrc location=rtsp://xxx  ! application/x-rtp, media=video, encoding-name=H264  ! queue ! rtph264depay ! h264parse ! qtmux ! filesink location=received_h264.mp4  

Use x264 encoding and save mp4 files(no decoding)

gst-launch-1.0 -e rtspsrc location=rtsp://xxx ! application/x-rtp, media=video, encoding-name=H264  ! queue ! rtph264depay ! decodebin ! nvvideoconvert ! "video/x-raw, format=I420" ! queue ! x264enc ! qtmux ! filesink location=record_video.mp4

Use nvv4l2decoder to decode and encode with x264enc, and save the mp4 file

gst-launch-1.0 -e uridecodebin uri=rtsp://xxx ! nvvideoconvert ! "video/x-raw, format=I420" ! queue ! x264enc ! qtmux ! filesink location=record_video.mp4

I think it may be caused by some differences in the caps of the gstreamer plugin, which requires explicit caps.

1 Like

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

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