finds.dev← search

// the find

dusty-nv/jetson-utils

★ 901 · C++ · MIT · updated Oct 2025

C++/CUDA/Python multimedia utilities for NVIDIA Jetson

A C++/CUDA/Python utility library from NVIDIA's Jetson team, bundling camera capture, hardware video encoding/decoding, CUDA image ops, OpenGL display, WebRTC/RTSP streaming, and HID input into one place. It's the plumbing layer underneath dusty-nv/jetson-inference — if you're building ML inference pipelines on Jetson hardware, you're probably already using this indirectly. Useful as a standalone starting point for any Jetson multimedia project that needs zero-copy GPU buffers and GStreamer pipelines without reinventing them.

The CUDA image processing coverage is genuinely wide — colorspace conversion, resize, crop, warp, alpha blend, colormaps, font rendering — all handling the painful format zoo (NV12, YUV, Bayer, RGB8, RGB32F) that you'd otherwise spend weeks wiring up. Hardware-accelerated video encode/decode via GStreamer with a unified videoSource/videoOutput abstraction that takes a URI string and figures out V4L2/CSI/RTSP/file automatically is a real time saver. The Python bindings expose CUDA memory through the `__cuda_array_interface__` protocol, so you can hand tensors between this library, NumPy, and PyTorch without copying. The threading primitives (RingBuffer, Event, Mutex as header-only templates) are lightweight and Jetson-appropriate — no heavy dependency just to get a lock-free ring buffer.

The documentation points back to jetson-inference's docs rather than living in this repo, so you're chasing links across two repos and the docs don't always match what's actually in the code here. The Python-native package (`pip install`) and the C++ extension build are semi-independent and can get out of sync — the pip path skips the C++ bindings entirely, which means you lose the CUDA interop and camera APIs and it's not obvious why. Build system is CMake but depends on scripts from jetson-inference (`CMakePreBuild.sh`) to install dependencies, making it annoying to use standalone without cloning that sibling repo. Jetson-only by design — the CUDA ops assume unified memory and the GStreamer pipeline config assumes Jetson's nvarguscamerasrc and nvv4l2 plugins, so you can't develop or test on a desktop GPU without real hardware or a VM image.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →