From the Deepstream Developer Guide:
– Timeout in microseconds to wait after the first buffer is available to push the batch even if a complete batch is not formed.
Troubleshooting Solution 3
– In the configuration file’s [streammux] group, set batched-push-timeout to (1/max_fps)
My understanding is that the
batch-push-timeout value should be calculated as indicated by the following examples:
- 12fps source: 1 / 12 * 1000 * 1000 = 83333 (microseconds)
- 25fps source: 1 / 25 * 1000 * 1000 = 40000 (microseconds)
- 30fps source: 1 / 30 * 1000 * 1000 = 33333 (microseconds)
The Deepstream samples uses the following values:
- C/C++ samples uses
40000(in source files or in configs)
/* Muxer batch formation timeout, for e.g. 40 millisec. Should ideally be set * based on the fastest source's framerate. */ #define MUXER_BATCH_TIMEOUT_USEC 40000
Python samples uses
I would like confirmation/clarification on:
- Is my calculation examples above are correct?
- Why the Python samples uses a value of
4000000, which is 4 seconds (see unit conversion)
40000a realistic real world value for a 25fps RTSP source?
• Hardware Platform (Jetson / GPU) Jetson Nano
• DeepStream Version v5.0 GA
• JetPack Version (valid for Jetson only) Jetpack 4.4
• TensorRT Version v220.127.116.11