概要
SentrySearch は、ダッシュカム映像を 意味検索 で瞬時に探し、該当部分だけを 自動切り出し できるCLIツール。 Googleの Gemini Embedding 2 を活用し、動画とテキストを同じベクトル空間で比較。 ChromaDB に動画ベクトルを格納し、自然言語で検索可能。 コスト削減機能 や柔軟な設定オプションも搭載。 Tesla Sentry Mode 以外の一般的なmp4映像にも対応。
SentrySearchの仕組み
- ダッシュカム映像 を 重複するチャンク に分割し、それぞれを Gemini Embedding 2 でベクトル化
- 各チャンクのベクトルを ChromaDB のローカルデータベースに保存
- テキスト検索時 はクエリを同じベクトル空間にエンベッドし、最も近い動画チャンクを自動抽出
- 該当部分のみ 元動画から自動トリミングしてクリップとして保存
導入手順
- リポジトリのクローンとインストール
git clone https://github.com/ssrajadh/sentrysearch.gitcd sentrysearchpython -m venv venv && source venv/bin/activatepip install -e .
- APIキー設定
sentrysearch initで Gemini APIキー を登録・検証- もしくは
.env.exampleをコピーし、APIキーを手動で追加
- 映像のインデックス化
sentrysearch index /path/to/dashcam/footageで動画をベクトル化・登録- オプションで チャンク長 や オーバーラップ、 解像度/フレームレート の調整が可能
- 検索
sentrysearch search "赤いトラックが一時停止無視"のように自然言語で検索- 上位マッチの該当部分のみ自動でトリミング・保存
--results Nや--output-dir DIR等のオプション指定可能
- 統計情報表示
sentrysearch statsでインデックス済みチャンク数やファイル数を表示
- 詳細ログ
- 各コマンドに
--verboseを追加で、埋め込み次元やAPI応答時間、類似度スコア等を出力
- 各コマンドに
Gemini Embedding 2の特徴
- 動画ピクセル をそのまま 768次元ベクトル に変換
- テキストクエリ と動画チャンクを直接比較可能
- 文字起こしやキャプション不要 で、数時間分の映像でも サブ秒検索 を実現
コストと最適化
- 1時間のインデックス化 で約 $2.50 (30秒チャンク、5秒オーバーラップ時)
- API課金は動画時間単位 で、ファイルサイズには依存しない
- コスト削減機能
- プリプロセス(デフォルトON) :480p/5fpsにダウンサンプリングし、アップロード量削減
- 静止フレームスキップ(デフォルトON) :動きのないチャンクはAPI送信自体を省略
- 駐車中や監視カメラ映像では大幅コスト削減
- チューニングオプション
--chunk-duration/--overlapでAPI呼び出し回数調整--no-skip-stillで全チャンクを強制埋め込み--target-resolution/--target-fpsで画質調整--no-preprocessでプリプロセス無効化
制限事項と今後の課題
- 静止フレーム検出 はJPEGファイルサイズ比較によるヒューリスティック
- 微細な動きの検出漏れや、完全静止チャンクの誤埋め込みの可能性
- 全チャンクをインデックス化したい場合は
--no-skip-still
- チャンク境界 による検索精度の影響
- イベントがチャンクをまたぐ場合、重複ウィンドウで補助するが完全ではない
- シーン検出 によるスマートチャンク化が将来的課題
- Gemini Embedding 2はプレビュー版 のため、API仕様や料金変更の可能性
対応動画・要件
- mp4形式 の全ダッシュカム/監視カメラ映像に対応(Tesla Sentry Mode専用ではない)
- ディレクトリ内の全mp4を再帰的に検索・インデックス化
- 必要環境
- Python 3.10以上
- ffmpeg(PATHにあるか、imageio-ffmpegで自動利用)
- Gemini APIキー(https://aistudio.google.com/apikey から取得)
まとめ
- SentrySearch は、 数時間分の映像 から 自然言語で瞬時に該当クリップを抽出 できる先進的CLI
- Gemini Embedding 2 で 動画とテキストの意味空間を統合
- コスト最適化機能 や 柔軟な設定 で様々な用途・映像に対応
- 監視カメラ や Tesla Sentry Mode 以外の一般ダッシュカムにも利用可能