zedxonesrc mono / zedsrc stereo) that the GPU-resident camera pipeline (almond_axol.video.gst_zed) uses for teleop --cameras and collect-data. This is the companion to gst.install: gst.install sets up the host GStreamer support and PyGObject, while gst.build-zed provides the ZED source elements themselves.
- A fresh Jetson has no zed-gstreamer plugins at all. Without them the GPU-resident camera path silently falls back to the slower ZED SDK grab; building them makes the fast path available.
- The stock
zedxonesrc/zedsrcstamp each frame’s PTS at host-receive time (a software clock sampled right aftergrab()returns), which lags the true sensor exposure by the camera delivery latency. The vendored patch instead stamps the PTS at the sensor-exposure instant (TIME_REFERENCE::IMAGE), so a frame lines up with the joint sample taken on the same exposure clock as the SDKZedCamerapath. Without it, collected datasets pair each image with proprioception that is ~delivery-latency too new — and that offset differs from inference (which uses the SDK), i.e. a train/inference mismatch.
gst.install.
Requires the ZED SDK at
/usr/local/zed and the Jetson build toolchain. Idempotent (a stamp file recording the pinned ref + patch digest skips a rebuild when the patched plugins are already installed) and best-effort: a no-op on machines without the SDK / toolchain — the camera path then uses the ZED SDK fallback. Installing into the system GStreamer plugin dir needs root: run as root, or you’ll be prompted for sudo once.