mcpField
Y
youtube-transcribe-skill

youtube-transcribe-skill

github.com/feiskyer创意与媒体248114 次安装5 周前更新
代码仓库

关于 youtube-transcribe-skill

youtube-transcribe-skill 是一项 Agent 技能,用于提取 YouTube 视频的带时间戳字幕。它通过内置 Python 封装调用 yt-dlp、选择偏好字幕语言并保存为纯文本,也说明了经批准后的 Cookie 重试和浏览器备用流程。

主要功能

  1. 01通过 yt-dlp 提取字幕
  2. 02选择偏好的字幕语言
  3. 03输出带时间戳的纯文本
  4. 04支持常见 YouTube 链接类型
  5. 05提供 Cookie 重试和浏览器备用流程

适用场景

  1. 01将视频字幕保存为文本文件
  2. 02提取指定语言的字幕
  3. 03经批准后处理需要登录的视频
  4. 04命令行提取失败时读取可见字幕

安装

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

$npx skills add https://github.com/feiskyer/codex-settings --skill youtube-transcribe-skill

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

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
openai.yaml
scripts/
transcribe_youtube.py
tests/
test_transcribe_youtube.py

详细介绍

YouTube 字幕提取

主要工作流请使用随附的 scripts/transcribe_youtube.py 封装脚本。它会通过 yt-dlp 下载字幕、选择首选语言、将 WebVTT 字幕片段转换为带时间戳的纯文本,并报告输出路径和行数。

要求

  1. 安装 yt-dlp,并确认运行 yt-dlp --version 成功。
  2. 确定包含此 SKILL.md 的目录的绝对路径,并将其称为 <skill-dir>。
  3. 除非用户要求使用其他位置,否则将输出保存在用户当前的工作目录中。

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。如果初始命令失败,且原因明确是视频需要登录、年龄验证、会员资格或其他经过身份验证的会话:

  1. 说明重试时 yt-dlp 将从本地浏览器配置文件读取 YouTube Cookie。
  2. 询问用户同意使用哪个浏览器配置文件。
  3. 获得同意后再重试:
python3 "<skill-dir>/scripts/transcribe_youtube.py" \
  "<youtube-url>" \
  --cookies-from-browser chrome \
  --output-dir "$PWD"

切勿在字幕文本或日志中打印、复制或持久化浏览器 Cookie。

浏览器备用方案

仅当 yt-dlp 不可用或无法获取字幕,且有适用的浏览器控制功能时,才使用浏览器自动化。

  1. 检查当前会话中可用的工具;不要假定 MCP 服务或工具名称是固定的。
  2. 打开视频,显示字幕面板,并提取可见的时间戳/文本对。
  3. 将结果保存为 <sanitized-video-title>.txt,放在请求的目录中。
  4. 关闭仅为此任务打开的页面或会话。

如果命令行提取和浏览器自动化都不可用,请报告缺少的功能,而不要声称任务已成功。

完成报告

返回:

  1. 字幕文件的绝对路径
  2. 所选字幕语言
  3. 字幕行数
  4. 是否使用了浏览器 Cookie 或浏览器自动化

评论

支持 Markdown