Vibeleaderboard
Index / tool
Visit arxiv.org
Category
AI Tools
Rank
Pricing
Open Source
Type
TOOL
Builder
hkuds
Date

About

HKUDS's RAG system for video — chat with hours of footage, ask questions, and get cited timestamps and clips back.

What it does

VideoRAG breaks long videos into timed segments, transcribes speech, generates visual captions, and embeds the resulting material. It builds a knowledge graph plus vector indexes, then retrieves relevant text and video segments to answer natural-language questions across one or more videos.

Why it's ranked here

The project combines a serious retrieval pipeline with a usable desktop direction. Its published benchmark covers 164 videos and 602 questions across lectures, documentaries, and entertainment. However, the desktop download is still described as forthcoming, so today’s value rests mainly in the source implementation and research workflow.

What's good

The indexing design uses several complementary signals: transcripts, vision-language captions, video embeddings, text chunks, and entity relationships. It saves processed state, skips videos already indexed, caches language-model responses, and supports comparison across multiple videos. The repository also includes reproduction material for a substantial long-video benchmark.

Tradeoffs

Setup is infrastructure-heavy. Users must start a Python backend, launch an Electron frontend, obtain model checkpoints, and configure language-model services. The algorithm loads a local vision-language checkpoint and defaults to OpenAI models, although Azure OpenAI and Ollama adapters exist. Packaged desktop releases are described as coming soon, with Apple Silicon planned before Windows and Linux.

How to use it well

Choose it for research, internal video archives, lecture collections, or documentary analysis where preprocessing cost is acceptable and cross-video retrieval matters. Index stable collections once, retain the working data, and ask focused questions that benefit from transcript, visual, and relationship evidence. It does not yet replace a turnkey hosted video-search service or a broadly available packaged desktop application.

Technical notes+

VideoRAG-algorithm/videorag/videorag.py defines the main VideoRAG dataclass, splits input into 30-second segments by default, runs transcription and captioning, stores JSON, graph, and vector state, and dispatches videorag queries. VideoRAG-algorithm/videorag/_op.py groups segment text into token-bounded chunks and extracts graph entities and relationships. VideoRAG-algorithm/videorag/_llm.py provides OpenAI, Azure OpenAI, and Ollama adapters with caching and retry behavior. Vimo-desktop/electron.vite.config.ts builds separate Electron main, preload, and React renderer targets. Vimo-desktop/python_backend/videorag_api.py exposes a Flask backend and an HTTP-managed ImageBind service. One typing mismatch is visible: VideoRAG-algorithm/videorag/base.py restricts QueryParam.mode to local, global, or naive, while the runtime dispatch expects videorag modes.

Observed

Primary implementation
Python algorithm and backend, with a TypeScript and React Electron desktop client.
Interfaces
Python library surface, experiment CLI, Flask HTTP backend, and Electron desktop application.
Model providers
Adapters are present for OpenAI, Azure OpenAI, and Ollama.
Install surface
The documented usable path is source setup with a Python backend and Electron frontend; desktop downloads are described as forthcoming.
Platform support
The repository targets macOS, Windows, and Linux, with Apple Silicon planned as the first packaged beta.
Benchmark structure
LongerVideos contains 164 videos, 602 questions, and about 134.6 hours across lectures, documentaries, and entertainment.

Read from README.md, Vimo-desktop/postcss.config.js, Vimo-desktop/tailwind.config.js, Vimo-desktop/electron.vite.config.ts, VideoRAG-algorithm/videorag_longervideos.py, VideoRAG-algorithm/videorag/_op.py, VideoRAG-algorithm/videorag/_llm.py, VideoRAG-algorithm/videorag/base.py, VideoRAG-algorithm/videorag/_utils.py, VideoRAG-algorithm/videorag/prompt.py, VideoRAG-algorithm/videorag/__init__.py, VideoRAG-algorithm/videorag/videorag.py, VideoRAG-algorithm/videorag/_splitter.py, Vimo-desktop/python_backend/videorag_api.py.

What it can do

  • Chat with video content

    Hours of video footage and natural language questionsConversational responses about video content

  • Answer questions about video footage

    Natural language questions and video filesSpecific answers with supporting evidence

  • Extract relevant video clips

    User queries and video footageSpecific video clip segments

  • Generate cited timestamps

    User questions and video contentPrecise timestamps referencing relevant moments

  • Process hours of video footage

    Long-form video filesSearchable and queryable video content database

  • Provide evidence-based video responses

    User queries about video contentAnswers with timestamp citations and video evidence

Tags

ragvideohkudsllmmultimodal

Tech Stack

CSSHTMLJavaScriptJupyter NotebookPythonShellTypeScript

Media

VideoRAG

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.