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:
1 parent
24040ee171
commit
2666a611b1
3 files changed
+30
-44
No files matched your search
File renamed without changes.
File renamed without changes.
@@ -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` 抢同一个触发词。
|
||||
Reference in new issue
Block a user