HUANGCHIHHUNGLeo/claude-real-video

Let Claude (or any LLM) actually watch a video — scene-aware, deduplicated frames + transcript, from a URL or local file. Runs locally, MIT.

解決的問題

大多數 LLM 無法原生『觀看』影片,或依賴固定間隔取樣(例如每秒一幀),這常會錯過快速剪接,或在靜態畫面中浪費 token。claude-real-video 提供一個本地處理管道,基於場景變換檢測與去重,僅提取最具意義的畫面,降低 token 成本,同時提升 AI 對影片內容的視覺理解能力。

工作原理

該工具使用以下管道在本地處理影片:

  1. 取得與提取:使用 yt-dlp 處理 URL,使用 ffmpeg 在每個場景變換時抓取畫面,並確保最低密度下限。
  2. 去重:採用滑動視窗去重系統,包含三個通道(全域像素差、小 UI 變化穩定檢測、動作通道),確保僅將唯一鏡頭傳給 LLM。
  3. 轉錄:優先使用現有字幕;否則使用 OpenAI Whisper(或 faster-whisper)進行本地語音轉文字。
  4. 打包:輸出包含關鍵幀、帶時間戳的 JSON 檔案與轉錄文字的資料夾,可上傳至 LLM。也支援將幀拼接為聯絡表(--grid),幫助模型追蹤運動。
  5. 整合:可作為 CLI、本地 Web UI(crv-web)或 MCP 伺服器執行,可直接與 Claude Desktop 和 Cursor 等代理整合。

適用對象

  • AI 高階使用者:希望使用 LLM 分析影片,但不願將原始檔案上傳至雲端服務的使用者。
  • 開發者:使用編碼代理(Claude Code、Cursor)的使用者,希望其代理能透過技能/插件『觀看』影片。
  • 研究人員:需要高品質、去重的關鍵幀提取器進行影片分析的使用者。

亮點

  • 本地處理:所有幀提取與轉錄均在使用者機器上完成;僅最終選定的資料與 LLM 共享。
  • 智能取樣:使用場景變換檢測而非固定間隔,捕捉快速剪接並壓縮靜態投影片。
  • 高階去重:即使在切出後(A-B-A 剪接)也能防止重複幀被傳送。
  • 代理整合:以 MCP 伺服器與多種代理主機插件形式提供。
  • 靈活輸入:支援 YouTube、Instagram、TikTok 與本地檔案。
  • 記憶系統:透過 SQLite 本地索引所有觀看過的影片,允許使用者在整個影片資料庫中搜尋(crv-ask)。

相關