1实现原理 · 为什么它能做到
先定位 skill 根目录,之后所有命令都经 scripts/transcript.py 执行。
skills/video-transcript/SKILL.md
被触发时你必须先定位自己,跑这段:
注:这里在做什么:解决 skill 被装到非标准路径时的自定位问题。
执行前先做意图分流:只要下载则改走 video-download,意图不明先询问。
skills/video-transcript/SKILL.md
在跑任何下载/转录命令前,先判断用户要的是哪一种:
注:这里在做什么:把「下载」与「转录」两条路径分开,避免误触发。
首次或报错时先跑 --doctor 体检,缺项引导跑 install.sh。
skills/video-transcript/SKILL.md
第一次跑或者遇到报错时,先做体检:
注:这里在做什么:把依赖/配置问题挡在转录之前。
启动 headless 浏览器探测,拿标题、时长与视频/音频直链并打印评估表。
skills/video-transcript/SKILL.md
0. **探测** — 启动 headless 浏览器,拿标题、时长、视频/音频直链;打印 📊 评估表 + 预估耗时
注:这里在做什么:先探测再下载,顺带给用户等待预期。
总时长超过 8 分钟自动切成 6 分钟/段,规避被模型概括成摘要。
skills/video-transcript/SKILL.md
2. **长视频切片** — 总时长 > 8min 自动切成 6min/段,避免被模型概括成摘要
注:这里在做什么:用切片保证长视频仍然逐字转录。
用 ffmpeg 把视频压缩到目标 30MB,并按时长自动选分辨率。
skills/video-transcript/SKILL.md
3. **压缩** — ffmpeg,目标 30MB;按时长自动选分辨率,一次到位
注:这里在做什么:控制上传体积以满足模型接口限制。
逐段调用豆包视频理解 API,用严格逐字 prompt 转录。
skills/video-transcript/SKILL.md
4. **转录** — 豆包视频理解 API,严格逐字 prompt(保留口语词、网络梗、停顿)
注:这里在做什么:模型直接听音频转录,无需独立 ASR。
合并各段输出并自动修正段头时间戳偏移。
skills/video-transcript/SKILL.md
5. **合并** — 长视频合并各段输出 + 自动调整段头时间戳偏移
注:这里在做什么:把分段转录拼回成一篇连续逐字稿。
强制 agent 复述评估表给用户等待预期,并完整展示逐字稿全文。
skills/video-transcript/SKILL.md
**你必须立刻把它复述给用户**,告诉他:
注:这里在做什么:用输出纪律对抗「只报保存路径」的偷懒行为。
平台前端改版导致抓取失败被当常态,配 FALLBACK.md 人工兜底。
skills/video-transcript/SKILL.md
| 平台前端改版导致抓取失败 | 看 `$VT_HOME/FALLBACK.md` 走人工兜底 |
注:这里在做什么:给抓取失败留一条可操作的人工退路。
2核心能力
01多平台视频源支持(B站/抖音/小红书/YouTube/视频号/本地)
02headless 探测与评估表输出
03长视频自动切片防概括
04ffmpeg 压缩与分辨率自适应
05豆包视频理解 API 严格逐字转录
06语义分段 + 段落级时间戳输出格式
07stdout 直出 + 落盘双通道
08doctor 体检与故障排查指引
09微信视频号桥接 video-download
3外部依赖
| 类型 | 依赖 |
|---|---|
| cli | ffmpeg / ffprobe |
| package | yt-dlp>=2024.3.10 |
| package | playwright>=1.40 |
| api | 豆包 / 火山方舟视频理解 API |
| network | B站 / 抖音 / 小红书 / YouTube 等平台 |
| cli | video-download(视频号桥接,可选依赖) |
4风险提醒 风险提醒:红色 · 谨慎使用
风险提醒:红色 · 谨慎使用
- 含反自动化检测绕过(AutomationControlled + 隐藏 webdriver),可能违反平台条款。 — scripts/platform_extractor.py 显式关闭自动化特征,属红色档特征。
- 读取用户 API Key 并把视频内容送豆包后端,按字符计费且素材出网。 — 读 $VT_HOME/.env 的 DOUBAO_API_KEY,视频理解约 ~0.0008 元/秒。
- 平台前端改版常导致抓取失败,需人工兜底。 — SKILL.md 与 FALLBACK.md 均提示改版是常态。
- 压缩/转码依赖本机 ffmpeg,环境不具备则失败。 — install.sh 仅支持 macOS,Linux/Windows 需手动安装。
红色:scripts/platform_extractor.py 启动 Chromium 时传入 `args=["--disable-blink-features=AutomationControlled"],`,并显式 add_init_script 将 navigator 的 webdriver 置为 undefined(源码注释 `# 反 webdriver 检测`,语句 `Object.defineProperty(navigator, 'webdriver', { get: () => undefined });`)——属技术性绕开平台自动化侦测,按六档范式(red=绕过防护/反自动化检测绕过,且不看是否为默认路径)判红,与 notebooklm-skill、baoyu-post-to-x 先例一致。此外 skill 还读 .env 的 DOUBAO_API_KEY 并把用户视频/音频内容送豆包后端生成(命中橙色特征),但红档优先。判红为能力/策略级提示,非疑似恶意植入:代码可读、无混淆、无硬编码密钥、无向非预期对象外发。
5第二遍独立确认
- [ok] 流程步骤完整性 — SKILL.md 阶段 0–5 与 README『架构』流程(探测→评估表→下载→切片→转录→合并→输出)一致。
- [ok] 依赖声明 — requirements.txt 与 install.sh 的 pip / playwright 安装点一致。
- [ok] 安装脚本性质 — bootstrap.sh 三档兜底(npx / git sparse-checkout / tarball)+ install.sh 均为用户主动运行的安装向导。
- [ok] 反自动化证据 — 回源 scripts/platform_extractor.py 确认 --disable-blink-features=AutomationControlled 与隐藏 navigator.webdriver 的语句真实存在。
- [ok] 凭证读取范围 — 仅读 $VT_HOME/.env 的 API Key,install.sh 写入后 chmod 600。
- [ok] 外发对象 — 平台页与豆包 API 均为声明用途所需,未见向非预期第三方的回传。
- [ok] 产物落盘 — .gitignore 屏蔽 .env 与 outputs/,逐字稿落 $VT_HOME/outputs/。
- [ok] 档位复核 — 反自动化检测绕过硬证据 → red;同含凭据读取与外发特征,红档优先。
6结论
适合:需要把公开视频转成带时间戳逐字稿的内容创作者、研究者;能自备豆包 API Key 并接受安装 ffmpeg/Chromium 的用户。
不适合:在意平台合规、拒绝任何自动化侦测规避者;无法提供豆包 API Key 或不愿让视频内容出网者;需要词级时间戳或纯离线转录的场景。
安装 agent 直装可复制
① 本站镜像 更新 2026-10-10
方式 A · 人下载镜像包下载 video-transcript.tar.gz
sha256:
方式 B · JSON 格式安装指南,复制给 agentabd43fa2c309a839…agent 读 JSON 指南后会自动从本站下载安装,无需更多说明。
② 上游 GitHub · 原始来源
来源信息 GitHub 原始
作者 / 仓库Backtthefuture / Backtthefuture/huangshu
原始 GitHubBacktthefuture/huangshu ↗
本 skill commit
3cfa898c51许可MIT(仓库根 LICENSE)
本站信息
收录日期2026-09-06
分类基础工具与工作流
侦查报告AI 侦查 · 2 遍 · 2026-09-06
本站镜像与 GitHub 原始是不同来源:本站锁定 commit 快照经 /r2 分发;GitHub 为实时上游,内容可能已更新。