Please provide the following information when requesting support.
- Hardware Platform (Jetson / GPU): Jetson
- DeepStream Version: 6.3 / 7.1 (native and containerized)
- JetPack Version: 5.1 / 6.2
- Hardware tested:
- NVIDIA Jetson Xavier NX
- NVIDIA Jetson Orin NX
Hello,
I noticed that many developers seem to experience RTSP decoding quality issues when using NVIDIA DeepStream SDK on NVIDIA Jetson devices.
Several discussions seem related to this topic:
-
https://forums.developer.nvidia.com/t/jitter-noise-in-rtsp-input-frame/174288
-
https://forums.developer.nvidia.com/t/multi-stream-video-artifacts/160919
I conducted my own investigation and would like to share some observations.
Test conditions
To rule out external factors, we tested multiple configurations:
-
different network setups
-
a dedicated isolated network with only one camera and the Jetson
-
both H264 and H265 streams
-
multiple DeepStream versions (6.3 and 7.1)
The behavior remained identical in all cases.
Observed behavior
The issue appears when the pipeline cannot process all incoming frames from the RTSP stream.
This typically happens when the pipeline becomes GPU bottlenecked, for example when inference is enabled.
When this occurs, the decoded video sometimes shows:
-
jitter
-
visual artifacts
-
temporal instability
Experiments
1 — Stream containing only I-frames
If the RTSP stream is encoded only with I-frames, decoding works perfectly.
The output stream remains stable and artifact-free.
2 — Stream containing I / P / B frames (normal GOP)
When using a normal GOP structure with P and B frames, artifacts and jitter appear when the pipeline cannot process all frames.
3 — Decoding only I-frames
If the decoder is configured to drop P/B frames and decode only I-frames, the output becomes stable again.
However:
-
effective FPS decreases
-
temporal resolution is reduced
4 — Large GOP experiment
Another experiment produced an interesting result.
I configured the encoder with one I-frame followed by the maximum number of P-frames (255).
When the pipeline is able to process all frames using a fast model, the output stream has no artifacts or jitter, even with this very large GOP.
This suggests that the issue is strongly correlated with frame dropping during decoding rather than the GOP structure itself.
Additional tests performed
I tested many parameters available in DeepStream and GStreamer, including:
-
adding queues in different parts of the pipeline
-
using queues with and without
leakymode -
experimenting with the
videorateplugin as suggested here:
https://forums.developer.nvidia.com/t/live-rtsp-stream-lagging-decoding-issues-in-deepstream-python-app/222268/22?page=2
Despite these tests, the behavior remained the same.
Core question
In real deployments, it is very common that a pipeline cannot guarantee processing every frame, especially when GPU load varies.
Therefore my question is:
What is the recommended approach to guarantee stable RTSP decoding quality when the pipeline cannot process all incoming frames?