video-course-notes

Polar Sponsor
爱发电 赞助
.NET 9.0

将授课视频或已转写文本整理成结构化学生笔记、全课程知识体系索引、mermaid 知识图谱,并合并为单文件汇总。覆盖本地 GPU 转写(faster-whisper) 到 LLM 笔记生成 到 索引/图谱 到 合并 的完整流水线。当需要将一批课程视频或字幕整理成可复习的笔记与知识图谱、且要求每期标题统一为日期_主题格式时,使用此 skill。

授课视频 → 学生笔记 + 知识图谱 + 汇总

功能概述

授课视频 → 学生笔记 + 知识图谱 + 汇总是一项面向实际任务的技能,主要用于把一批课程视频(或已有的转写文本)整理为:每门课一篇结构化学生笔记、全课程知识体系索引、mermaid 知识图谱,以及合并为单文件的笔记汇总;用户有一批课程视频(如直播回放),希望转成可检索、带时间戳和术语解释的复习笔记;

核心要点

  • 用户已转写好 .txt / .srt ,希望直接生成笔记 + 知识图谱 + 汇总;
  • 用户要求每期课程标题统一为。
  • 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。

使用与执行

从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;

结果检查与注意事项

若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

授课视频 → 学生笔记 + 知识图谱 + 汇总

把一批课程视频(或已有的转写文本)整理为:每门课一篇结构化学生笔记、全课程知识体系索引、mermaid 知识图谱,以及合并为单文件的笔记汇总。

适用场景

  • 用户有一批课程视频(如直播回放),希望转成可检索、带时间戳和术语解释的复习笔记
  • 用户已转写好 .txt/.srt,希望直接生成笔记 + 知识图谱 + 汇总
  • 用户要求每期课程标题统一为「日期_主题」规则(如 20250423_量化策略启蒙)

目录约定

所有产物放在一个 transcripts/ 目录下,每门课一个子目录:

transcripts/
├── 课程名/
│   ├── 视频1.txt        # 转写纯文本(转写阶段产出)
│   ├── 视频1.srt        # 带时间戳字幕(转写阶段产出,笔记时间点索引依赖它)
│   ├── 学生笔记.md        # 笔记阶段产出(格式 # 日期_主题)
│   ├── shots/             # 截图阶段产出(按时间点抽帧的 PNG,可选)
│   └── _stat.json         # 转写统计(可选)
└── _notes_index.jsonl     # 笔记阶段产出(索引/图谱用,可重建,无需保留)

transcripts/ 默认位于本 skill 的 scripts/ 同级目录;也可用 --transcripts-dir 指定任意路径。

前置依赖

  1. Python venv:含 faster-whisper、imageio-ffmpeg、opencc-python-reimplemented,以及 GPU 运行库 nvidia-cublas-cu12 / nvidia-cudnn-cu12(仅转写阶段需要)。无显卡时可改用 device=int8/cpu(慢)。
  2. LLM 模型:笔记与个别索引兜底需要。优先使用 WorkBuddy 已在 ~/.workbuddy/models.json 中管理的模型(默认 deepseek-chat);若未配置,则回退到环境变量 OPENAI_API_KEY+OPENAI_BASE_URL(或 DEEPSEEK_API_KEY+DEEPSEEK_BASE_URL)。无 GPU 转写环境时,也可仅用市场 skill(如 openai-whisper-api、markitdown-skill)完成转写,再把 transcripts/ 交给本 skill 的笔记/图谱/合并阶段。
  3. 详细环境搭建与踩坑见 references/env_setup.md。

流水线(五阶段,可独立运行,阶段5可选)

阶段 1 · 转写(仅当输入是视频时)

python scripts/transcribe.py "课程文件夹绝对路径" medium cuda --output-root transcripts
  • 逐视频抽音频 → faster-whisper(VAD) 转写 → 输出 .txt + .srt
  • 断点续传:已有 .txt 跳过
  • 可单课跑,也可用外层循环遍历课程目录批量跑

阶段 2 · 生成学生笔记

python scripts/gen_notes.py --transcripts-dir transcripts [--only "课程目录名"]
  • 调 LLM 把每门课转写文本 + 时间轴整理为 学生笔记.md
  • 标题格式:# YYYYMMDD_本节课主题总结(日期从目录名解析)
  • 五段结构:核心知识点 / 操作纪律心法 / 关键时间点索引 / 术语词典 / 本周安排
  • 末尾追加 JSON 索引块(供阶段 3 使用)
  • 已有笔记跳过;无 .txt 标记 .note_notxt;失败标记 .note_failed

阶段 3 · 知识体系索引 + 知识图谱

python scripts/build_index_and_graph.py --transcripts-dir transcripts --output-dir .
  • 从各课笔记重建索引(优先复用末尾 JSON 块,免 LLM)
  • 模块分类由课程名/标题规则确定(不依赖 LLM,100% 确定)——模块列表与关键词在脚本 MODULES/classify_module 中,换主题时按需修改
  • 产出:全课程知识体系索引.md(按十大模块归类)、课程知识图谱.md(mermaid)、课程知识图谱.html(浏览器渲染版)

阶段 4 · 合并汇总

python scripts/merge_notes.py --transcripts-dir transcripts --output 课程笔记汇总.md
  • 合并所有 学生笔记.md 为单文件,带自动目录
  • 标题统一:新格式直接取用;旧格式从文件夹名推导 YYYYMMDD_主题
  • 正文标题自动降级嵌套,避免与原 H1 冲突

阶段 5 · 视频截图嵌入笔记(可选增强,纯本地 ffmpeg)

python scripts/screenshot.py --transcripts-dir transcripts --video-roots "E:/源视频根1;E:/源视频根2" [--only 课程名] [--keyword 关键词]
  • 解析每门课笔记的「关键时间点索引」,按 [mm:ss](支持 第X部分 分段标签)在源视频对应时间抽帧 → shots/*.png
  • 在时间点行后插入 ![截图](shots/xxx.png) 引用(幂等,已插入跳过)
  • --keyword 模式:额外在各课 .srt 中搜索关键词,定位 (视频, 时间) 抽帧并追加到笔记末尾「关键词相关截图」章节
  • 不依赖 GPU、不依赖外部 API,仅用 ffmpeg 抽帧(默认取 imageio-ffmpeg 自带二进制,或 --ffmpeg 指定)
  • 多 part 分段视频按「第X部分」自动匹配对应文件;源视频根用 --video-roots 分号分隔传入(需与 transcripts 课程名对应)

一键跑完(转写已就绪时)

python scripts/gen_notes.py --transcripts-dir transcripts
python scripts/build_index_and_graph.py --transcripts-dir transcripts --output-dir .
python scripts/merge_notes.py --transcripts-dir transcripts --output 课程笔记汇总.md

关键参数

脚本 参数 默认 说明
全部 --transcripts-dir scripts/transcripts 课程目录根
gen_notes --model deepseek-chat 指定 models.json 中的模型 id
gen_notes --only 无 只处理一门课(调试用)
build --output-dir transcripts 的父目录 索引/图谱输出位置
merge --output 父目录/课程笔记汇总.md 汇总文件名
transcribe --model/--device/--output-root medium/cuda/scripts/transcripts 模型、设备、输出根
screenshot --video-roots E:/Z哥2025;C:/Users/7/Desktop/袁武/Z哥2026 源视频根(分号分隔,按课程名匹配)
screenshot --keyword 无 额外按关键词在 .srt 中定位抽帧

注意事项

  • 模块分类是规则匹配,针对股票课程调优;处理其他主题时改 classify_module 的关键词与 MODULES 列表
  • 笔记的 SYSTEM_PROMPT 内置了 Z哥股票黑话词典,换领域时改写该 prompt
  • 阶段 2/3 需要联网调 LLM;阶段 4 纯本地;阶段 5 截图也纯本地(仅需 ffmpeg,不耗 GPU)
  • 截图阶段会改写 学生笔记.md(插入图片引用),建议在笔记生成(阶段2)完成后、且不再重跑 gen_notes 覆盖前执行;gen_notes 对已存在笔记默认跳过,不会丢失截图引用
  • 详细环境搭建与排错见 references/env_setup.md

相关专题

更多
Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

2026.11.06

0

12

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

2026.11.06

0

13

Postman接口请求发送教程
Postman接口请求发送教程

详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。

2026.11.06

0

10

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

2026.11.05

0

12

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

2026.11.05

0

12

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

2026.11.04

0

16

XORM框架结构体映射与表结构同步
XORM框架结构体映射与表结构同步

本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习