mcpField
Y
youtube-transcript-note

youtube-transcript-note

github.com/gkwa生产力066 次安装1 天前更新
代码仓库

关于 youtube-transcript-note

youtube-transcript-note 可将 YouTube 视频整理为 Obsidian 知识库笔记,适合需要保存视频内容的人。它保留完整转录文本,添加带时间戳的主题分节,并在烹饪内容适用时执行食谱整理。

主要功能

  1. 01获取纯文本和带时间戳的转录
  2. 02清理并分节整理完整转录
  3. 03添加目录和视频时间戳
  4. 04生成适合知识库的文件名和笔记
  5. 05适用时执行食谱整理

适用场景

  1. 01将 YouTube 视频整理为可检索笔记
  2. 02按主题组织长视频转录
  3. 03为烹饪视频记录结构化食谱

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/gkwa/volcanicviper --skill youtube-transcript-note

安装后在 Claude Code 中输入/youtube-transcript-note确认已加载。

附带文件tile.json

详细介绍

YouTube Transcript 笔记工作流

给定一个 YouTube URL,按顺序执行以下步骤。 逐步传递输出 — 除非某个步骤失败,否则不要在步骤之间向用户提问。

Step 1:获取带时间戳的字幕稿

以 SRT 格式运行 benevolentbadger,获取带时间戳的字幕:

uv run --no-active --project /Users/mtm/pdev/taylormonacelli/benevolentbadger benevolentbadger --format srt "<youtube_url>"

保存完整的 SRT 输出 — 第 5 步需要用到时间戳。

另外以纯文本格式运行,以获取用于清理的原始字幕稿:

uv run --no-active --project /Users/mtm/pdev/taylormonacelli/benevolentbadger benevolentbadger "<youtube_url>"
Step 2:清理字幕稿

这是转录任务,不是摘要任务。 所有口述内容都必须出现在输出中 — 不要跳过、删减或概述字幕稿的任何部分。 如果字幕稿很长,请完整输出。

对纯文本字幕稿应用以下规则:

  • 更正所有拼写错误
  • 修正语法错误(主谓一致、时态一致等)
  • 补充恰当的标点符号(句号、逗号、撇号、缩写)
  • 将专有名词和句首字母大写
  • 每个完整句子单独占一行
  • 每个句子之间空一行
  • 将零散短语合并为完整、连贯的句子
  • 删除填充词(um、uh、like、you know、so、kinda、gonna、wanna — 将 "gonna" 等缩写替换为 "going to")
  • 删除说到一半的话和重复词语
  • 删除旁白标签(如 [Narrator])、舞台指示(如 (laughing))以及末尾的 URL
Step 3:划分章节

阅读清理后的字幕稿,识别 4–7 个自然的主题分界点。

清理后的字幕稿中的每个句子都必须恰好归入一个章节 — 不得丢弃或省略任何内容。

每个章节:

  • 撰写一个以主题命名的 ## 标题(使用标题式大小写,简洁明了)
  • 将该主题的所有清理后句子放在标题下方

使用第 1 步的 SRT 输出,找到每个章节对应的第一条字幕的 start 时间(以秒为单位)。 在 ## 标题正下方一行添加视频时间戳 URL,并以裸链接形式呈现:

## Section name

https://youtu.be/<VIDEO_ID>?t=<seconds>s

First sentence of section.
Step 4:构建目录

在正文顶部(第一个 ## 章节之前),使用 Obsidian wikilink 标题格式添加目录 — 不要使用标准 Markdown 锚点:

## Table of contents

- [[#Section one]]
- [[#Section two]]
- [[#Section three]]
Step 5:直接获取缩略图 URL

YouTube 已经以稳定的 URL 托管缩略图,因此此处不要运行 social-to-imgur 技能。

根据视频 ID 构建 URL:https://i.ytimg.com/vi/<VIDEO_ID>/maxresdefault.jpg

通过 Imgur 中转对 YouTube 没有任何帮助,而且会遇到出口 IP 的 429 错误。Instagram 和其他使用会过期 CDN URL 的平台仍需上传。

Step 6:生成知识库文件名

将视频标题转换为适用于知识库的文件名:

  • 全部使用小写
  • 单词之间用空格分隔(不使用连字符或下划线)
  • 去除特殊字符(竖线、冒号、斜杠等)

如果有助于区分笔记,则在前面加上频道/创作者名称。 例如:tasty kitchen cast iron skillet care and cooking.md

Step 7:编写知识库笔记

将笔记写入 /Users/mtm/Documents/Obsidian Vault/<filename>.md,并使用以下结构:

---
tags:
  - <relevant-tag>
pic: https://i.ytimg.com/vi/<VIDEO_ID>/maxresdefault.jpg
---

![<filename without .md>](https://i.ytimg.com/vi/<VIDEO_ID>/maxresdefault.jpg)

https://youtu.be/<VIDEO_ID>

<intro sentences — any content before the first natural section break>

## Table of contents

- [[#Section one]]
...

## Section one

https://youtu.be/<VIDEO_ID>?t=<seconds>s

<sentences>

## Section two

https://youtu.be/<VIDEO_ID>?t=<seconds>s

<sentences>

规则:

  • 不要使用 # Title 标题 — 在 Obsidian 中,文件名就是标题
  • 标签:仅使用知识库中已有的标签;未经用户批准,不要创建新标签
  • 每行一个句子,全文句子之间空一行
  • 文件中任何位置都不要使用斜体或粗体
  • 将提及的产品链接到其本地知识库页面(例如 `[[flaxseed oil]])(如果存在),否则链接到 Google 图片搜索 URL
Step 8:提交

暂存并提交新文件:

git add "<filename>.md"
git commit -m "Add <short topic> note from YouTube transcript"

每条 git 命令都必须作为单独的 Bash 调用运行(不要使用 && 链接命令)。

步骤 9:应用食谱清理(仅限烹饪/食谱内容)

通过检查以下任一信号,判断视频内容是否以食谱或烹饪为主:

  • 视频标题包含以下词语:食谱、酱汁、如何制作、烹饪、烘焙、烤、炒、腌料、蘸料、饺子、面条、汤、煎炸等。
  • 频道名称与美食或烹饪有关
  • 转录内容包含食材用量、数量或烹饪技巧相关词汇

如果任何信号表明内容与食谱/烹饪有关,则调用 recipe-cleanup 技能,并传入刚刚写入的知识库笔记路径:

/recipe-cleanup <absolute path to vault note>

该技能会从 YouTube 描述中获取可打印的食谱(如果有),添加结构化的 ### Ingredients 清单和 ### Instructions 内容块,使用 creator 字段更新 frontmatter,并解析食材维基链接。

技能完成后,提交更新后的文件:

git add "<filename>.md"
git commit -m "Apply recipe cleanup to <short topic> note"

如果内容并非以食谱或烹饪为主,则完全跳过此步骤——不要调用 recipe-cleanup。

最终报告

完成所有步骤后,报告:

  • 知识库笔记文件名
  • i.ytimg.com 缩略图 URL
  • 分节情况及对应的视频时间戳
  • 是否已应用食谱清理

评论

支持 Markdown