DeepStream pulling a virtual RTSP stream abnormally

rtsp_server_v1.zip (3.8 KB)

Short-focus cameras can pull video streams by DeepStream , but when pulling multiple streams, some of them fail to play.
All fisheye cameras fail to pull streams.

Please provide complete information as applicable to your setup.

• Hardware Platform (Jetson / GPU)

• DeepStream Version

• JetPack Version (valid for Jetson only)

• TensorRT Version

• NVIDIA GPU Driver Version (valid for GPU only)

• Issue Type( questions, new requirements, 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)

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

Please set the RTSP client log by “export GST_DEBUG=rtspsrc:7” before you run the DeepStream app to collect the RTSP client related log.

As you have shown in the conf call, the “frame drop” log with nv3dsink is caused by the late arrived frames. Please check the GPU and CPU loading with such case.

I have added the configuration ‘export GST_DEBUG=rtspsrc:7’ as per your suggestion. Below is the generated log. Please help to troubleshoot the issue, thank you.
yuyan_log.zip (17.8 KB)

  1. about “pulling multiple streams, some of them fail to play”, are you testing multple RTSP sources with one DeepStream app? can each RTSP source be played well by the following cmd? you can see the output fps.
gst-launch-1.0  -v  rtspsrc location="rtsp://admin:wanji123@10.203.1.155:554/cam/realmonitor?channel=1&subtype=0" protocols=tcp ! rtph264depay ! h264parse ! avdec_h264 ! fpsdisplaysink video-sink=fakesink  text-overlay=false sync=false
  1. the log yuyan_log1.txt is too short and has no error. what is wrong with the source in this log? did it fail to play? if so, could you share 30 seconds of log after running the following cmd? Thanks! you can use zip to compress the 1.log.
export GST_DEBUG=6  && gst-launch-1.0  -v  rtspsrc location="rtsp://admin:wanji123@10.203.1.155:554/cam/realmonitor?channel=1&subtype=0" protocols=tcp ! rtph264depay ! h264parse ! nvv4l2decoder ! fpsdisplaysink video-sink=fakesink  text-overlay=false sync=false  >1.log 2>1.log

The log looks fine. Which camera failed when you catch the log?

Hello, I used the second command you provided to separately log the RTSP streaming status of two fisheye cameras. After roughly one minute of logging, we couldn’t identify any obvious issues from the logs. However, when running our program that uses DeepStream’s pipeline, these cameras fail to display video content.
eyefish_camera_log179.zip (34.0 MB)
eyefish_camera_log188.zip (34.5 MB)

eyefish_camera_log179.zip is the same with eyefish_camera_log188.zip. From the log, the average fps of the camera is 26 during one minute.

current: 23.87, average: 26.44
  1. about “these cameras fail to display video content”, how did you test wth DeepStream? could you share the complete media pipeline of your program? Thanks!
  2. did the camera fail to dsplay at the beginning , or after a while? could you share the running log of your program? which uses DeepStream’s pipeline.

output.zip (10.5 MB)
I used our software to receive fisheye camera data. Here’s the log printed by the terminal. It appears that the streaming data couldn’t be parsed, and as a result, the data was discarded. Can you identify what specifically is missing that’s causing the data to be discarded? We can make adjustments from the data source side if needed. Additionally, we captured the camera’s data using Wireshark, and I’ve included the screenshot in the attachment. Thank you.

I used our software to receive fisheye camera data. Here’s the log printed by the terminal. It appears that the streaming data couldn’t be parsed, and as a result, the data was discarded. Can you identify what specifically is missing that’s causing the data to be discarded? We can make adjustments from the data source side if needed. Additionally, we captured the camera’s data using Wireshark, and I’ve included the screenshot in the attachment. Thank you.
output.zip (11.1 MB)

  1. how did you know the streaming data couldn’t be parsed and the data was discarded? do you know which stream can’t be played? Since the stream can be played well in the gst-launch cmd above, could you comare the usage in gst-launch cmd and your code to check why it failed to play in your code?
  2. from the log output.log, seems the program is testing multiple RTSP streams. if only testing each RTSP stream in your code, can the stream be played well?
  3. could you share the complete media pipeline in your code? wondering what DeepStream plugins are used.

read_rtsp_cv.txt (1.8 KB)
deepstream_config.txt (703 Bytes)
Hello, we are using OpenCV to pull RTSP streams and can successfully receive and display all 12 channels of video data that we are pushing. Among them, pulling streams from the 8 short-focus cameras is quite fast, but for the 4 fisheye cameras, they only display normally after multiple reconnection attempts. The streaming script we’re using is attached as “read_rtsp_cv.txt”. I understand that with OpenCV, when a read failure is detected, we release the current VideoCapture object and create a new one to attempt a reconnection. However, when using DeepStream, we’ve noticed that once a connection is established, it seems there’s no further reconnection attempt. So, we’d like to inquire if it’s possible that after the connection is established, continuous parsing failures lead to the data from that camera channel no longer being utilized. The configuration file for our DeepStream pipeline is attached as “deepstream_config.txt”. We hope you could help us check if there are any issues with our usage approach. Thank you!

When I use the following command for streaming and displaying the video: “GST_DEBUG=3 gst-launch-1.0 -v rtspsrc location=“rtsp://admin:wanji123@10.203.1.143:554/cam/realmonitor?channel=1&subtype=0” protocols=tcp latency=0 drop-on-latency=true ! rtph264depay ! h264parse ! nvv4l2decoder enable-error-check=0 ! “video/x-raw(memory:NVMM), format=NV12” ! nvvidconv ! “video/x-raw(memory:NVMM), format=RGBA” ! nveglglessink sync=true“,

I get "0:00:08.580414079 2758 0xffff8c02c000 WARN codecparsers_h264 gsth264parser.c:2282:gst_h264_parser_parse_slice_hdr: error parsing “Slice header”
0:00:08.580781119 2758 0xffff8c02c000 WARN codecparsers_h264 gsth264parser.c:2140:gst_h264_parser_parse_slice_hdr: failed to read UE
0:00:08.580812287 2758 0xffff8c02c000 WARN codecparsers_h264 gsth264parser.c:2282:gst_h264_parser_parse_slice_hdr: error parsing “Slice header”
0:00:08.580982910 2758 0xffff8c02c000 WARN codecparsers_h264 gsth264parser.c:2140:gst_h264_parser_parse_slice_hdr: failed to read UE
0:00:08.581008254 2758 0xffff8c02c000 WARN codecparsers_h264 gsth264parser.c:2282:gst_h264_parser_parse_slice_hdr: error parsing “Slice header”
0:00:08.581142270 2758 0xffff8c02c000 WARN codecparsers_h264 gsth264parser.c:2140:gst_h264_parser_parse_slice_hdr: failed to read UE
0:00:08.581165246 2758 0xffff8c02c000 WARN codecparsers_h264 gsth264parser.c:2282:gst_h264_parser_parse_slice_hdr: error parsing “Slice header”
0:00:08.671538285 2758 0xffff8c02c000 WARN codecparsers_h264 gsth264parser.c:2140:gst_h264_parser_parse_slice_hdr: failed to read UE
0:00:08.671594733 2758 0xffff8c02c000 WARN codecparsers_h264 gsth264parser.c:2282:gst_h264_parser_parse_slice_hdr: error parsing “Slice header”
0:00:08.672211309 2758 0xffff8c02c000 WARN codecparsers_h264 gsth264parser.c:2140:gst_h264_parser_parse_slice_hdr: failed to read UE
0:00:08.672243053 2758 0xffff8c02c000 WARN codecparsers_h264 gsth264parser.c:2282:gst_h264_parser_parse_slice_hdr: error parsing “Slice header”
0:00:08.804407670 2758 0xffff8c02c000 WARN codecparsers_h264 gsth264parser.c:2140:gst_h264_parser_parse_slice_hdr: failed to read UE
0:00:08.804462774 2758 0xffff8c02c000 WARN codecparsers_h264 gsth264parser.c:2282:gst_h264_parser_parse_slice_hdr: error parsing “Slice header”
0:00:08.805036054 2758 0xffff8c02c000 WARN codecparsers_h264 gsth264parser.c:2140:gst_h264_parser_parse_slice_hdr: failed to read UE
0:00:08.805062294 2758 0xffff8c02c000 WARN codecparsers_h264 gsth264parser.c:2282:gst_h264_parser_parse_slice_hdr: error parsing “Slice header”
0:00:08.805854005 2758 0xffff8c02c000 WARN codecparsers_h264 gsth264parser.c:2140:gst_h264_parser_parse_slice_hdr: failed to read UE
0:00:08.805875765 2758 0xffff8c02c000 WARN codecparsers_h264 gsth264parser.c:2282:gst_h264_parser_parse_slice_hdr: error parsing “Slice header”
0:00:08.887732524 2758 0xffff8c02c000 WARN codecparsers_h264 gsth264parser.c:2140:gst_h264_parser_parse_slice_hdr: failed to read UE
0:00:08.887785164 2758 0xffff8c02c000 WARN codecparsers_h264 gsth264parser.c:2282:gst_h264_parser_parse_slice_hdr: error parsing “Slice header”
"
. Could there be an issue with how I’m using this command? Thank you.

from the log, h264parse failed to parse h264 stream. Since rtspsrc, rtph264depay and h264parse are Gstreamer opensource plugin, this parsing issue would be outside of DeepStream. Can this rtsp source be played well with thirdpart tool like VLC/ffplay? if yes, please check if the codec is H264.

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.