video-summarizer

将 B 站/YouTube/小红书/抖音视频转换为结构化 Notion 总结文档,自动上传截图,一键推送 Notion

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "video-summarizer" with this command: npx skills add video-summarizer

Video Summarizer — OpenClaw Skill

将 B 站/YouTube/小红书/抖音视频转换为结构化 Notion 总结文档,自动上传截图,一键推送 Notion。

版本: 1.0.10
发布: 2026-04-14
许可: MIT
作者: Ajay Hao


⚠️ 安全提示

  • 本技能会将视频内容发送至第三方 AI 服务进行分析
  • 建议使用专用 API Key(非生产环境)
  • OSS Bucket 请配置最小权限(仅写入/读取)
  • B 站 Cookies 仅在你控制的设备上使用

📖 技能描述

核心能力

  • 🎬 多平台支持: B 站、YouTube、小红书、抖音
  • 📝 智能分析: AI 提取关键概念、核心要点、注意事项
  • 📸 截图嵌入: 基于 AI 分析结果自动生成关键帧截图
  • ☁️ 图床集成: 阿里云 OSS 自动上传,永久链接
  • 🚀 一键推送: 自动推送 Notion 数据库

技术特性

  • 双模式转录: Plan A(官方字幕)优先,Plan B(语音转录)兜底
  • 并行优化: 字幕下载与视频下载并行执行,节省 32% 时间
  • GPU 自适应: 自动检测显存,选择最优 Whisper 模型
  • 断点续跑: 支持从中断点恢复,避免重复处理
  • 四层标签: 标题 hashtag → 元数据 → AI 关键词 → 默认值

🔐 安全与隐私说明

敏感数据处理

文件/路径用途敏感性用户控制
~/.cookies/bilibili_cookies.txtB 站官方字幕获取高(Session Token)用户主动扫码生成,可随时删除
~/.openclaw/.envAPI Keys 存储用户自行配置,skill 不修改
/tmp/video-summarizer-*/临时输出处理完成后可手动清理

外部服务端点

服务域名用途传输数据
DashScopedashscope.aliyuncs.comAI 分析字幕文本、元数据
阿里云 OSSoss-cn-shanghai.aliyuncs.com图床上传截图、封面图
Groqapi.groq.com备用转录(可选,需代理)音频片段
Bilibilibilibili.com视频下载/字幕无(仅下载)
YouTubeyoutube.com视频下载/字幕无(仅下载)
抖音douyin.com / iesdouyin.com视频下载无(仅下载)

说明:

  • Groq API 为可选加速方案,未配置时自动降级到本地 Faster-Whisper
  • 抖音专用下载器 douyin_downloader.py 已移除硅基流动依赖,使用与主流程一致的 Groq API + 本地降级方案

最小权限建议

  • OSS Bucket: 创建专用 Bucket,仅授予 PutObject/GetObject 权限
  • API Keys: 使用子账号 Key,设置 IP 白名单
  • 测试环境: 首次使用建议在隔离环境测试

🎯 平台支持详情

Bilibili(完整支持)

字幕: ✅ 官方字幕 + 自动字幕
语音转录: ✅ 支持(Plan B)
Cookies: 推荐(获取官方字幕)
下载工具: yt-dlp (>=2026.03.17)

操作步骤

# 1. 扫码登录(首次使用,获取官方字幕)
cd ~/.openclaw/skills/video-summarizer/scripts
./bili-login.sh

# 2. 处理视频
./video-summarize.sh "https://www.bilibili.com/video/BV1xxxx"

# 3. 查看结果
cat /tmp/video-summarizer-*/summary.md

说明:

  • Cookies 文件:~/.cookies/bilibili_cookies.txt
  • 无 Cookies 时使用 Plan B 语音转录
  • 支持 b23.tv 短链

YouTube(完整支持)

字幕: ✅ 自动字幕(多语言)
语音转录: ✅ 支持(Plan B)
Cookies: ❌ 不需要
下载工具: yt-dlp (>=2026.03.17)

操作步骤

# 直接处理(无需登录)
./video-summarize.sh "https://www.youtube.com/watch?v=dQw4w9WgXcQ"

# 指定输出目录
./video-summarize.sh "https://youtu.be/dQw4w9WgXcQ" /tmp/output

说明:

  • 需网络可达(可能需要代理)
  • 优先下载英文字幕,无则用语音转录
  • 支持 youtu.be 短链

小红书(基本支持)

字幕: ❌ 无字幕
语音转录: ✅ 唯一方式(Plan B)
Cookies: ❌ 不需要
下载工具: yt-dlp (>=2026.03.17)

操作步骤

# 直接处理(自动使用 Plan B 语音转录)
./video-summarize.sh "https://www.xiaohongshu.com/explore/xxxx"

# 或短链
./video-summarize.sh "https://xhslink.com/o/xxxx"

说明:

  • 必须使用 Plan B 语音转录
  • 推荐配置 GROQ_API_KEY 加速转录
  • 自动上传封面图到 OSS

抖音(完整支持)

字幕: ❌ 无字幕
语音转录: ✅ 唯一方式(Plan B)
Cookies: ❌ 不需要(专用下载器)
下载工具: douyin_downloader.py

操作步骤

# 直接处理(专用下载器,无需 Cookies)
./video-summarize.sh "https://www.douyin.com/video/7234567890"

# 支持短链
./video-summarize.sh "https://v.douyin.com/abc123/"

说明:

  • 使用专用下载器 douyin_downloader.py(仅用于获取元数据和下载视频)
  • 无反爬限制,无需 Cookies
  • 语音转录使用主流程的 transcribe-audio.py(Groq API + 本地降级)
  • douyin_downloader.py 的 extract 模式已移除硅基流动依赖,改用 Groq API + 本地降级

⚙️ 配置详解

环境变量(~/.openclaw/.env)

# ========== 必需配置 ==========

# 阿里云 OSS 图床
ALIYUN_OSS_AK=your_access_key_id
ALIYUN_OSS_SK=your_access_key_secret
ALIYUN_OSS_BUCKET_ID=your_bucket_name
ALIYUN_OSS_ENDPOINT=oss-cn-shanghai.aliyuncs.com

# AI 分析(DashScope API)
DASHSCOPE_API_KEY=sk-xxxxxxxxxxxxxxxx

# ========== 可选配置 ==========

# Notion 自动推送(可选)
NOTION_API_KEY=nop_xxxxxxxxxxxxxxxx
NOTION_VIDEO_SUMMARY_DATABASE_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx  # 单个数据库 ID

# 语音转录加速(Groq API,可选)
# 国内需代理访问,如未配置自动降级到本地 Faster-Whisper
# 不配置此项不影响使用
# 注意:douyin_downloader.py 也使用此变量(已移除硅基流动依赖)
GROQ_API_KEY=gsk_xxxxxxxxxxxxxxxx

# 本地 Whisper 模型(有 GPU 时自动检测)
WHISPER_MODEL=base  # tiny/base/small/medium/large

OSS Bucket 要求

  • 访问权限: 公开可读(直接 URL 访问)
  • CORS 配置: 允许跨域访问(Notion 嵌入需要)
  • 存储类型: 标准存储(低频访问会影响加载速度)

Notion 数据库配置

数据库属性(Properties)

属性名类型说明来源
Titletitle视频标题(≤200 字符)Markdown # 标题
Sourcerich_text平台来源(Bilibili/YouTube/小红书/抖音)metadata.platform / URL 推断
Authorrich_textUP 主/作者名称Markdown **UP 主:** / metadata.uploader
Urlurl视频原始链接metadata.webpage_url / Markdown **链接:**
Tagsmulti_select标签(最多 5 个)三层策略提取
PubDatedate发布日期metadata.upload_date
Lengthrich_text视频时长(MM:SS 格式)metadata.duration_string
Coverfiles封面图片(可选,外部 URL)metadata.thumbnail
tsdate创建时间戳(ISO 8601,东八区 +08:00)当前时间

配置步骤

  1. 创建数据库(Table 视图)

  2. 添加上述 9 个属性(字段名必须完全匹配)

  3. 获取 Database ID

    • 打开数据库 → 复制 URL 中 ?v= 后的 ID
    • 示例:https://notion.so/your-workspace/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx?v=yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
    • Database ID = yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
  4. 配置环境变量

    NOTION_API_KEY=nop_xxxxxxxxxxxxxxxx
    NOTION_VIDEO_SUMMARY_DATABASE_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx  # 单个数据库
    

数据库视图示例

┌─────────┬──────────┬─────────┬──────┬──────┬─────────┬────────┬───────┬─────────────┐
│ Title   │ Source   │ Author  │ Url  │ Tags │ PubDate │ Length │ Cover │ ts          │
│ title   │ text     │ text    │ url  │ multi│ date    │ text   │ files │ date        │
└─────────┴──────────┴─────────┴──────┴──────┴─────────┴────────┴───────┴─────────────┘

🏗️ 系统架构

处理流程

用户输入 (视频 URL)
       ↓
Step 1: 平台识别 + 元数据
       ↓
┌──────┴──────┐
↓             ↓
Step 2: 字幕   Step 3: 视频下载  ← 并行执行
       ↓             ↓
       └──────┬──────┘
              ↓
Step 4: 文本提取 (VTT → TXT / Plan B 转录)
       ↓
Step 5: AI 分析 (DashScope API - qwen3.5-plus)
       ↓
Step 6: 截图生成 (ffmpeg, 基于 AI 时间戳)
       ↓
Step 7: OSS 上传 (截图 + 封面)
       ↓
Step 8: Markdown 渲染
       ↓
Step 9: Notion 推送 (可选)

技术栈

层级技术
编排层Bash (video-summarize.sh)
分析层Python + DashScope API (qwen3.5-plus)
转录层Groq API (可选) / Faster-Whisper (本地)
工具层yt-dlp (>=2026.03.17), ffmpeg (>=6.1), oss2, requests

数据文件

文件来源用途
metadata.jsonyt-dlp / douyin_downloader视频元数据
transcript.txtVTT 提取 / Plan B 转录纯文本字幕
ai_result.jsonanalyze-subtitles-ai.pyAI 分析结果
screenshot_urls.txtupload-to-oss.py截图 OSS 链接
summary.mdanalyze-subtitles-ai.py最终总结

📋 脚本清单

核心脚本(4 个)

脚本功能
video-summarize.sh主流程编排(Plan A/B 自动选择)
analyze-subtitles-ai.pyAI 分析 + Markdown 渲染
upload-to-oss.pyOSS 图床上传(截图 + 封面)
push-to-notion.pyNotion 推送

平台工具(2 个)

脚本功能
bili-login.shB 站扫码登录(获取 Cookies)
douyin_downloader.py抖音专用下载器(无需 Cookies,转录使用 Groq API + 本地降级)

辅助工具(4 个)

脚本功能
download-audio.shPlan B: 音频下载
transcribe-audio.pyPlan B: 语音转录(GPU 自适应)
check-config.sh配置检查
convert-bili-cookie.pyCookies 格式转换

🎯 Plan A vs Plan B

对比表

项目Plan APlan B
字幕来源平台官方字幕语音转录
准确率90%+80-90%
速度快 (1-2 分钟)较慢 (3-5 分钟)
依赖Cookies(B 站)GPU 或 API Key

各平台使用情况

平台Plan APlan B默认
Bilibili✅ 官方 + 自动✅ 备用Plan A
YouTube✅ 自动字幕✅ 备用Plan A
小红书❌ 无✅ 唯一Plan B
抖音❌ 无✅ 唯一Plan B

Plan B 双层降级方案

1. Groq API (whisper-large-v3) → 云端高速(可选,需配置 GROQ_API_KEY 且网络可达)
   └─ 失败/未配置 → 降级到本地

2. Faster-Whisper (本地) → GPU/CPU 自适应
   ├─ GPU ≥8GB  → large-v2 模型
   ├─ GPU ≥4GB  → medium 模型
   ├─ GPU ≥2GB  → small 模型
   ├─ GPU ≥1GB  → base 模型 (GPU)
   └─ 无 GPU    → base 模型 (CPU)

说明:

  • Groq API 为可选配置,未配置时直接使用本地 Faster-Whisper
  • 本地转录无需任何 API Key,完全离线运行
  • 国内使用 Groq 需配置代理
  • 抖音专用下载器 douyin_downloader.py 也使用此降级方案(已移除硅基流动依赖)

📁 输出文件结构

output/
├── summary.md              # 📝 最终总结(主要成果)
├── screenshot_urls.txt     # 🔗 截图 OSS 链接
├── metadata.json           # 📊 视频元数据
├── transcript.txt          # 📄 纯文本字幕
├── screenshots/            # 📸 截图原图(本地备份)
├── cover.jpg              # 🖼️ 封面图(本地备份)
└── *.log                   # 📋 日志文件(verbose 模式)

OSS 路径规范

截图路径: /screenshots/<平台>/<视频 ID>_<时间戳>/<截图文件>

screenshots/bilibili/BV1eTPEzNEqf_20260405_053203/screenshot_01.jpg
screenshots/douyin/7234567890_20260405_175010/chapter_01.jpg
screenshots/xhs/69c1493b000000002003b3ce_20260405_152852/screenshot_01.jpg
screenshots/youtube/dQw4w9WgXcQ_20260405_120000/screenshot_01.jpg

封面路径: thumbnails/<平台>/<视频 ID>/cover.jpg

thumbnails/bilibili/BV1eTPEzNEqf/cover.jpg
thumbnails/douyin/7234567890/cover.jpg

🏷️ 标签策略

四层提取策略

1. 标题 hashtag → #([\w\u4e00-\u9fa5]+)
   示例:"#AI 教程 #大模型原理" → ["AI 教程", "大模型原理"]

2. 元数据 tags → yt-dlp 提取的原始标签
   示例:["原理", "AI", "教程", "claude", "大模型"]

3. AI 关键词 → AI 分析提取的核心概念
   示例:["Transformer", "注意力机制", "深度学习"]

4. 默认值 → 视频总结/知识分享/学习
   当前三层都为空时使用

标签规则

  • 长度: 2-15 字符(兼容英文如 "openclaw")
  • 数量: 最多 5 个
  • 去重: 自动去重,保留唯一值
  • 优先级: 1 → 2 → 3 → 4

🔧 故障排查

Cookies 过期(B 站)

# 重新扫码登录
./bili-login.sh

配置检查

# 运行检查脚本
./check-config.sh

查看详细日志

# 使用 verbose 模式
./video-summarize.sh "URL" --verbose

# 查看错误日志
cat /tmp/output/error.log

常见问题

问题原因解决方案
截图 404OSS 路径不匹配python3 upload-to-oss.py auto /tmp/output
标签默认值标签提取失败检查标题 hashtag 格式 #标签
转录失败无 GPU/API 配额检查 GROQ_API_KEY,或确保 faster-whisper 已安装
Notion 推送失败API Key 过期更新 NOTION_API_KEY(可选功能,仅 --push 需要)
并行任务失败依赖缺失检查 ffmpeg / yt-dlp 安装(版本要求:ffmpeg >= 6.1, yt-dlp >= 2026.03.17)
抖音下载失败链接格式错误使用完整 URL 或 v.douyin.com 短链
抖音文案提取失败无 API Keydouyin_downloader.py 会自动降级到本地 Faster-Whisper,无需单独配置

📊 性能基准

处理时间(10 分钟视频)

平台Plan APlan B(本地)Plan B(Groq)
Bilibili~90 秒~150 秒~120 秒
YouTube~90 秒~150 秒~120 秒
小红书-~150 秒~120 秒
抖音-~150 秒~120 秒

优化效果: 并行优化后节省约 30 秒(32%↓)


📝 输出格式(summary.md)

  1. 标题 + Tags + Author
  2. 📝 Note — AI 概述(150-250 字)
  3. 📺 视频信息 — 链接/时长/播放数据
  4. 📚 关键概念 — 术语表格(3-5 个,按时间排序)
  5. 🎯 核心要点 — emoji+ 描述 + 时间戳(5-8 个)
  6. 🎬 视频章节 — 标题 + 时间轴 + 截图
  7. ⚠️ 注意事项 — 特别提醒(2-4 个)
  8. 💡 总结 — AI 归纳(200-300 字)

🔜 后续优化

计划中

  • 代码重构(提取公共函数)
  • 单元测试(核心函数覆盖率 80%+)
  • 性能优化(截图并行上传、结果缓存)
  • 支持更多平台(TikTok、Instagram Reels)

📞 更多文档


维护人: Ajay Hao
项目地址: https://github.com/AjayHao/video-summarizer
OpenClaw Skill: 已发布到 clawdhub

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Huo15 Openclaw Enhance

火一五·克劳德·龙虾增强插件 v5.7.8 — 全面适配 openclaw 2026.4.24:peerDep ^4.24 + build/compat 同步到 4.24 + 14 处 api.on 全部去掉 as any 改成 typed hook(hookName 联合类型 + handler 自动推断 Pl...

Registry SourceRecently Updated
General

Content Trend Analyzer

Aggregates and analyzes content trends across platforms to identify hot topics, user intent, content gaps, and generates data-driven article outlines.

Registry SourceRecently Updated
General

Prompt Debugger

Debug prompts that produce unexpected AI outputs — diagnose failure modes, identify ambiguity and conflicting instructions, test variations, compare model re...

Registry SourceRecently Updated
General

Indie Maker News

独行者 Daily - 变现雷达。读对一条新闻,少走一年弯路。每天5分钟,给创业者装上商业雷达。聚焦一人公司、副业、创业变现资讯,智能分类,行动导向。用户下载即能用,无需本地部署!

Registry SourceRecently Updated