将视频自动转录并整理为结构化笔记。当用户提供视频链接(B站 BV 号/URL、YouTube 等)并要求"整理为笔记"、"生成笔记"、"视频转笔记"、"transcribe video"时触发。支持字幕检测、Whisper 转录、结构化笔记整理,可保存到 Obsidian 或本地目录。跨平台,需首次配置。
video-to-notes
功能概述
video-to-notes是一项面向实际任务的技能,主要用于将视频自动转录并整理为结构化笔记的跨平台技能;1. 环境检测;
核心要点
- 根据输出安装缺失的工具;
- 2. 配置;
- obsidian_vault — Obsidian 库绝对路径(不使用 Obsidian 可留空);
使用与执行
whisper_model — 推荐值: small (平衡)/ medium (高精度)/ tiny (快速测试);extra_path。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
结果检查与注意事项
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
video-to-notes
将视频自动转录并整理为结构化笔记的跨平台技能。
首次使用
1. 环境检测
python3 scripts/check_env.py
根据输出安装缺失的工具。
2. 配置
cp config.example.json config.json # 编辑 config.json,填写你的路径
必填项:
obsidian_vault— Obsidian 库绝对路径(不使用 Obsidian 可留空)whisper_model— 推荐值:small(平衡)/medium(高精度)/tiny(快速测试)
可选项:
extra_paths— 手动指定工具路径(留空则自动从 PATH 检测)note_format—obsidian(默认)或file(保存到 temp_dir)
依赖
| 工具 | 用途 | 安装方式 |
|---|---|---|
| Python 3.8+ | 运行脚本 | python.org |
| openai-whisper | 音频转录 | pip install openai-whisper |
| yt-dlp | 视频下载 | pip install yt-dlp |
| ffmpeg | 音频提取 | ffmpeg.org |
| PyTorch CUDA(可选) | GPU 加速 | pytorch.org |
工作流
Step 1: 获取视频信息
B 站视频:
curl -s "https://api.bilibili.com/x/web-interface/view?bvid=BV1xxxxx"
提取字段:title、duration(秒)、owner.name、subtitle.list
决策:
- 有字幕 → 直接获取字幕文本(跳过 Step 2-4)
- 无字幕 → 进入 Whisper 转录流程
Step 2: 下载视频
python3 scripts/download.py "https://www.bilibili.com/video/BV1xxxxx"
也支持 BV 号简写:
python3 scripts/download.py BV1xxxxx
手动方式:
yt-dlp -o "_temp/video.%(ext)s" --no-playlist "URL"
Step 3: 提取音频
python3 scripts/extract_audio.py "_temp/video.mp4"
支持格式:mp3(默认)、wav、flac、m4a
手动方式:
ffmpeg -i "_temp/video.mp4" -vn -acodec libmp3lame -q:a 2 "_temp/audio.mp3"
Step 4: Whisper 转录
python3 scripts/transcribe.py "_temp/audio.mp3"
指定模型和语言:
python3 scripts/transcribe.py "_temp/audio.mp3" -m medium -l zh
手动方式:
python3 -c "
import whisper
model = whisper.load_model('small')
result = model.transcribe('_temp/audio.mp3', language='zh')
with open('_temp/transcript.txt', 'w', encoding='utf-8') as f:
f.write(result['text'].strip())
"
模型选择指南:
| 模型 | VRAM | 速度 | 精度 | 推荐场景 |
|---|---|---|---|---|
| tiny | ~1 GB | 极快 | 低 | 测试 / 短视频(<5 分钟) |
| small | ~2 GB | 快 | 中 | 日常使用(推荐) |
| medium | ~5 GB | 中 | 高 | 长视频 / 专业内容 |
| large | ~10 GB | 慢 | 很高 | 最高精度需求 |
| turbo | ~5 GB | 快 | 高 | 速度与精度平衡 |
脚本自动检测 GPU(CUDA),无 GPU 自动回退 CPU。
Step 5: 整理笔记
读取转录文本后,按以下模板结构化整理:
# [视频标题] > 视频来源:[UP 主 / 作者] > 原视频:[链接] > 整理时间:[YYYY-MM-DD](基于 Whisper 转录) --- ## 核心内容 ### 要点 1:[标题] [整理后的内容] ### 要点 2:[标题] [整理后的内容] --- ## 核心洞察 - 洞察 1 - 洞察 2 --- ## 实践建议 1. 建议 1 2. 建议 2 --- **笔记整理自:** [作者]《[视频标题]》 **视频链接:** [URL] **整理日期:** [YYYY-MM-DD]
Whisper 中文常见识别错误修正:
| 错误 | 正确 | 错误 | 正确 | |
|---|---|---|---|---|
| 温馨 | 文献 | 断路 | 段落 | |
| 文件 | 文献 | 单脸 | 单独 | |
| 战线 | 展示 | 工与商 | 供应商 | |
| 耗尸耗利 | 耗时耗力 | 业伙 | 业务伙伴 | |
| 求实 | 权威 | 提亮 | 提炼 | |
| API | APA(格式) | GBT | GPT | |
| 军职 | 均值 | 围章 | 文章 | |
| M学者 | Markowitz | 中数 | 中文 |
整理原则:
- 先通读全文,标记明显错误
- 结合视频标题和背景知识推断正确文本
- 学术术语、人名、理论名称重点核查
- 保留原文结构,只修正错误,不擅自改写
Step 6: 保存笔记
python3 scripts/save_note.py "_temp/note.md" -t "[视频标题]"
根据 config.json 的 note_format 自动选择保存位置:
obsidian→ 保存到obsidian_vault指定的库file→ 保存到temp_dir
也可指定目标目录覆盖配置:
python3 scripts/save_note.py "_temp/note.md" -t "[标题]" -d "/自定义/路径"
Step 7: 清理临时文件
rm -rf _temp/
Windows:
Remove-Item -Recurse -Force _temp
常见问题
Q: CUDA out of memory
换更小的模型(large -> medium -> small -> tiny),或在 Python 中设置:
import torch torch.cuda.set_per_process_memory_fraction(0.5, device=0)
Q: ffmpeg 退出码 1 但文件完整
Windows/macOS 下 ffmpeg 将进度信息输出到 stderr,可能导致非零退出码。脚本已处理:只要输出文件存在且大小 > 0 即视为成功。
Q: yt-dlp 退出码 1 但下载成功
可能是 Python 弃用警告。脚本通过 --no-playlist 减少多余输出,检查输出文件即可。
Q: 中文笔记乱码
使用 scripts/save_note.py 保存(自动 UTF-8 编码),避免直接用 shell 重定向。
Q: Whisper 识别错误太多
- 换更大模型(small -> medium)
- 中文内容建议指定
-l zh - 参考错误对照表人工修正
Q: 没有 GPU,转录很慢
- tiny 模型在 CPU 上约 1x 实时(10 分钟音频需要 10 分钟)
- small 模型在 CPU 上约 0.3x 实时(10 分钟音频需要 30 分钟)
- 建议:短视频用 small + CPU,长视频考虑租 GPU 或用云端转录 API
扩展方向
- 批量视频处理(读取 BV 号列表文件)
- 自动语言检测(中文/英文/双语)
- 集成其他转录引擎(FunASR、Paraformer)
- LLM 自动整理笔记(调用 AI 生成结构化笔记)
- YouTube / 抖音 / 油管支持
- 时间戳索引生成(带跳转链接的笔记)
版本历史
- v0.2 (2026-05-21) - 重构:跨平台、配置化、脚本化
- v0.1 (2026-05-21) - 初始版本(单机绑定)
热门AI工具
相关专题
本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。
0
2026.11.06
围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。
0
2026.11.06
详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。
0
2026.11.06
DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。
0
2026.11.05
DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。
0
2026.11.05
本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。
0
2026.11.04
本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.7万人学习
共6课时 | 54.7万人学习
最新文章