将视频自动转录并整理为结构化笔记。当用户提供视频链接(B站 BV 号/URL、YouTube 等)并要求"整理为笔记"、"生成笔记"、"视频转笔记"、"transcribe video"时触发。支持字幕检测、Whisper 转录、结构化笔记整理,可保存到 Obsidian 或本地目录。跨平台,需首次配置。
video-to-notes是一项面向实际任务的技能,主要用于将视频自动转录并整理为结构化笔记的跨平台技能;1. 环境检测;
whisper_model — 推荐值: small (平衡)/ medium (高精度)/ tiny (快速测试);extra_path。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
将视频自动转录并整理为结构化笔记的跨平台技能。
python3 scripts/check_env.py
根据输出安装缺失的工具。
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 |
B 站视频:
curl -s "https://api.bilibili.com/x/web-interface/view?bvid=BV1xxxxx"
提取字段:title、duration(秒)、owner.name、subtitle.list
决策:
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"
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"
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。
读取转录文本后,按以下模板结构化整理:
# [视频标题] > 视频来源:[UP 主 / 作者] > 原视频:[链接] > 整理时间:[YYYY-MM-DD](基于 Whisper 转录) --- ## 核心内容 ### 要点 1:[标题] [整理后的内容] ### 要点 2:[标题] [整理后的内容] --- ## 核心洞察 - 洞察 1 - 洞察 2 --- ## 实践建议 1. 建议 1 2. 建议 2 --- **笔记整理自:** [作者]《[视频标题]》 **视频链接:** [URL] **整理日期:** [YYYY-MM-DD]
Whisper 中文常见识别错误修正:
| 错误 | 正确 | 错误 | 正确 | |
|---|---|---|---|---|
| 温馨 | 文献 | 断路 | 段落 | |
| 文件 | 文献 | 单脸 | 单独 | |
| 战线 | 展示 | 工与商 | 供应商 | |
| 耗尸耗利 | 耗时耗力 | 业伙 | 业务伙伴 | |
| 求实 | 权威 | 提亮 | 提炼 | |
| API | APA(格式) | GBT | GPT | |
| 军职 | 均值 | 围章 | 文章 | |
| M学者 | Markowitz | 中数 | 中文 |
整理原则:
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 "/自定义/路径"
rm -rf _temp/
Windows:
Remove-Item -Recurse -Force _temp
换更小的模型(large -> medium -> small -> tiny),或在 Python 中设置:
import torch torch.cuda.set_per_process_memory_fraction(0.5, device=0)
Windows/macOS 下 ffmpeg 将进度信息输出到 stderr,可能导致非零退出码。脚本已处理:只要输出文件存在且大小 > 0 即视为成功。
可能是 Python 弃用警告。脚本通过 --no-playlist 减少多余输出,检查输出文件即可。
使用 scripts/save_note.py 保存(自动 UTF-8 编码),避免直接用 shell 重定向。
-l zh相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习
最新文章