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 對影片內容的視覺理解能力。
工作原理
該工具使用以下管道在本地處理影片:
- 取得與提取:使用
yt-dlp處理 URL,使用ffmpeg在每個場景變換時抓取畫面,並確保最低密度下限。 - 去重:採用滑動視窗去重系統,包含三個通道(全域像素差、小 UI 變化穩定檢測、動作通道),確保僅將唯一鏡頭傳給 LLM。
- 轉錄:優先使用現有字幕;否則使用 OpenAI Whisper(或
faster-whisper)進行本地語音轉文字。 - 打包:輸出包含關鍵幀、帶時間戳的 JSON 檔案與轉錄文字的資料夾,可上傳至 LLM。也支援將幀拼接為聯絡表(
--grid),幫助模型追蹤運動。 - 整合:可作為 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)。
相關
- Dispatch
- 專案
- 專案
- 專案
- 專案