Jittering at deepstream_test_3 output video

• Hardware Platform (Jetson / GPU) Jetson Xavier AGX
• DeepStream Version 6.3.0
• JetPack Version (valid for Jetson only) 5.1
• TensorRT Version 8.5.2.2

I am testing deepstream_test_3.py, but I am receiving so much jit at my sync element. There are queues between every element, so it doesn’t seems to be a problem like missing I-frames. Any tip?

Can you provide the command line you used?

python3 deepstream_test_3.py -i rtsp://pass:hbyt12345@10.21.45.19:554 rtsp://pass:hbyt12345@10.21.45.19:554 rtsp://pass:hbyt12345@10.21.45.19:554 rtsp://pass:hbyt12345@10.21.45.19:554

So you are using the local display sink, right?

Seems you are using an IP camera as the RTSP server. Have you checked whether the RTSP server support TCP protocol? Have you measured the packet loss rate of the network between the camera and your Xavier board?

The cameras doesn’t support TCP, but I have ever needed the guarantee of end-to-end delivery for my Nvidia scripts with those cameras. Moreover, the network is pretty much reliable, it is a Giga Switch with just the camera and the Xavier server in it.

I always use ping to test package loss, but in order to make a better diagnosis, I used Wireshark for the stream analysis, decoding the stream as RTP. I get 0 (0.00%) of Lost.

Addittionaly, I did nvgstplayer-1.0 -i rtsp://pass:hbyt12345@10.21.45.19:554, and I got a clear image with no jittering.

Then, I did deepstream-app -c ./config/deepstream_app_config.txt, and I got a clear image with no jittering too.

So I guess it must have something to do with the script I am running (deepstream_test_3.py) or with the config file (dstest4_pgie_nvinfer_yolov5_config.txt (1.3 KB))

Hi guys,
There is a trick in deepstream_test_3.py at decodebin_child_added method.

def decodebin_child_added(child_proxy, Object, name, user_data):
    print("Decodebin child added:", name, "\n")
    if name.find("decodebin") != -1:
        Object.connect("child-added", decodebin_child_added, user_data)

    if "source" in name:
        source_element = child_proxy.get_by_name("source")
        if source_element.find_property('drop-on-latency') != None:
            Object.set_property("drop-on-latency", True)

It is dropping packages at the source bin. Set the drop-on-latency to False, and jittering will disappear.

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