关于 youtube-transcript
youtube-transcript 是用于提取 YouTube 字幕、视频元数据和章节的技能,并将内容整理为 Markdown 文件保存到 Obsidian vault。适合归档和查阅带时间戳的字幕。
主要功能
- 01提取字幕与视频元数据
- 02按章节整理字幕片段
- 03生成带 YAML frontmatter 的 Markdown
- 04清理 VTT 字幕重复内容
适用场景
- 01归档 YouTube 视频字幕
- 02按章节查看带时间戳的内容
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ glebis/ claude-skills --skill youtube-transcript安装后在 Claude Code 中输入/youtube-transcript确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
.claude-plugin/plugin.jsonscripts/deduplicate_transcript.pyextract_transcript.py详细介绍
YouTube 转录文本
概述
使用 yt-dlp 提取 YouTube 视频的转录文本、元数据和章节。输出为带有 YAML 前置元数据的 Markdown 格式,并保存到 ~/Brains/brain/(Obsidian 知识库)中。
快速开始
从 YouTube 视频中提取转录文本:
python scripts/extract_transcript.py <youtube_url>
可选:指定自定义输出文件名:
python scripts/extract_transcript.py <youtube_url> custom_filename.md
输出格式
YAML 前置元数据
生成的 Markdown 包含完整的元数据:
title- 视频标题channel- 频道名称url- YouTube URLupload_date- 上传日期(YYYY-MM-DD)duration- 视频时长(HH:MM:SS)description- 视频描述(截断至 500 个字符)tags- 视频标签数组view_count- 观看次数like_count- 点赞次数
正文结构
按视频章节组织转录文本(如果有):
## Chapter Title
**00:05:23** Transcript text for this segment.
**00:05:45** Next segment text.
如果没有章节,所有内容都会显示在“## Transcript”标题下。
时间戳统一采用 HH:MM:SS 格式。
工作流
- 使用 yt-dlp 提取元数据和字幕
- 解析 VTT 字幕格式以提取时间戳和文本
- 按视频章节分组转录片段(如果有)
- 将内容格式化为带有 YAML 前置元数据的 Markdown
- 根据视频标题生成经过清理的文件名,并保存到 ~/Brains/brain/
- 清理临时字幕文件
去重
移除现有转录文件中的重复内容:
python scripts/deduplicate_transcript.py <markdown_file>
这会移除作为后续条目前缀的转录条目(VTT 文件中字幕不断累积时常会出现这种情况)。
要求
确保已安装 yt-dlp:
pip install yt-dlp
限制
- 优先提取英文字幕;如果没有英文字幕,则改用俄文字幕
- 视频必须带有字幕(自动生成或手动添加)
- 不会下载视频或音频文件
- 前置元数据中的描述会截断至 500 个字符
评论
支持 Markdown