After debugging I realized that the main cause was decodebin.
To demonstrate that I made a command line example using gst-launch-1.0 and export GST_DEBUG=“*:6”. Use decode bin: gst-launch-1.0 -v rtspsrc location=rtsp://localhost:8554/videos/KG20102023_2.mkv ! decodebin ! nveglglessink > decodebin.txt
File log decodebin.txt: decocdebin.txt (164.2 KB) decodebin-gst.txt (54.2 MB)
As a result, using rtph265depay, h265parse, nvv4l2decoder can explicitly decode the rtsp stream.
Please explain to me why decodebin cannot decode this rtsp stream, I only get decode errors with decode bin on some specific streams not all. Or is there a way to replace decodebin in deepstream-app with another decoder?
OK. You can use the rtsp source pipeline temporarily.
And could you give us the source video and describe the way you set up the rtsp server step by step?
Could you refer to this Build rtsp server to build a rtsp server and try that with our latest version: 6.4? I’ve tested it on my board and it works fine.
I tried your rtsp server in the comment above and the result is that decodebin can decode. But I still want to know why live555 cannot use decodebin to decode even though the stream can still be viewed from VLC when the rtsp server is live555.
Our hardware decoder doesn’t do much compatibility. It is possible that the rtsp stream generated by live555 does not fit the caps of the plugin when using decoderbin. When you use VLC, it uses a software decoder with better compatibility.