Video scene search using image input
Top 94.5% on sourcepulse
This project provides a system for searching video content using image queries, specifically designed for anime but applicable to any MP4 video. It leverages a modified LIRE (Lightweight Image Representation Extraction) library integrated with Apache Solr for efficient indexing and retrieval, enabling accurate scene lookups down to the millisecond.
How It Works
The system indexes video frames by extracting image features using LIRE. These features are then stored in Apache Solr cores. When a query image is provided, its features are extracted and used to search across the Solr index. The approach uses Locality-Sensitive Hashing (LSH) to group similar frames, allowing for fast searches by prioritizing less populated clusters. This method is optimized for speed and scalability, as demonstrated by its use in the trace.moe service.
Quick Start & Requirements
npm install
..env
with database, Solr, and RabbitMQ connection details. Solr home directory needs 777 permissions.podman-compose up -d
), creating Solr cores (npm run create-core
), and running workers for hashing (npm run hash
) and loading (npm run load
).node src/search.js /path/to/your/image.jpg
.Highlighted Details
Maintenance & Community
The project is maintained by soruly. Further community or maintenance details are not explicitly provided in the README.
Licensing & Compatibility
The README does not specify a license. Compatibility for commercial use or closed-source linking is not mentioned.
Limitations & Caveats
The system requires specific Linux distributions and versions of Node.js and Java. RabbitMQ heartbeat intervals may need adjustment for long-running tasks. The setup involves multiple services (MariaDB, RabbitMQ, Solr) managed via podman-compose
, requiring familiarity with container orchestration.
2 years ago
1 day