Metadata-Aware Output Converters in Savant
Savant output converters can now receive the frame's metadata — source_id, PTS, objects, and more — unlocking per-source and per-frame post-processing without breaking existing converters.
Read more →Ultimate software stack for building high-performance production-ready computer vision and machine learning applications, running on edge and data center NVIDIA hardware.
Reference Architectures
Savant is a single framework that powers very different topologies — edge‑only robotics, automotive fleets, hybrid edge‑cloud and massively scaled cloud deployments.
Jetson edge stack streaming to a data‑center pipeline over the ZeroMQ Savant Protocol, with Router, Meta‑Merge and Replay services in the cloud.
Low‑latency on‑vehicle pipeline on Jetson Orin or low‑grade x86 + dGPU, with a Buffer Adapter that survives WAN outages and forwards to KVS / Kafka.
CSI‑2 and USB cameras fused with IMU, LiDAR and GPS metadata in a single consolidated Savant module, publishing detections and tracks to ROS 2 topics.
AI‑less Raspberry Pi edge fleet streaming through a partitioned Kafka topic into a horizontally scaled pool of dGPU Savant consumers.
Why Savant
A complete framework — not just a library — engineered to be efficient by design, reliable in production, and friendly to the developers who build real computer vision systems on NVIDIA hardware.
Created for building end-to-end computer vision and video analytical applications, providing edge, data center and hybrid glass-to-glass experience. Savant is like Django, Ruby On Rails, or Spring, but for processing video streams and images in the computer vision domain.
Stands on the shoulders of DeepStream: the most advanced NVIDIA technology for video processing and neural model inference. The framework encourages developers to follow best practices, allowing them to integrate battle-proven libraries like OpenCV CUDA, PyTorch, CuPy, or CV-CUDA into Savant pipelines efficiently and effectively.
Focuses on productization: it is not only about model serving but also video stream access and delivery, routing, buffering, storing, and augmenting. Savant provides an end-to-end solution for building applications in the computer vision and video analytics domain, spanning from the edge to the data center and the user interface.
Created by developers and for developers. It democratizes the creation of computer vision applications, allowing researchers to transition from proof-of-concept pipelines to real-world applications in days, not months. Providing a familiar Python-based framework and more than 30 real-life samples, it makes it easy to create production-ready apps.
Try Savant
To help novice users get started with Savant, we prepared a ready-to-use example that you can download, build, and launch. This simple pipeline uses the standard Nvidia PeopleNet model to detect persons and their faces in the video; the faces are blurred with the integrated OpenCV CUDA functionality. There is also a tracker that helps reduce box flickering.
System requirements.
# Ensure you have Git and Git LFS installed
git clone https://github.com/insight-platform/Savant.git && \
cd Savant && \
git lfs pull
# if x86
./utils/check-environment-compatible && \
docker compose -f samples/peoplenet_detector/docker-compose.x86.yml up
# if Jetson
./utils/check-environment-compatible && \
docker compose -f samples/peoplenet_detector/docker-compose.l4t.yml up
# open 'rtsp://127.0.0.1:554/stream/city-traffic' in your player
# or visit 'http://127.0.0.1:888/stream/city-traffic/' (LL-HLS)
Dive into Savant with demos and cases explaining how to use Savant.
We use Discord to exchange ideas. Let us know your questions and suggestions there.
If you would like to acquire custom services, contact us.
Savant is packed with features needed for advanced computer vision and video analytics pipelines.
Savant is designed to be fast: it works on top of DeepStream — the fastest SDK for video analytics. Even the heavyweight segmentation models can run in real-time.
The framework supports running the pipelines on Nvidia’s edge devices (Jetson Family) and data center devices (Tesla, Quadro, etc.) with minor or zero changes.
Savant pipelines run in Docker containers. We provide images for x86+dGPU and Jetson hardware.
Savant can be configured to execute a pipeline in real-time, skipping data when running out of capacity or in high capacity mode, guaranteeing the processing of all the data.
A pipeline is a self-sufficient service communicating with the world via high-performance streaming API.
The framework universally uses a protocol based on Protocol Buffers for both video and metadata delivery, making it highly flexible for IoT and 3rd-party integrations.
Precisely instrument pipelines with OpenTelemetry. Traces can span from edge to core to business logic through network and storage.
Savant pipelines can be instrumented with Prometheus for monitoring pipeline performance and resource utilization.
Python-based SDK to interact with Savant pipelines (ingest and receive data), integrated with OpenTelemetry for programmatic access to traces and logs.
Savant provides a Development Server tool which enables dynamic reloading of changed code without pipeline restarts, helping to develop and debug much faster.
Dynamically attach and detach sources and sinks to the pipeline without reloading. The framework resiliently handles source/sink outages.
Several ready-to-use adapters that you can employ “as is” or modify for your needs. Not limited to Client SDK.
Dynamic configuration of the pipeline with in-protocol attributes, Etcd, or custom integrations for advanced ML pipelines.
Custom OpenCV CUDA bindings enable operations on DeepStream’s in-GPU frames with a broad range of OpenCV CUDA functions.
Use custom or ready-to-use PyTorch models from PyTorchHub within your Savant pipelines.
CuPy is a NumPy-like library for GPU-accelerated computing, enabling custom CUDA functions in Python.
Support models that produce bounding boxes rotated relative to the video frame (oriented bounding boxes), common with bird's-eye cameras.
Python is a crucial language for data science and ML. Developers can use it to implement flexible processing for metadata and customize framework runtime.
We develop high-performance video inferencing pipelines and train neural networks.
The In-Sight team is an ML/AI department of Bitworks Software. We develop custom high-performance AI/CV applications for various industries providing full-cycle processes, including but not limited to data labeling, model evaluation, training, pruning, quantization, validation, verification, pipeline development, and CI/CD. We mainly focus on Nvidia hardware (both data center and edge).
We have developed Savant to democratize Nvidia DeepStream and make it available to ML and CV engineers. We use it ourselves to deliver flexible production-ready video analytics pipelines to our customers as quickly as possible.
To acquire custom services, contact us.
News, updates and useful materials about Savant and computer vision.
A new Savant sample detects when a camera has been moved, blocked, or its scene has changed — by comparing a ReID embedding of a region of interest against the...
Read more →The memory-safety pitch for Rust in computer vision misses the point. The real case is narrower and stronger: Rust governs the authored layer above the C/C++/CUDA substrate, and its compile-forced...
Read more →
Savant output converters can now receive the frame's metadata — source_id, PTS, objects, and more — unlocking per-source and per-frame post-processing without breaking existing converters.
Read more →
Savant's new pygroup element runs several sequential PyFuncs inside a single GStreamer element — cutting inter-element overhead while keeping a separate telemetry span for every stage.
Read more →