>_ DevTrendspt

Idioma

Início

Linguagens

Seções

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embarcados Segurança
Python

Como Encontrar o Momento Certo em Gigabytes de Vídeo Sem Assistir Todas as Gravações

Imagine o seguinte: você tem filmagens de câmeras de vigilância, gravações de dashcam da Tesla, ou simplesmente um mês de vídeos caseiros. Você precisa encontrar um clipe específico — por exemplo, quando um caminhão vermelho passou ou alguém correu perto da cerca. Geralmente isso significa horas de navegação tediosa. Mas e se você pudesse simplesmente digitar "caminhão vermelho passando no vermelho" e imediatamente obter um clipe recortado pronto para usar?

É exatamente isso que o projeto sentrysearch faz. É uma ferramenta CLI para busca semântica em vídeos que entende o que está acontecendo no quadro sem nenhuma descrição em texto ou marcação manual.

Como funciona nos bastidores

O desenvolvedor do projeto optou por usar embeddings multimodais. Anteriormente, para buscar em vídeos, você precisava primeiro passá-los por uma rede neural para detecção de objetos, depois por OCR para texto, e montar tudo isso em um banco de dados. Aqui, uma abordagem direta é usada.

O SentrySearch corta o vídeo em pequenos pedaços sobrepostos (30 segundos por padrão). Cada pedaço é então convertido em um vetor (embedding) usando o modelo Gemini do Google ou o Qwen3-VL local. Esses vetores são armazenados em um banco de dados ChromaDB local.

Quando você digita uma consulta de busca, ela também é convertida em um vetor no mesmo espaço. O sistema procura os vetores de vídeo mais similares e, se encontrar uma correspondência acima de um determinado limiar, recorta automaticamente o fragmento necessário usando ffmpeg.

Curiosamente, não há etapa intermediária envolvendo texto aqui. A consulta de texto "cachorro pulando atrás de uma bola" é comparada diretamente com as características visuais do vídeo.

O que a ferramenta pode fazer

O projeto conquista pela sua simplicidade e atenção aos detalhes que geralmente são esquecidos em utilitários similares.

Execução local sem a nuvem

Se você não quer enviar seus vídeos para o Google via API Gemini, pode usar um backend local. O projeto suporta a família de modelos Qwen3-VL. O autor considerou diferentes cenários: desde máquinas potentes com GPU NVIDIA até MacBook com Apple Silicon. Por exemplo, em um Mac com 24 GB de RAM você pode executar a versão 8B, e para configurações mais modestas a versão 2B funcionará.

Economia inteligente de recursos

Indexar vídeos é um processo pesado. Para evitar desperdício de tempo e dinheiro (no caso da API), o SentrySearch usa vários truques:

  • Pré-compressão: o vídeo é reduzido para 480p a 5 quadros por segundo antes de enviar ao modelo. Isso é suficiente para entender o que está acontecendo, e a carga cai significativamente.
  • Pulo de estáticos: se nada está acontecendo no quadro (por exemplo, um carro está estacionado em um estacionamento vazio), o script compara os tamanhos dos hashes dos quadros e simplesmente pula esses pedaços.

Recursos para proprietários de Tesla

O autor claramente foi inspirado pelo Sentry Mode da Tesla. A ferramenta tem um modo separado --overlay que extrai metadados de arquivos da dashcam da Tesla (velocidade, coordenadas GPS) e sobrepõe eles diretamente no vídeo como uma interface HUD elegante. Ele pode até fazer geocodificação reversa via OpenStreetMap para exibir o nome da rua onde o incidente ocorreu.

tesla overlay

Como começar

O gerenciamento de dependências usa uv, que está se tornando o padrão na comunidade Python. A instalação é simples:

git clone https://github.com/ssrajadh/sentrysearch.git
cd sentrysearch
uv tool install .

Depois disso, você precisa inicializar a configuração e adicionar uma chave de API (se planeja usar o Gemini):

sentrysearch init

Indexando uma pasta com vídeos:

sentrysearch index /path/to/your/video

E, na verdade, a própria busca:

sentrysearch search "человек в синей куртке подходит к двери"

Vale a pena?

A principal questão ao usar uma API na nuvem é o preço. O autor calculou que indexar uma hora de vídeo através do Gemini custará cerca de $2,84. Não é troco se você tem terabytes de arquivos, mas é bastante aceitável para revisar rapidamente um incidente específico.

Se você usar um modelo local, paga apenas com tempo de GPU. Na NVIDIA 4090, processar um pedaço de 30 segundos leva apenas um par de segundos.

Das desvantagens, eu notaria que a qualidade da busca depende fortemente de como os limites dos pedaços se alinham com os eventos-chave. Se uma ação começou no final de um pedaço e terminou no início de outro, o modelo pode "se confundir". Mas a sobreposição resolve parcialmente esse problema.

O SentrySearch é um ótimo exemplo de como LLMs modernos e modelos multimodais estão passando de brinquedos de chatbot para utilitários genuinamente úteis para tarefas cotidianas. Se você já teve que procurar manualmente "aquele momento exato" em gravações de câmeras, esta ferramenta definitivamente vale os 15 minutos de configuração.

Projetos relacionados