Video Summarizer(视频摘录+Notion/Obsidian知识库存档)
将 B 站/YouTube/小红书/抖音视频转换为结构化总结,推送到 Obsidian 本地知识库 + Notion 云端
haozhenjie
@ajayhao
What This Skill Does
Converts videos from Bilibili, YouTube, Xiaohongshu, and Douyin into structured summaries with AI-extracted key concepts, screenshots, and tags. Pushes results to Obsidian local vault and optionally to a Notion database.
Replaces manual note-taking from video content by automatically generating structured summaries and storing them in both local and cloud knowledge bases.
When to Use It
- Summarize a Bilibili tutorial and save it to your Obsidian vault
- Extract key points from a YouTube lecture and push to Notion
- Archive Xiaohongshu video tips with AI-generated screenshots
- Capture Douyin product reviews as structured notes for later reference
- Batch process multiple video URLs into a centralized knowledge base
Install
$ openclaw skills install @ajayhao/video-summarizerVideo Summarizer — Hermes Skill
将 B 站/YouTube/小红书/抖音视频转换为结构化 Notion 总结文档,自动上传截图,一键推送 Notion。
版本: 1.1.3
发布: 2026-06-23
许可: MIT
作者: Ajay Hao
⚠️ 安全提示: 本技能会将视频内容发送至第三方 AI 服务进行分析。建议使用专用 API Key,OSS Bucket 配置最小权限。详见 安全说明。
📖 核心能力
- 🎬 多平台支持: B 站、YouTube、小红书、抖音
- 📝 智能分析: AI 提取关键概念、核心要点、注意事项
- 📸 截图嵌入: 基于 AI 分析结果自动生成关键帧截图
- ☁️ 图床集成: 阿里云 OSS 自动上传,永久链接
- 🚀 双通道推送: Obsidian 本地(默认)+ Notion 云端(--notion 开启)
技术特性
- 双模式转录: Plan A(官方字幕)优先,Plan B(语音转录)兜底
- 并行优化: 字幕下载与视频下载并行执行,节省 ~32% 时间
- GPU 自适应: 自动检测显存,选择最优 Whisper 模型
- 断点续跑: 支持从中断点恢复,避免重复处理
- 四层标签: 标题 hashtag → 元数据 → AI 关键词 → 默认值
🎯 快速开始
# 1. 安装依赖
pip3 install requests oss2 python-dotenv
# 系统依赖: ffmpeg (>=6.1), yt-dlp (>=2026.03.17)
# 2. 配置环境变量 ($AGENT_HOME/.env)
LLM_API_KEY=your_api_key
LLM_BASE_URL=https://api.deepseek.com
LLM_MODEL=deepseek-v4-pro
ALIYUN_OSS_AK=your_ak
ALIYUN_OSS_SK=your_sk
ALIYUN_OSS_BUCKET_ID=your_bucket
ALIYUN_OSS_ENDPOINT=oss-cn-shanghai.aliyuncs.com
# 3. 运行
cd scripts
./video-summarize.sh "https://www.bilibili.com/video/BV1xxxx"
# 4. 查看结果
cat $TMPDIR/video-summarizer-*/summary.md # Linux: /tmp/... Windows: %TEMP%/...
⚙️ 环境变量
必需配置
| 变量 | 说明 | 示例 |
|---|---|---|
LLM_API_KEY | AI 分析 API Key | sk-xxx |
LLM_BASE_URL | LLM API 地址(OpenAI 兼容) | https://api.deepseek.com |
LLM_MODEL | 模型名称 | deepseek-v4-pro |
ALIYUN_OSS_AK | 阿里云 OSS AccessKey | |
ALIYUN_OSS_SK | 阿里云 OSS Secret | |
ALIYUN_OSS_BUCKET_ID | OSS Bucket 名称 | |
ALIYUN_OSS_ENDPOINT | OSS 区域端点 | oss-cn-shanghai.aliyuncs.com |
可选配置
| 变量 | 说明 | 默认行为 |
|---|---|---|
OBSIDIAN_VAULT_PATH | Obsidian Vault 路径(推荐配置) | 未配置时跳过存储 |
GROQ_API_KEY | Groq 语音转录加速 | 未配置时使用本地 Faster-Whisper |
NOTION_API_KEY | Notion API Key | 未配置时跳过推送 |
NOTION_VIDEO_SUMMARY_DATABASE_ID | Notion 数据库 ID | 同上 |
WHISPER_MODEL | 本地 Whisper 模型 | base |
通过 LLM_BASE_URL 可接入 DeepSeek / DashScope / OpenAI / Groq 等任意 OpenAI 兼容平台。
🏗️ 处理流程
用户输入 (视频 URL)
↓
Step 1: 平台识别 + 元数据
↓
┌──────┴──────┐
↓ ↓
Step 2: 字幕 Step 3: 视频下载 ← 并行执行
↓ ↓
└──────┬──────┘
↓
Step 4: 文本提取 (VTT → TXT / Plan B 转录)
↓
Step 5: AI 分析 (OpenAI 兼容接口)
↓
Step 6: 截图生成 (ffmpeg, 基于 AI 时间戳)
↓
Step 7: OSS 上传 (截图 + 封面)
↓
Step 8: Markdown 渲染
↓
Step 9: Notion 推送 (可选, --notion)
↓
Step 10: Obsidian 本地存储 (默认, --no-obsidian 禁用)
技术栈
| 层级 | 技术 |
|---|---|
| 编排层 | Bash (video-summarize.sh) |
| 分析层 | Python + OpenAI 兼容 LLM API |
| 转录层 | Groq API (可选) / Faster-Whisper (本地) |
| 工具层 | yt-dlp, ffmpeg, oss2, requests |
📋 脚本清单
| 脚本 | 功能 |
|---|---|
video-summarize.sh | 主流程编排(Plan A/B 自动选择) |
analyze-subtitles-ai.py | AI 分析 + Markdown 渲染 |
upload-to-oss.py | OSS 图床上传(截图 + 封面) |
push-to-obsidian.py | Obsidian Vault 写入(默认) |
push-to-notion.py | Notion 推送(--notion 触发) |
transcribe-audio.py | 语音转录(GPU 自适应) |
llm_client.py | 多平台 LLM 客户端(OpenAI 兼容) |
bili-login.sh | B 站扫码登录 |
douyin_downloader.py | 抖音专用下载器 |
check-config.sh | 配置检查 |
📁 输出结构
output/
├── summary.md # 📝 最终总结(主要成果)
├── ai_result.json # 🧠 AI 分析原始结果
├── screenshot_urls.txt # 🔗 截图 OSS 链接
├── metadata.json # 📊 视频元数据
├── transcript.txt # 📄 纯文本字幕
├── audio.txt # 🎤 语音转录原始文本(Plan B)
├── cover_url.txt # ☁️ 封面 OSS 上传结果
├── screenshot_times.txt # ⏱️ 截图时间戳记录
├── screenshots/ # 📸 截图原图
├── cover.jpg # 🖼️ 封面图
└── *.log # 📋 日志文件
🏷️ 标签策略(四层提取)
- 标题 hashtag →
#标签格式提取 - 元数据 tags → yt-dlp 原始标签
- AI 关键词 → AI 分析的核心概念
- 默认值 → 视频总结 / AI 分析 / 教程 / 技巧 / 知识分享
规则:2-15 字符,最多 5 个,自动去重,优先级 1→2→3→4。
📝 输出格式
生成的 summary.md 包含:
- 标题 + Tags + Author
- 📝 Note — AI 概述(150-250 字)
- 📺 视频信息 — 链接/时长/播放数据
- 📚 关键概念 — 术语表格(3-5 个)
- 🎯 核心要点 — emoji + 描述 + 时间戳(5-8 个)
- 🎬 视频章节 — 标题 + 时间轴 + 截图
- ⚠️ 注意事项 — 特别提醒(2-4 个)
- 💡 总结 — AI 归纳(200-300 字)
📊 性能基准(10 分钟视频)
| 平台 | Plan A | Plan B(本地) | Plan B(Groq) |
|---|---|---|---|
| Bilibili | ~90 秒 | ~150 秒 | ~120 秒 |
| YouTube | ~90 秒 | ~150 秒 | ~120 秒 |
| 小红书 | - | ~150 秒 | ~120 秒 |
| 抖音 | - | ~150 秒 | ~120 秒 |
📓 Obsidian 本地存储
设计理念
四种场景,一条命令覆盖:
| 你的配置 | 命令 | 效果 |
|---|---|---|
| 都不配 | --no-obsidian | 仅抓取,会话中输出 Markdown |
| 仅 Notion | --no-obsidian --notion | 推送到 Notion |
| 仅 Obsidian(推荐) | (零参数) | 推送到 Obsidian,零外部依赖 |
| 两者都配 | --notion | Obsidian + Notion 双存档 |
💡 无论哪种配置,
summary.md始终在临时目录生成,可随时手动查阅。
功能
视频总结完成后,默认推送到 Obsidian——本地优先,零外部依赖。
存储结构
{Obsidian Vault}/
└── 1-收件箱/
└── 视频总结/
├── bilibili_BV1xxx_20260622.md # YAML frontmatter + status: inbox
└── attachments/
├── screenshot_01.jpg
└── cover.jpg
配置
# 在 $AGENT_HOME/.env 中添加
# macOS
OBSIDIAN_VAULT_PATH=/Users/name/ObsidianVault
# Windows
OBSIDIAN_VAULT_PATH=D:\ObsidianVault
# Linux
OBSIDIAN_VAULT_PATH=/home/name/ObsidianVault
使用
# 默认:推送到 Obsidian
./video-summarize.sh "https://www.bilibili.com/video/BV1xxxx"
# Obsidian + Notion 两者
./video-summarize.sh "https://www.bilibili.com/video/BV1xxxx" --notion
# 仅 Notion
./video-summarize.sh "https://www.bilibili.com/video/BV1xxxx" --notion --no-obsidian
# 仅分析不推送
./video-summarize.sh "https://www.bilibili.com/video/BV1xxxx" --no-obsidian
🔜 后续优化
- 单元测试(核心函数覆盖率 80%+)
- 性能优化(截图并行上传、结果缓存)
- 支持更多平台(TikTok、Instagram Reels)
📞 更多文档
- 平台详情: references/platforms.md — 四平台支持、Plan A/B 对比
- 安全说明: references/security.md — 隐私、端点、权限建议
- 故障排查: references/troubleshooting.md — 常见问题解决
- 快速入门: README.md — 5 分钟上手
- 变更历史: CHANGELOG.md — 版本演进
- 提示词配置: prompt.json — AI 分析参数
维护人: Ajay Hao
项目地址: https://github.com/AjayHao/video-summarizer
Hermes Skill: 适用于 Hermes Agent 平台
Top skills in this category
Wechat Article Search
@wuchubuzai2018搜索微信公众号文章技能。通过微信搜索获取文章列表,覆盖科技/AI、社会热点、财经、教育、职场等各类中文资讯;可按关键词检索并返回标题、概要、发布时间、来源公众号与链接。当用户需要查找微信公众号文章、整理参考资料或快速获取文章信息时使用此技能。
Figma
@hith3shRead files, manage comments, extract design tokens, download images, and create webhooks in Figma via the Figma REST API. Use this skill when users want to i...
Social Media Scheduler
@1kalinPlan, draft, and organize social media content across platforms. Create content calendars, write platform-optimized posts, and maintain consistent posting schedules.
Alexa CLI
@buddyhControl Amazon Alexa devices and smart home via the `alexacli` CLI. Use when a user asks to speak/announce on Echo devices, control lights/thermostats/locks, send voice commands, or query Alexa.
Cinematic Script Writer
@praveenspeaksCreate professional cinematic scripts for AI video generation with character consistency and cinematography knowledge. Use when the user wants to write a cinematic script, create story contexts with characters, generate image prompts for AI video tools (Midjourney, Sora, Veo), or needs cinematography guidance (camera angles, lighting, color grading). Also use for character consistency sheets, voice profiles, anachronism detection, and saving scripts to Google Drive.