mcpField
W
watch-video

watch-video

github.com/blink-new生产力55 次安装
代码仓库

关于 watch-video

用于分析公开视频链接的技能,会结合画面内容与语音生成详细报告,供工程师、产品经理和设计师参考。它按平台获取元数据、缩略图或视频,并在存储空间不足时使用可用资料生成报告。

主要功能

  1. 01识别 Loom、YouTube 等视频平台
  2. 02提取视频元数据与缩略图
  3. 03转录音频并分析画面
  4. 04输出所见内容与语音报告
  5. 05存储空间不足时使用替代分析

适用场景

  1. 01无需观看视频了解界面与状态
  2. 02整理视频中的语音内容
  3. 03分析产品演示或屏幕录制
  4. 04在无法下载完整视频时生成报告

安装

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

$npx skills add https://github.com/blink-new/claude --skill watch-video

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

包含的文件

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

gemini-api.md
platforms.md
scripts/
analyze_video.py
loom_meta.py

详细介绍

观看视频

分析公开的视频 URL,并生成一份生动、详细的报告,涵盖画面中看到的内容和听到的话语,准确到让工程师、产品经理或设计师无需观看视频也能采取行动。

工作流程

步骤 1:确定视频平台
平台策略
Loom从页面提取元数据和缩略图;使用 Gemini 分析缩略图和描述
YouTube使用 yt-dlp 下载音频 → 使用 Whisper 转录;或使用 Gemini 分析缩略图
其他先尝试使用 yt-dlp;若失败,则抓取页面并获取缩略图
步骤 2:无需下载即可提取的信息

始终先尝试获取免费数据(无需占用磁盘空间):

# Get Loom metadata (title, description, duration, transcript status)
python3 scripts/loom_meta.py "https://www.loom.com/share/VIDEO_ID"

# Get YouTube metadata
yt-dlp --dump-json --no-download "YOUTUBE_URL" | python3 -c "
import sys, json
d = json.load(sys.stdin)
print('Title:', d['title'])
print('Description:', d['description'][:500])
print('Duration:', d['duration'])
"
步骤 3:获取缩略图

缩略图始终公开可见,能展示界面状态、屏幕内容和数字。

# Loom: thumbnail URL is in oembed response
curl -s "https://www.loom.com/v1/oembed?url=LOOM_URL" | python3 -c "
import sys, json
d = json.load(sys.stdin)
print(d['thumbnail_url'])  # animated GIF — download this
"

# YouTube: predictable URL
# https://img.youtube.com/vi/VIDEO_ID/maxresdefault.jpg

下载缩略图:

curl -s "THUMBNAIL_URL" -o /tmp/video_thumb.gif  # or .jpg
步骤 4:使用 Gemini 分析

使用 scripts/analyze_video.py — 传入缩略图和所有元数据。

python3 scripts/analyze_video.py \
  --thumb /tmp/video_thumb.gif \
  --title "Video title" \
  --description "Auto-generated description text" \
  --duration 143

或者直接调用 Gemini API(参见 gemini-api.md)。

步骤 5:如果磁盘空间允许 — 下载并进行完整分析
# Check disk first
df -h ~ | awk 'NR==2 {print $4}'

# Download with yt-dlp (works for Loom + YouTube + 1000+ sites)
yt-dlp "VIDEO_URL" -o /tmp/video.mp4

# Option A: Gemini video analysis (best for screen recordings)
python3 scripts/analyze_video.py --video /tmp/video.mp4

# Option B: Whisper transcription only (fast, audio-only)
curl -X POST https://api.openai.com/v1/audio/transcriptions \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -F "file=@/tmp/video.mp4" \
  -F "model=whisper-1"

输出格式

每次都使用以下结构:

## Video Analysis: [Title]

**URL:** [link] | **Duration:** [X:XX]

### What's on screen
[Vivid description of every visible UI element, number, text, state shown in the video/thumbnail. Be exhaustive — mention exact values, UI panel names, error messages, data shown.]

### What was said
[Transcript or paraphrase of the narration, with key quotes verbatim]

### Problem / Topic Summary
[1-2 sentences: what this video is about or demonstrating]

### Key Data Points
| Item | Value |
|------|-------|
| [exact numbers, names, states observed] | [value] |

### Action Items / Root Cause (if bug report)
[Specific things to investigate or do, based on the video content]

平台说明

关于各平台的特殊情况(Loom CDN 身份验证、YouTube 年龄限制等),请参阅 platforms.md。

磁盘空间不足时的备用方案

如果磁盘空间已满(df -h 显示可用空间不足 500MB):

  1. 仅使用缩略图和元数据(以上步骤 1–4)
  2. Loom 自动生成的描述非常详细 — 与缩略图结合可获得良好的覆盖效果
  3. 切勿静默失败 — 始终根据现有数据生成报告

评论

支持 Markdown