What it does
Push a peepshow run into a Qdrant collection. Each frame is a point with a text-embedding vector and structured payload (director, genre, timestamp, path) so you can query with vector + filter.
When to reach for it
- Filterable video RAG: `similar to X AND genre=Thriller AND director=Kubrick`
- Enterprise self-hosted vector DB with peepshow as the ingestor
- High-QPS frame lookup for an agent querying a very large video corpus
Install
npm i -g peepshowUse it
peepshow ./doc.mp4 --sink qdrant \
--sink-arg url=https://your-cluster.qdrant.io \
--sink-arg collection=peepshowMake it automatic
Register the sink once — every run fires it afterward. Scope by--whenso it only runs for matching videos.
peepshow sinks add qdrant
peepshow sinks add qdrant --when extension=mp4,mov
peepshow sinks add qdrant --when path=/Volumes/Work/Configuration
PEEPSHOW_QDRANT_URLQdrant cluster URL.requiredPEEPSHOW_QDRANT_API_KEYAPI key for Qdrant Cloud.
Write your own
A sink is any executable that reads the--emit jsonpayload on stdin. Shell, Node, Python, Go — the spec's indocs/PLUGINS.md. Register persistent ones withpeepshow sinks add-cmd 'your-command'.