Об этом проекте
SentrySearch — это инструмент командной строки для семантического поиска по видео. Он обрабатывает видеофайлы, разбивая их на перекрывающиеся фрагменты (по умолчанию 30 секунд с перекрытием 5 секунд), генерирует эмбеддинги для каждого фрагмента с помощью Google Gemini Embedding API, Qwen3-VL-Embedding от Alibaba DashScope (qwen-cloud) или локальной модели Qwen3-VL, и сохраняет векторы в локальной базе данных ChromaDB. Пользователи могут выполнять поиск с помощью запросов на естественном языке или эталонных изображений, чтобы получить соответствующие видеосегменты, которые автоматически обрезаются из исходных файлов и сохраняются как клипы.
Ключевые возможности включают:
- Семантический поиск по видео на основе текста и изображений
- Несколько бэкендов эмбеддингов: Gemini API (по умолчанию), Qwen Cloud (DashScope) и локальный Qwen3-VL (варианты 8B или 2B с опциональным 4-битным квантованием)
- Автоматическое определение оборудования для выбора локальной модели (qwen8b для NVIDIA GPU с 18GB+ VRAM или Apple Silicon с 24GB+ RAM; qwen2b для меньших конфигураций)
- Конвейер предобработки, который уменьшает масштаб фрагментов до 480p при 5fps через ffmpeg перед эмбеддингом, снижая размер полезной нагрузки и время вывода
- Пропуск статичных кадров для избежания эмбеддинга визуально неизменных фрагментов
- Порог уверенности с опциональным реранкингом на основе VLM (Gemini 2.5 Flash для облачных бэкендов, локальный Qwen3-VL Instruct для локальных)
- Дедупликация почти идентичных результатов через потолок косинусного сходства
- Режим выделения для выявления статистически аномальных клипов (методы knn, centroid или LOF)
- Оверлей метаданных телеметрии Tesla (скорость, GPS, обратное геокодирование) на обрезанных клипах
- Интеграция с SentryMerge для склейки событий с нескольких камер и SentryBlur для редактирования лиц/номеров/по запросу
- Очередь недоставленных сообщений для неудачных фрагментов с возможностью повторной попытки
- Команды управления индексом (статистика, удаление, сброс)
Установка использует uv (требуется Python 3.11/3.12). Локальный бэкенд требует ffmpeg на macOS и PyTorch с CUDA на NVIDIA. Эмбеддинги из разных бэкендов/моделей изолированы в отдельных индексах. Стоимость для бэкенда Gemini составляет примерно $2.84 за час индексированного видео (настройки по умолчанию). DashScope выставляет счета за каждые 1 тыс. входных токенов по модальности. Локальный бэкенд работает полностью офлайн без затрат на API.
Инструмент предназначен для рабочих процессов с видеорегистраторами/камерами безопасности, но работает с любыми видеофайлами. Он выводит стандартные клипы MP4, воспроизводимые где угодно.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.