mcpField
V
video-understand

video-understand

github.com/jrusso1020生产力34300 次安装38 周前更新
代码仓库

关于 video-understand

通过命令行分析网络地址或本地文件中的视频,并在视频理解与语音转写选项间选择或回退。适合希望从不同可用提供方获得统一 JSON 结果的用户。

主要功能

  1. 01自动选择提供方并回退
  2. 02分析视频与音频
  3. 03自定义提示词和提供方
  4. 04选择各提供方的模型
  5. 05统一 JSON 输出
  6. 06支持 YouTube 与本地文件

适用场景

  1. 01分析 YouTube 视频
  2. 02处理本地视频文件
  3. 03视频分析不可用时转写音频

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/jrusso1020/video-understand-skills --skill video-understand

安装后在 Claude Code 中输入/video-understand确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
asr-providers.md
ffmpeg-frames.md
gemini.md
openrouter.md
output-format.md
setup-guide.md
video-sources.md
scripts/
check_providers.py
process_video.py
setup.py

详细介绍

视频理解

支持多提供商的视频理解,具备自动回退和模型选择功能。

快速开始

# Check available providers
python3 scripts/check_providers.py

# Process a video (auto-selects best provider)
python3 scripts/process_video.py "https://youtube.com/watch?v=..."
python3 scripts/process_video.py /path/to/video.mp4

# Custom prompt
python3 scripts/process_video.py video.mp4 -p "List all products shown with timestamps"

# Use specific provider/model
python3 scripts/process_video.py video.mp4 --provider openrouter -m google/gemini-3-pro-preview

# List available models
python3 scripts/process_video.py --list-models

提供商优先级

自动选择当前可用的最佳提供商:

优先级提供商能力环境变量默认模型
1Gemini完整视频分析GEMINI_API_KEYgemini-3-flash-preview
2Vertex AI完整视频分析GOOGLE_APPLICATION_CREDENTIALSgemini-3-flash-preview
3OpenRouter完整视频分析OPENROUTER_API_KEYgoogle/gemini-3-flash-preview
4FFMPEG视频帧 + ASR无(需要 ffmpeg + whisper)scene
5OpenAI仅 ASROPENAI_API_KEYwhisper-1
6AssemblyAIASR + 分析ASSEMBLYAI_API_KEYbest
7DeepgramASRDEEPGRAM_API_KEYnova-2
8GroqASR(快速)GROQ_API_KEYwhisper-large-v3-turbo
9本地 WhisperASR(离线)无base

完整视频分析 = 视觉 + 音频分析。视频帧 + ASR = 提取的视频截图 + 音频转录(免费、离线)。ASR = 仅音频转录。

CLI 选项

python3 scripts/process_video.py [OPTIONS] SOURCE

Arguments:
  SOURCE              YouTube URL, video URL, or local file path

Options:
  -p, --prompt TEXT   Custom prompt for video understanding
  --provider NAME     Force specific provider
  -m, --model NAME    Force specific model
  --asr-only          Force ASR-only mode (skip visual analysis)
  -o, --output FILE   Write JSON to file instead of stdout
  -q, --quiet         Suppress progress messages
  --list-models       Show available models per provider
  --list-providers    Show available providers as JSON

模型选择

每个提供商都支持多个模型。使用 --list-models 查看选项:

python3 scripts/process_video.py --list-models

OpenRouter 模型:

  • google/gemini-3-flash-preview(默认)- 快速,免费层级
  • google/gemini-3-pro-preview - 更高质量

Gemini 模型:

  • gemini-3-flash-preview(默认)- 最新、快速
  • gemini-3-pro-preview - 最高质量
  • gemini-2.5-flash - 稳定的生产环境回退选项

本地 Whisper 模型:

  • tiny、base(默认)、small、medium、large、large-v3

FFMPEG 模式(视频帧提取策略):

  • scene(默认)- 在场景切换时提取视频帧(智能、高效)
  • keyframe - 仅提取 I 帧(最快)
  • interval - 按固定间隔提取视频帧(可预测)

快速参考

任务参考文档
设置和 API 密钥setup-guide.md
使用 Gemini 分析视频gemini.md
使用 OpenRouteropenrouter.md
FFMPEG 视频帧(免费)ffmpeg-frames.md
ASR 提供商asr-providers.md
输出 JSON 架构output-format.md
视频来源和下载video-sources.md

验证设置

python3 scripts/setup.py  # Check dependencies and API keys

输出格式

所有提供商都会返回格式一致的 JSON:

{
  "source": {
    "type": "youtube|url|local",
    "path": "...",
    "duration_seconds": 120.5,
    "size_mb": 15.2
  },
  "provider": "openrouter",
  "model": "google/gemini-3-flash-preview",
  "capability": "full_video",
  "response": "...",
  "transcript": [{"start": 0.0, "end": 2.5, "text": "..."}],
  "text": "Full transcript..."
}

功能

  • 根据可用的 API 密钥自动选择提供商
  • 为每个提供商选择模型,并提供合理的默认值
  • 稳健的路径处理,支持 macOS 特殊字符和 Unicode
  • 进度输出(使用 -q 启用静默模式)
  • 针对 API 限制的文件大小警告
  • 按需自动转换视频格式
  • 支持 YouTube URL(直接使用或通过下载)

要求

完整视频理解:

pip install google-generativeai  # Gemini
pip install openai               # OpenRouter

ASR 回退:

brew install yt-dlp ffmpeg       # Video tools
pip install openai               # OpenAI Whisper
pip install groq                 # Groq Whisper
pip install assemblyai           # AssemblyAI
pip install deepgram-sdk         # Deepgram
pip install openai-whisper       # Local Whisper

评论

支持 Markdown