Skip to content

/video-understanding

把视频分析为结构化理解索引:场景检测、ASR 转写、逐场景 VLM 观察、静音窗口、融合时间线和写作 brief。 用于理解、索引或总结视频,也作为后续创作前的分析阶段。输入视频文件;输出 scenes.json、 asr_result.json、vlm_analysis.json、silence_periods.json、timeline_fusion.json、agent_narration_brief.md。 触发词:视频理解、视频分析、视频索引、video understanding、analyze video、看懂视频。

shell
$ npx -y skills add worldwonderer/video-recap-skills --skill video-understanding --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/video-understanding
How auto-invocation works

Context preview

The summary Claude sees to decide when to auto-load this skill.

把视频分析为结构化理解索引:场景检测、ASR 转写、逐场景 VLM 观察、静音窗口、融合时间线和写作 brief。 用于理解、索引或总结视频,也作为后续创作前的分析阶段。输入视频文件;输出 scenes.json、 asr_result.json、vlm_analysis.json、silence_periods.json、timeline_fusion.json、agent_narration_brief.md。 触发词:视频理解、视频分析、视频索引、video understanding、analyze video、看懂视频。

SKILL.md

video-understanding.SKILL.md
name: video-understanding
user-invocable: false
description: >
 把视频分析为结构化理解索引:场景检测、ASR 转写、逐场景 VLM 观察、静音窗口、融合时间线和写作 brief。
 用于理解、索引或总结视频,也作为后续创作前的分析阶段。输入视频文件;输出 scenes.json、
 asr_result.json、vlm_analysis.json、silence_periods.json、timeline_fusion.json、agent_narration_brief.md。
 触发词:视频理解、视频分析、视频索引、video understanding、analyze video、看懂视频。

1. 定位

本技能把源视频转成 Agent 与下游阶段可读取的理解索引。它的创作角色是**素材观察员 / 场记**,不是导演:

  • 先观察,再解释;事实与推断分开。
  • 除了“发生了什么”,还要让下游看见知识、权力、目标、关系或情绪在哪一刻变化。
  • 标出由谁的 POV 承载变化、哪个反应或表演不可替代,以及哪里存在完整台词/动作的自然剪辑边界。
  • 证据不足时保留不确定性,不制造戏剧结论。

2. 处理阶段

1. **场景检测**:写 `scenes.json`,包含切点、时长和废片段过滤结果。 2. **抽帧**:为视觉分析提取代表帧。 3. **ASR**:通过 `mimo-v2.5-asr` 写时间戳对白 `asr_result.json`。 4. **静音检测**:写 `silence_periods.json`,标注安静窗口与 `has_speech`。 5. **VLM 观察**:写 `vlm_analysis.json`,包含场景描述、深层分析和 `frame_facts`。 6. **时间线融合与创作 brief**:写 `timeline_fusion.json`、`asr_writing_chunks.json` 和 `agent_narration_brief.md`。

各阶段只有在输出产物与 provenance sidecar 同时匹配当前视频及影响结果的设置时才会复用;`--force` 强制重算。

3. 环境要求

# ffmpeg: brew install ffmpeg | apt install ffmpeg | choco install ffmpeg
export MIMO_API_KEY=***

ASR 使用 `mimo-v2.5-asr`;VLM 使用 `mimo-v2.5`。`--skip-asr` 可跳过对白转写,但完整理解仍需要 `MIMO_API_KEY` 运行 VLM。`--mimo-video-overview` 可开启按场景块的视频概览。

若 `work_dir/background_research.json` 存在,本技能会把剧情梗概和角色名折入 VLM 上下文;`--context` 可补充一条简短提示。

下面的 `scripts/...` 均相对于本技能目录。若执行器从仓库根目录启动,请给脚本路径加上本技能的绝对目录。脚本不从其他技能目录读取文件;外部输入仅限命令显式传入的视频、参数与 `work_dir` 产物。

4. 运行命令

python3 scripts/understand.py <video> --work-dir <work_dir> \
  [--context "节目名/角色名"] [--scene-threshold 0.1] [--skip-asr] [--mimo-video-overview] [--force]

5. 输出契约

| 文件 | 内容 | |------|------| | `scenes.json` | 场景切点、起止时间与时长 | | `asr_result.json` | `[{start, end, text}]` 时间戳对白 | | `vlm_analysis.json` | 逐场景描述、深层分析与 `frame_facts` | | `silence_periods.json` | `[{start, end, duration, has_speech}]` 安静窗口 | | `timeline_fusion.json` | VLM、ASR 与静音信息的统一时间线 | | `asr_writing_chunks.json` | 按句界和场景切分的 ASR 写作块 | | `agent_narration_brief.md` | Agent 首先阅读的创作简报 |

后续写作阶段根据创作简报与索引制定方案并写 `narration.json`。

6. 参考资料

  • 背景调研:`references/research-guide.md`,产出 `background_research.json`。
  • JSON 结构:`references/data-schema.md`。

7. 能力边界

  • 不写解说词,也不做解说评分;只负责生成理解索引与创作简报。
  • 不剪辑、不配音、不合成视频。
  • 不编造信号无法支持的剧情;当 ASR / VLM 过薄时输出素材警告。
  • 不发布、不调度,只向 `work_dir` 写产物并停止。
Read more
Read it on GitHub ↗
Ships withvideo-recap-skills

在 Claude Code、Codex CLI、OpenCode 或 OpenClaw 里,用一句自然语言把视频变成中文解说成片。 本地只需要 Python、ffmpeg 和一个小米 MiMo API Key;不用 GPU,不用下载模型,macOS / Linux / Windows 均可运行。

Get the whole plugin, auto-invoked
Stats
437
Stars
0
Views
71
Forks
Active
Maintenance
Python
Language
MIT
License
7d ago
Last commit
3mo ago
Created

Repo: worldwonderer/video-recap-skills

Other skills on video-recap-skills.