YouTube Transcript Native Node

📜 零依赖提取 YouTube 字幕为纯文本

零依赖 Node.js 封装 yt-dlp,提取 YouTube 字幕为纯文本/JSON,无需 API 密钥,适合摘要、引用与自动化处理

收藏
2.7k
安装
1k
版本
1.1.4
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

youtube-transcript-native-node 是一个轻量级 YouTube 字幕提取工具,通过封装系统 PATH 中的 yt-dlp 二进制文件,将视频的 VTT 格式字幕解析为干净的纯文本或结构化 JSON。它零 npm 依赖,仅依赖原生 Node.js 模块和外部 yt-dlp,无需任何 API 密钥即可工作。

使用场景明确:用户需要提供 YouTube 链接并希望获取spoken text时调用。支持多语言字幕(默认英语)、可选时间戳保留、JSON 结构化输出、以及智能去重处理。典型命令如 node fetch.mjs --url "视频链接" --json

显著优点

  • 零依赖轻量化:纯 Node.js 原生模块,无 npm 包依赖,部署简单
  • 无 API 密钥:利用 yt-dlp 直接解析 YouTube 页面,规避配额限制
  • 输出灵活:纯文本便于阅读,JSON 便于下游工具链集成
  • 安全设计:严格的 URL 白名单(仅 YouTube 域名)、120 秒超时、200 万字符输出上限、临时目录自动清理
  • 进程隔离:使用 argv 数组启动子进程,无 shell 注入风险
  • 隐私感知:内置隐私敏感度检查,对敏感内容主动中止

潜在缺点与局限性

  • 外部二进制依赖yt-dlp 必须单独安装并在 PATH 中,二进制供应链需人工维护信任
  • 仅提取现有字幕:非音频转录工具,若视频无字幕则无法工作
  • 平台受限:仅支持 YouTube,不支持其他视频平台
  • 网络依赖:需访问 YouTube,受平台 rate limit(429)影响
  • 字幕质量波动:自动生成的字幕可能存在错误,工具本身不校验准确性
  • 静态分析告警:因使用 child_process 会触发预期内的安全扫描警告

适合人群

  • 需要批量提取 YouTube 视频文本用于摘要、研究或引用的内容工作者
  • 构建无 API 密钥、低成本视频文本处理 pipeline 的开发者
  • 对供应链安全有可控能力、能维护 yt-dlp 环境的运维人员

常规风险

| 风险类型 | 说明 |
|---------|------|
| 供应链 | `yt-dlp` 二进制来源需可信,建议官方渠道安装 |
| 网络 | 访问 YouTube 可能触发 rate limit,工具提供 429 提示 |
| 隐私/合规 | 提取第三方视频内容需尊重版权,默认建议摘要而非全文复制 |
| 运行时 | 超时、依赖缺失、视频私有/被屏蔽等场景有明确错误码 |
| 输出安全 | 自动 scrub 临时路径,但 `yt-dlp` 自身可能泄露绝对路径 |

该工具定位为可控环境下的可靠基础设施,适合纳入有明确安全边界的内部工作流。

YouTube Transcript Native Node 内容

references文件夹
scripts文件夹
手动下载zip · 18.2 kB
youtube-transcript-contract.mdtext/markdown
请选择文件