Skip to main content
Builds and installs the patched Stereolabs zed-gstreamer source plugins (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.
It exists rather than relying on a stock plugin install for two reasons:
  • 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 / zedsrc stamp each frame’s PTS at host-receive time (a software clock sampled right after grab() 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 SDK ZedCamera path. 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.
The command clones upstream at a pinned commit (the exact ref the patch was generated against), applies the patch, and builds + installs with CMake. The one-command install runs it for you once, right after 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.