Skip to content

Video Search LocalMake camera footage understandable and searchable

A self-hosted pipeline from live camera streams to annotated event clips, vision-language analysis, and natural-language search.

Video Search Local logo

What is VSL?

VSL (Video Search Local) is a self-hosted AI system for real-time camera understanding, event recording, and semantic video search. It ingests RTSP, RTMP, HLS, and other streams; detects and tracks people, vehicles, and other objects locally; records an annotated clip when a user-defined rule matches; asks a vision-language API to describe the event; and stores the result in SQLite and Qdrant.

Instead of reviewing hours of footage, users can search for descriptions such as “an elderly person walking past” or “vehicles in the parking lot” and replay the matching events.

Local firstDetection, tracking, and rule evaluation run on your device
Event drivenVLM requests and recordings are created only for matched rules
Self-hostedGo + React + Qdrant, deployed with Docker Compose

How does VSL work?

01Camera streamRTSP, RTMP, HLS, and more
02Local visionYOLO26s / D-FINE-S
03Track and recordByteTrack + annotated clips
04Vision-language APISemantic event review
05Structured storageSQLite + Qdrant
06Natural-language searchFind and replay events

The pipeline turns conventional footage into structured events with timestamps, objects, stable track IDs, trajectories, activities, risks, and natural-language summaries. Read How it works for the complete data flow.

Product interface

Who is VSL for?

  • Video event search for campuses, warehouses, stores, and parking areas
  • Local video analytics inside private networks
  • AI evaluation with RTSP cameras, NVR sub-streams, and media servers
  • A complete engineering example combining detection, ByteTrack, VLMs, and vector search
  • Teams that want cloud-level semantic analysis without uploading every live frame

What is implemented today?

VSL currently supports common network streams, YOLO26s and D-FINE-S detection, ByteTrack, browser-based rules, annotated event recording, OpenAI-compatible vision APIs, DashScope native video analysis, a persistent SQLite job queue, and Qdrant retrieval. It runs on CPU or NVIDIA CUDA.

The current release is a single-stream, single-machine, single-user foundation. It does not include face recognition, cross-camera ReID, automatic ONVIF discovery, a GB28181 gateway, or audio analysis. See the FAQ for current boundaries.

Frequently asked questions

Does VSL require an NVIDIA GPU?

No. CPU mode is suitable for evaluation and low frame rates. NVIDIA CUDA is recommended for sustained real-time analysis. The model, device, inference rate, and runtime threads are configurable in the browser.

Does VSL upload the entire camera stream?

No. Local models perform detection, tracking, and rule evaluation first. Only matched event clips are sent to the configured vision-language API, and an API failure never stops local inference.

Are saved videos annotated?

Yes. Event clips, covers, and frames sent to the VLM can contain translucent colored masks, boxes, classes, confidence scores, and track IDs.

Is VSL free and open source?

Yes. The source code is published under the GNU AGPL-3.0. You may inspect, modify, and self-host it subject to the license terms.

Get started

Read the quick start or visit the GitHub repository.

基于 AGPL-3.0 开源 · Built by WeCanCoding