product-planning:video-capture(取视频+抽帧)已独立为全局技能,③段只留交接说明

- assets/video-capture/SKILL.md 改为**不带 frontmatter 的交接说明**,指向全局技能
  E:/ProgramData/.workbuddy/skills/video-capture/(本仓白名单外,故脚本真身不在本仓)。
- 两个脚本 extract_frames.py / fetch_video.py **只搬不删**,移入
  references/_留痕/video-capture-已独立-20261011/scripts/ 留档。
- 依据:2026-10-11 用户令「把如何获取视频、如何提取关键帧等视频解析相关内容
  打包成一个技能,独立出来,装到全局技能仓」。
- 目的:避免同一套抽帧判据在两处各存一份(改一处漏一处的同族坑)。
This commit is contained in:
admin committed 2026-10-12 09:50:17 +08:00
1 parent 24040ee171
commit 2666a611b1
3 files changed
+30 -44

No files matched your search

@@ -1,46 +1,32 @@
---
name: video-capture
description: 独立工具 —— 取一个视频并抽帧(双因素 + 首尾 + 补帧),产出关键帧与时间线,供分析/参考。当用户说「分析 XXX 视频」「把这个视频抽帧」「拆一下这条视频的画面」「提取视频关键帧」时调用。
agent_created: true
# video-capture 已独立为全局技能(交接说明)
> 🔴 2026-10-11:本工具(**取视频 + 抽帧**)已独立成**全局技能**,不再随③段携带。
## 新位置(权威件)
- 技能根:`E:/ProgramData/.workbuddy/skills/video-capture/`
- `SKILL.md` —— 触发词、两步用法、抽帧算法铁律、边界
- `scripts/fetch_video.py` —— 取视频(本地文件 / 直链 URL)
- `scripts/extract_frames.py` —— 抽帧(双因素 + 首尾 + 补帧),产 `c_<序号>_<真实秒数>s.jpg` + `frame_times.json`
- `references/视频抽帧与字幕规范.md` —— 算法权威件
## 本目录现状
- 只留这份交接说明;原 `scripts/` 已移到
`product-planning/references/_留痕/video-capture-已独立-20261011/scripts/`(留档,⛔ 不删)。
- `ATTRIBUTION.md` 保留原位(署名信息仍有效)。
- 引用方:`product-planning/SKILL.md` §可调用工具 已改指全局技能。
## 判据零改动
阈值与算法原样保留:三档 `0.3 / 0.1 / 0.05`、字幕区 crop 后检测、>5s 补中点、
尾帧 `时长-0.3`、逐点 `-ss` 抽帧、保持原分辨率。
## 为什么独立
该能力**跨项目复用**;埋在 `product-planning` 的③段资产目录里时,非产品规划类的任务命不中它 ——
2026-10-11 实测:一次「取视频 + 抽帧 + 梳理」的任务因此没加载它,自写固定节奏脚本,22 个视频的关键帧全部返工。
---
# video-capture · 取视频 + 抽帧(独立工具)
把「一个视频」变成「一批有信息量的关键帧 + 时间线」,用于产品分析 / 竞品拆解 / 视觉参考。
## 一、什么时候用
- 用户说「**分析 XXX 视频**」「把这个视频抽帧」「拆一下这条视频的画面」「提取视频关键帧」。
- ①段竞品分析要拆竞品 demo、③段要拿参考视频的画面。
## 二、怎么用(两步)
第一步 · 取视频(最小、合规)
```
python scripts/fetch_video.py --file D:/a.mp4 --out ./video
# 或直链媒体 URL:
python scripts/fetch_video.py --url https://host/x.mp4 --out ./video
```
- ⛔ 不抓平台页内视频(抖音/B站/YouTube 页面解析)+ ⛔ 不调付费接口:需平台视频请先用浏览器工具下到本地,再 `--file` 传入。
第二步 · 抽帧(双因素 + 首尾 + 补帧)
```
python scripts/extract_frames.py --video ./video/a.mp4 --out ./frames
```
- 产 `frames/c_XXXX_<时间>s.jpg` + `frames/frame_times.json`(含时长/分辨率/字幕裁剪/阈值/帧表)。
- 可选:`--crop "720:240:0:720"` 指定字幕区;`--max-gap 5` 长间隔补帧阈值;`--thresholds 0.3,0.1,0.05`。
## 三、抽帧算法(铁律,来自《视频抽帧与字幕规范》)
1. 画面 scene 0.3;2. **字幕区 crop 后 scene 0.1**(漏这条 = 画面静止但字幕换句的帧全丢);
3. 低阈值 scene 0.05 补漏;4. 首帧(0) + 尾帧(时长-0.3);5. 相邻帧间隔 >5s 补中点;逐点 `-ss` 抽帧(禁 `eq(t)`)。
## 四、边界
- 字幕识别不在此工具内(本工具只出帧);要字幕稿需另对帧做逐帧 OCR/视觉读取。
- 抽帧是「有信息量的帧」而非固定节奏:帧数随内容变化。
- ⛔ 内容合规:只对用户有权分析的素材使用。
## 五、归属
抽帧算法搬运自 `aigc-idea-impression` 技能的《视频抽帧与字幕规范》(用户自有技能),见 `ATTRIBUTION.md`。
⛔ 本文件**不带 frontmatter**,因此不再注册成一个技能 —— 避免与全局技能 `video-capture` 抢同一个触发词。