World Archive
Overlap

Overlap · how to use

Three steps. No pixels leave your machine.

Fingerprint a local video folder, check it against hashes you already own, then screen the same file against open robotics data.

Once

Install Overlap

Needs Python 3.10+. On Mac, skip system pip3 if it is still 3.9 — use uv.

terminal

brew install uv
uv tool install git+https://github.com/World-Archive/overlap
export PATH="$HOME/.local/bin:$PATH"
overlap --version

Yellow AVFFrameReceiver warnings on Mac are harmless. Ignore them.

01 · Generate hashes

Hash a local video folder

Point Overlap at the folder that holds the new footage. It writes a compact .ovlm fingerprint file — typically kilobytes per hour, not the videos themselves.

Input

/path/to/local/videos

Your MP4, MOV, MKV, or MCAP files.

Output

newhash/newhash.ovlm

Share this file. Not the videos.

generate .ovlm

VIDEO_FOLDER="/path/to/local/videos"
NEW_HASH_FOLDER="/path/to/newhash"

rm -rf "$NEW_HASH_FOLDER"
mkdir -p "$NEW_HASH_FOLDER"

overlap --index "$NEW_HASH_FOLDER" index "$VIDEO_FOLDER"
overlap --index "$NEW_HASH_FOLDER" export \
  -o "$NEW_HASH_FOLDER/newhash.ovlm" \
  --anonymize-paths --stride 1

Argument order matters: --index <hash folder> index <video folder>. If you swap them, Overlap indexes 0 files.

02 · Compare against master

Test the new hash against your inventory

You keep a folder of existing inventory hashes — as many .ovlm files as you have. Overlap imports every one of them, then compares the new offer against the full set.

masterhash/

inventory-1.ovlm

inventory-2.ovlm

newhash/

newhash.ovlm

compare vs masterhash/

MASTER_HASH_FOLDER="/path/to/masterhash"
NEW_HASH_FOLDER="/path/to/newhash"
WORK_INDEX="/tmp/overlap-master-index"

rm -rf "$WORK_INDEX"
mkdir -p "$WORK_INDEX"

overlap --index "$WORK_INDEX" import \
  "$MASTER_HASH_FOLDER"/*.ovlm --label "master inventory"

overlap --index "$WORK_INDEX" compare \
  "$NEW_HASH_FOLDER/newhash.ovlm" \
  -o duplicate-report.json \
  --html duplicate-report.html \
  --open

Opens duplicate-report.html. If a seller already sent you an .ovlm, skip step 01 and use that file in the compare command.

ReportMeaning
0% overlapNothing matches your inventory — likely original to you.
Partial matchSome offered footage is already in your inventory. Price the remainder.
100% overlapThe entire offer is duplicate. Walk away.

03 · Compare against open data

Screen the same hash against public catalogs

Step 02 is private — your inventory only. This step asks a different question: is this footage already in open robotics datasets?

  1. 01Open the Overlap catalog.
  2. 02Drop newhash.ovlm on the page.
  3. 03Start the comparison.
  4. 04Read overlap % and matched public datasets.

Website comparison checks public catalog data. The local command in step 02 checks your private master inventory. Run both for full diligence.

Source

Videos never upload. Only fingerprints move.