Sobre o projeto
O SentrySearch é uma ferramenta de linha de comando para busca semântica em vídeo. Processa arquivos de vídeo dividindo-os em trechos sobrepostos (padrão: 30 segundos com sobreposição de 5 segundos), gerando embeddings para cada trecho usando a API Google Gemini Embedding, o modelo Qwen3-VL-Embedding da Alibaba DashScope (qwen-cloud) ou um modelo local Qwen3-VL, armazenando os vetores em um banco de dados local ChromaDB. Os usuários podem então buscar com consultas em linguagem natural ou imagens de referência para recuperar segmentos de vídeo correspondentes, que são automaticamente recortados dos arquivos originais e salvos como clipes.
Principais recursos incluem:
- Busca semântica baseada em texto e imagem em vídeo
- Múltiplos backends de embedding: API Gemini (padrão), Qwen Cloud (DashScope) e Qwen3-VL local (variantes 8B ou 2B com quantização opcional de 4 bits)
- Detecção automática de hardware para seleção de modelo local (qwen8b para GPUs NVIDIA com 18GB+ VRAM ou Apple Silicon com 24GB+ RAM; qwen2b para configurações menores)
- Pipeline de pré-processamento que reduz a resolução dos trechos para 480p a 5fps via ffmpeg antes do embedding, diminuindo o tamanho da carga útil e o tempo de inferência
- Pulo de quadros estáticos para evitar embeddar trechos visualmente parados
- Limiar de confiança com reclassificação opcional baseada em VLM (Gemini 2.5 Flash para backends na nuvem, Qwen3-VL Instruct local para backend local)
- Deduplicação de resultados quase duplicados através de teto de similaridade cosseno
- Modo destaques para exibir clipes estatisticamente anômalos (métodos knn, centroid ou LOF)
- Sobreposição de metadados de dashcam Tesla (velocidade, GPS, geocodificação reversa) nos clipes recortados
- Integração com SentryMerge para costura de eventos multicâmera e SentryBlur para redação facial/placas/prompts
- Fila de mensagens mortas para trechos falhos com capacidade de nova tentativa
- Comandos de gerenciamento de índice (estatísticas, remoção, reinicialização)
A instalação usa uv (Python 3.11/3.12 obrigatório). O backend local requer ffmpeg no macOS e PyTorch com CUDA na NVIDIA. Embeddings de diferentes backends/modelos ficam isolados em índices separados. O custo do backend Gemini é aproximadamente $2.84 por hora de filmagem indexada (configurações padrão). A DashScope cobra por 1k tokens de entrada por modalidade. O backend local roda totalmente offline sem custos de API.
A ferramenta foi projetada para fluxos de trabalho de filmagens de dashcam/segurança, mas funciona com qualquer arquivo de vídeo. Ela produz clipes MP4 padrão reproduzíveis em qualquer lugar.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.