关于 youtube-transcribe-skill
youtube-transcribe-skill 是一项 Agent 技能,用于提取 YouTube 视频的带时间戳字幕。它通过内置 Python 封装调用 yt-dlp、选择偏好字幕语言并保存为纯文本,也说明了经批准后的 Cookie 重试和浏览器备用流程。
主要功能
- 01通过 yt-dlp 提取字幕
- 02选择偏好的字幕语言
- 03输出带时间戳的纯文本
- 04支持常见 YouTube 链接类型
- 05提供 Cookie 重试和浏览器备用流程
适用场景
- 01将视频字幕保存为文本文件
- 02提取指定语言的字幕
- 03经批准后处理需要登录的视频
- 04命令行提取失败时读取可见字幕
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ feiskyer/ codex-settings --skill youtube-transcribe-skill安装后在 Claude Code 中输入/youtube-transcribe-skill确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
agents/openai.yamlscripts/transcribe_youtube.pytests/test_transcribe_youtube.py详细介绍
YouTube 字幕提取
主要工作流请使用随附的 scripts/transcribe_youtube.py 封装脚本。它会通过 yt-dlp 下载字幕、选择首选语言、将 WebVTT 字幕片段转换为带时间戳的纯文本,并报告输出路径和行数。
要求
- 安装
yt-dlp,并确认运行yt-dlp --version成功。 - 确定包含此
SKILL.md的目录的绝对路径,并将其称为<skill-dir>。 - 除非用户要求使用其他位置,否则将输出保存在用户当前的工作目录中。
Python 封装脚本本身仅使用标准库。即使未安装 yt-dlp,也可以显示 --help。
主要工作流
先在不使用浏览器 Cookie 的情况下运行:
python3 "<skill-dir>/scripts/transcribe_youtube.py" \
"<youtube-url>" \
--output-dir "$PWD"
默认语言偏好顺序为简体中文、繁体中文、其他中文变体,然后是英语。用户要求使用其他语言时,请覆盖默认设置:
python3 "<skill-dir>/scripts/transcribe_youtube.py" \
"<youtube-url>" \
--languages "ja.*,en.*" \
--output-dir "$PWD"
该封装脚本支持常规观看页面 URL,以及 youtu.be、Shorts、直播和嵌入式 URL。运行成功后会生成一个 .txt 文件,其中非空行采用以下格式:
00:03 Subtitle text
00:08 Next subtitle text
Cookie 重试
默认情况下不要读取浏览器 Cookie。如果初始命令失败,且原因明确是视频需要登录、年龄验证、会员资格或其他经过身份验证的会话:
- 说明重试时
yt-dlp将从本地浏览器配置文件读取 YouTube Cookie。 - 询问用户同意使用哪个浏览器配置文件。
- 获得同意后再重试:
python3 "<skill-dir>/scripts/transcribe_youtube.py" \
"<youtube-url>" \
--cookies-from-browser chrome \
--output-dir "$PWD"
切勿在字幕文本或日志中打印、复制或持久化浏览器 Cookie。
浏览器备用方案
仅当 yt-dlp 不可用或无法获取字幕,且有适用的浏览器控制功能时,才使用浏览器自动化。
- 检查当前会话中可用的工具;不要假定 MCP 服务或工具名称是固定的。
- 打开视频,显示字幕面板,并提取可见的时间戳/文本对。
- 将结果保存为
<sanitized-video-title>.txt,放在请求的目录中。 - 关闭仅为此任务打开的页面或会话。
如果命令行提取和浏览器自动化都不可用,请报告缺少的功能,而不要声称任务已成功。
完成报告
返回:
- 字幕文件的绝对路径
- 所选字幕语言
- 字幕行数
- 是否使用了浏览器 Cookie 或浏览器自动化
评论
支持 Markdown