OpenViSTAI · Agents · Blockchain · Crypto
Menu
Search & Research AI

Semantic Video Search

Semantic Video Search is a self-hosted Python application that indexes video frames and retrieves matching timestamps from natural-language queries. It uses SigLIP to create frame embeddings, Qdrant to store and search them, and ONNX Runtime for CPU-oriented inference.

Independent OpenViST project profile, based on linked sources.

Semantic Video Search — OpenViST project profile in Search & Research AI.
OpenViST project illustration. See the linked sources for product details.
Understand the project

Practical overview

When it fits

Use it when a video library needs text-based discovery of moments without manually scanning each file. The repository documents upload/indexing, search, listing, and deletion endpoints.

Who it is for

  • People maintaining searchable video archives or media libraries.
  • Developers exploring a self-hosted semantic video indexing and retrieval pipeline.

Documented uses

  • Index uploaded videos for later retrieval.
  • Find objects, scenes, or moments by describing them in natural language.
  • Retrieve ranked video timestamps and manage indexed-video records.
Before you choose

Requirements & limits

The repository is public and identifies the project as GPL-3.0 licensed. It documents Docker Compose and local-development setup options.

  • Video content is indexed by extracting frames and generating semantic embeddings; searches return timestamps rather than a textual transcript.
  • The documented stack separates video-frame ingestion from text-query inference and uses Qdrant as the vector database.
  • The README describes CPU execution without a GPU requirement; its performance figures are project-reported benchmarks, not a compatibility or performance guarantee.
  • Local setup documents FFmpeg, Qdrant collection creation, and model quantization as prerequisites or preparation steps.

Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.

Source-based practical guide

Start the Docker Compose stack

Launch the documented backend and Qdrant services and open the API documentation.

Before you start

  • A clone of the repository
  • Docker Compose

Steps

  1. Clone the repository and change into its directory.

  2. Run docker-compose up --build -d to start the backend and Qdrant.

  3. Open http://localhost:8000/docs to view the API documentation.

Expected outcome

The documented service stack is started and its API documentation is accessible at the local URL.

Guide limitations

  • This setup sequence does not describe uploading or searching a video.
  • The repository gives no hardware compatibility guarantee.
Source-based practical guide

Prepare a local development environment

Install the local dependencies, start Qdrant, create its collection, prepare the model, and start the API server.

Before you start

  • A clone of the repository
  • FFmpeg installed and available in PATH
  • Docker for the documented Qdrant container command

Steps

  1. Install Python dependencies with the command below.

    Documented command
    pip install -r requirements.txt
  2. Start Qdrant with the command below.

    Documented command
    docker run -d -p 6333:6333 -p 6334:6334 qdrant/qdrant
  3. Create the collection with the command below.

    Documented command
    python db/setup_collection.py
  4. Run the command below to quantize and split the model.

    Documented command
    python tools/quantize_model.py
  5. Start the API with uvicorn app.main:app --reload.

Expected outcome

The documented local setup sequence starts the API after preparing Qdrant and the model.

Guide limitations

  • The README presents this as a local development option; this sequence alone does not index or search video.
  • The listed steps do not specify platform-specific installation instructions.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
15 October 2026
Original website title
Aniket-16-S/Semantic_Video_Search · Official homepage title · retained in its source language