Hi @SB07,
Before I test, I was just wondering if there is an expected latency, measured from image capture to being received on the other device, over ethernet for capturing in parallel (multi-threads) with 2 cameras on device 1, and sending their frames downstream in parallel? Is there also an expected latency for capturing in parallel (multi-threads) with 4 cameras on device 1, and sending their frames downstream in parallel?
There isn’t a single guaranteed number I can quote, because end-to-end streaming latency depends on several factors that are specific to your deployment: encoder/decoder load, network medium and switch behavior, the chosen StreamingParameters, and the CPU/GPU headroom left on the Orin NX while it runs your processing pipeline in parallel. So please treat the values below as realistic expectations, not contractual figures.
Why the loopback numbers are not representative
A couple of important points before estimating the Ethernet case:
First, your current measurement mixes two unrelated things. The ~150-167ms you see includes the clock offset between the two processes if their timestamps are not referenced to the same synchronized clock. This is exactly why NTP/PTP matters here: until both ends share a common time base, “capture timestamp on device 1” and “received timestamp on the receiver” are not directly comparable, and part of what you are reading as latency can be clock skew. After you align the clocks (and ideally use the new monotonic TIMESTAMP_CLOCK option in SDK 5.3), the measured end-to-end figure should both drop and become stable.
Second, running both encode (2 streams) and decode (2 streams) on the same Jetson over loopback is the worst case for NVENC/NVDEC contention. Even if tegrastats shows the engines at 50-70% rather than saturated, they are time-shared and bursty, so queuing delay between the encode and decode stages inflates the figure. This is expected on loopback.
What to expect over real Ethernet
Moving the decoder to a separate machine should help meaningfully, for two reasons: the receiver’s NVDEC no longer competes with the box’s NVENC, and the box frees the GPU cycles it was spending on decode. With SVGA at 30 FPS, H264, and a synchronized clock, an end-to-end capture-to-received latency in the low tens of milliseconds per stream is a reasonable target on a clean GigE link. The dominant remaining contributors then become the sensor grab time you already measured (~23-39ms is itself a large share of your budget) and the encoder GOP/queue behavior.
For the 2-camera case, the two encoders on the box run comfortably within Orin NX NVENC capacity at SVGA/30, so the per-stream latency should be close to the single-stream case.
For the 4-camera case, you are doubling the concurrent encode load on a single Orin NX NVENC engine while also competing for ISP, memory bandwidth, and CPU threads. Expect higher and more variable per-stream latency, and validate it under your real processing load rather than in isolation. If you need 4x ZED X One streaming with tight latency, the higher-tier Jetson modules (Orin NX 16GB at MAXN SUPER, or AGX Orin) give the encoder and memory subsystem more headroom.
Settings worth tuning (relevant to your post #1 question 2)
gop_size: you have it at 0. Keeping I-frames frequent (small GOP) reduces decode dependency latency at the cost of bitrate; this is usually the right tradeoff for low-latency local streaming.
bitrate: 4000 kbps at SVGA is on the lower side; a moderate increase can reduce encoder buffering pressure without stressing a GigE link.
chunk_size: smaller chunks reduce packetization latency over loopback but matter less on real ethernet; leave at the default unless you see fragmentation.
Reference docs:
My honest recommendation is to run your test exactly as planned (clocks synchronized, decode on the remote machine), measure the per-stream figure for the 2-camera case first, then add the 3rd and 4th streams and watch how NVENC headroom and the variance evolve. That will give you the numbers that actually apply to your system far more reliably than any generic estimate.