Why Index
Your operating system sees a filename, a size, and a date. It does not see the interview at minute 23, the product shot at minute 7, or the CEO's comment about next quarter. Indexing extracts what is inside each file and stores it in a format a search engine can query — which is what makes AI video search possible in the first place.
Every spoken word, timestamped and attributed to a speaker via diarization.
Hundreds of object categories tied to exact timecodes: search 'laptop' and land on the frame.
A vision-language model describes what is happening: 'aerial shot of a coastline at sunset.'
Appearances of the same person clustered across your library. Runs 100% on your device.
How It Works
The full pipeline takes about five minutes per hour of video. Dialogue-heavy footage takes slightly longer to transcribe; visually complex footage takes slightly longer to describe.
FrameQuery scans your folders and catalogs every video file: path, format, duration, resolution, codec, and creation date. Auto-scan watches for new camera cards and queues them automatically.
Sampled keyframes and audio are extracted on your device with GPU-accelerated decoding. A 300 GB hour of R3D becomes a few hundred megabytes of extracted data — your originals never leave your machine.
Four AI passes run in parallel: timestamped transcription with speaker diarization, object detection, natural-language scene descriptions, and face clustering (on-device only).
Results are assembled into a compact local search index (built on Tantivy, the same class of engine as Lucene). An hour of footage indexes to a few megabytes, self-contained on your drive.
Queries check all four modalities simultaneously and return timestamped, thumbnailed results. Search runs entirely locally: no network requests, no per-query costs, works offline.
Privacy
The indexing servers see only extracted frames and audio, and return structured metadata. Biometric data is generated and stored exclusively on your device.
| Data | Location | Leaves your machine? |
|---|---|---|
| Original video files | Your drives | No |
| Extracted frames and audio | Your machine (transient) | Sent for analysis, discarded immediately after |
| Transcripts and metadata | Local search index | No (generated from cloud processing) |
| Face and voice embeddings | Local encrypted storage | Never |
| Search index | Your boot drive | No |
Choosing a Tool
Cloud platforms like Frame.io and Iconik index footage you upload or connect, and pair it with hosted collaboration. FrameQuery indexes in place — built for large local libraries and cinema RAW formats that are impractical to upload. For the full landscape, see our comparison of the best video search software, or how FrameQuery compares to Iconik and Frame.io. Developers can drive the same pipeline through the video search API.
FAQ
Video indexing software analyzes the content of video files — spoken words, visible objects, scenes, and people — and stores the results in a searchable index. Instead of scrubbing through footage, you type a query and jump to the exact timestamped moment. Without indexing, your operating system only sees filenames and file sizes.
FrameQuery's full four-modality analysis takes roughly five minutes per hour of video. The index is additive, so newly indexed videos are searchable immediately alongside everything already indexed — start with active projects and queue archives overnight.
Not with FrameQuery. Frames and audio are extracted on your device and sent for analysis, then discarded the moment analysis completes. Your original files never leave your machine, and the search index lives locally. Cloud-based indexers like Frame.io or Iconik instead require uploading or connecting your footage.
Small. An hour of video typically produces a few megabytes of index data. A 1,000-hour library might carry an index of a few gigabytes — trivial compared to the footage itself, and it needs no server or internet connection to query.
Over 50 formats natively, including R3D, BRAW, ARRIRAW, ProRes, CinemaDNG, XAVC, MXF, DNxHR, H.264, H.265, and AV1. No transcoding pass is required before indexing.