I am trying to decode a 50Mbit RTSP stream with as low latency as possible, however I am getting huge decoding errors and what seems to be half of the actual frame rate, though this is difficult to discern due to the deco.
I assume that being directly connected via ethernet and streaming at 50Mbit should not be an issue. And that the TX1 should be able to decode 4k30. Though I am still getting massive and frequent decoding errors. I have verified that the stream works as expected on two separate computes, though I am not using Gstreamer on either of those.
Assistance in what is causing my issues would be greatly appreciated.
I created a video file using the RTSP stream and verified the playback works on other systems.
It is formated as 4k30fps, HEVC,YUV420 so within the bounds of what the TX1 should be capable of.
However the playback is worse than when I am streaming the video. Typically only 1/20 of each frame is decoded.
Removing nvvidconv stage and the async=false argument as you suggested does help.
Gstreamer can now keep the 4k29.97fps video almost consistently at the specified framerate. However every 10-30 seconds the frame rate droops slightly (down to as low as 28.5fps, typically 29.7) and the output is a very obvious decoding errors.
I have tried experimenting with the latency (how much video, in ms, is being stored before passing it on to the next stage of the pipeline) and increasing it to the default 2000ms does not cause any appreciable difference over 300ms, decreasing below 300ms does make the encoding errors more frequent.
I have already called
sudo ./jetson_clocks.sh
So the system trying to scale the GPU and CPU down shouldn’t be causing the issues.
what is your video source? Are you do you have gstreamer pipeline for generating H265 RTSP stream?
I am able to generate H264 RTSP stream however H265 streams I cannot play back.