Stream access in deepstream/gstreamer vs ffmpeg?

Hardware: rtx 3070,
Deepstream Version: 5.0.1
Tensorrt Version: 7.2.2

out.txt (45.7 KB)

Sample output of gst-launch with an rtsp source with debug = 5.

For some reason stream is not accessible unless the machine is rebooted. The gstreamer cache in .cache folder also has been removed but it never seems to play stream when the issue happens.
But at the same time ffmpeg is able to access the stream.

From the logs it doesn’t seem like there are multiple stream issue in the rtsp camera.

Are there any pointers/leads as to how to fix without reboot?

Thanks.

From the log, before you terminate the session, the rtspsrc keep receiving the segment duration information from server. So there is no problem with the session.

There is no clue of the root cause in the log.

@Fiona.Chen can I share any other log that could help debug the issue. I had a machine with two gpu. This issue came up on first gpu and we were able to start without reboot on the second gpu. No issues on accessing the stream. But after more than 12 hrs we’re noticing the same on second gpu too

If you found any clue related to Nvidia component, you can upload here.

rtspsrc is 3rd party open source project. You can debug by yourself.

@Fiona.Chen,

I was finally able to stream the rtsp feed using gstreamer with the following pipeline,

gst-launch-1.0 rtspsrc location=rtsp://admin:abc12345@172.25.208.18/live latency=100 ! queue ! rtph264depay ! h264parse ! avdec_h264 ! nvvideoconvert ! nveglglessink sync=false

On inspecting the deepstream pipeline the only plugin that varies is the avdec_h264. This doesn’t seem like an issue with rtspsrc plugin.

It has to do with the default deepstream pipeline using decodebin as the decoder vs avdec_h264. When I try to replace the decoder it fails miserably with the following log,


 GLib-GObject-WARNING **: 01:47:26.377: ../../../gobject/gsignal.c:2618: signal 'child-added' is invalid for instance '0x564a64ef8e50' of type 'avdec_h264'

Any idea what could be done here?

Can the following pipeline work on your platform?

gst-launch-1.0 rtspsrc location=rtsp://admin:abc12345@172.25.208.18/live latency=100 ! queue ! rtph264depay ! h264parse ! nvv4l2decoder ! nvvideoconvert ! nveglglessink sync=false

@Fiona.Chen, nope the pipeline is currently not able to load the stream up. Most likely it would work on reboot. Because even deepstream would work on reboot of the machine.

How do you replace the decoder? Seems it is the implementation problem. You need to check your code.

@Fiona.Chen,
It’s not exactly an implementation problem, I did get back on nvv4l2decoder, this is a plugin which DS uses by nvidia to decode frames on gpu, if we end up using any other decoder we’d end up bottlenecking deepstream. Is there anything that needs to be looked at to check the supported formats for nvv4l2decoder to behave normally.

Can you updated to latest DS 5.1 version? There are lots of bug fixes in latest version. And we do not support old deepstream anymore.

Can you dump the stream for us? I have tried with the local mjpeg file, nvv4l2decoder works well.

Yup it’s on the latest version of deepstream. 5.1.0. Sorry my bad I think I made a typo initially when writing up the post.
It is on the latest version. What do you mean by dumping the stream? Record as mp4.I still think it has to do with rtsp stream and nvv4l2decoder. The dumped stream would be in mpeg format, I’m not sure how helpful it would be

We want to know why nvv4l2decoder can not decode your stream. Can you can share your rtsp source in some way for us to reproduce your failure?

@Fiona.Chen, the rtsp stream is from a remote site. I could probably share the machine credentials but atleast not on the forum. I’m not sure how else to share an rtsp stream. I would be open for suggestions. I also have logs from the system with gst_debug = 5 with nv4l2decoder when we can’t access the stream recorded the file for 2 mins, the log file size is around 300 mb. I’ll try linking up a public link so that it’s accessible.

Edit: Here are the log files,

https://drive.google.com/drive/folders/1J7wEfLJq_2aSTyNM7RSkWEG-T3dmrXZ-?usp=sharing

v4l2.txt is the log file with the gstreamer pipeline,

gst-launch-1.0 rtspsrc location=rtsp://admin:abc12345@172.25.208.18/live latency=100 ! queue ! rtph264depay ! h264parse ! nvv4l2decoder ! nvvideoconvert ! nveglglessink sync=false

avdec.txt is the log file with the gstreamer pipeline,

gst-launch-1.0 rtspsrc location=rtsp://admin:abc12345@172.25.208.18/live latency=100 ! queue ! rtph264depay ! h264parse ! avdec_h264 ! nvvideoconvert ! nveglglessink sync=false

Do let me know if anything else would help. Thanks

There is no update from you for a period, assuming this is not an issue any more.
Hence we are closing this topic. If need further support, please open a new one.
Thanks

You’d better dump the stream instead of dump log.

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