• 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
Are you reproducing this problem? Can you give a detailed log after GST_DEBUG=3 gst-launch-1.0 xxxx
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.
This is my log file with GST_DEBUG=3 mode
log.txt (7.9 KB)
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?
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
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.
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
system
Closed
December 5, 2023, 10:31am
14
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.