返回市场
mcp-YouTube字幕

mcp-YouTube字幕

作者:tlofreso5 星标更新:2025-01-02

项目介绍

YouTube 字幕提取器

一个从YouTube视频中提取字幕的命令行工具,支持多种URL格式,并可选择性地输出带有时间戳的字幕。该工具使用Python编写,并通过脚本管理依赖项。

功能

  • 使用URL或视频ID从YouTube视频中提取字幕
  • 支持多种YouTube URL格式:
    • 标准观看URL(youtube.com/watch?v=...)
    • 缩短的URL(youtu.be/...)
    • 嵌入式URL(youtube.com/embed/...)
  • 可配置的时间戳格式HH:MM:SS
  • 灵活的输出选项(文件或标准输出)
  • 针对常见场景的全面错误处理

安装

此工具使用脚本依赖项规范格式:

git clone https://github.com/tlofreso/mcp-youtube-transcripts.git
cd mcp-youtube-transcripts

脚本的依赖项通过脚本头自动管理:

# /// script
# requires-python = ">=3.12"
# dependencies = [
#     "click",
#     "youtube_transcript_api",
# ]
# ///

使用方法

基本命令格式:

python youtube_transcript.py <youtube-url> [options]

选项

  • -o, --output:指定输出文件路径(默认:标准输出)
  • --timestamps/--no-timestamps:包含/排除时间戳(默认:包含)

示例

  1. 将字幕提取到控制台(带时间戳):
python youtube_transcript.py "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
  1. 将字幕保存到文件(不带时间戳):
python youtube_transcript.py "https://youtu.be/dQw4w9WgXcQ" -o transcript.txt --no-timestamps
  1. 处理嵌入式URL:
python youtube_transcript.py "https://www.youtube.com/embed/dQw4w9WgXcQ"

输出格式

带时间戳(默认):

[00:00:00] 字幕的第一行
[00:00:03] 字幕的第二行
[00:00:07] 字幕的第三行

不带时间戳:

字幕的第一行
字幕的第二行
字幕的第三行

错误处理

该工具为常见场景提供了清晰的错误消息:

  • 视频禁用了字幕
  • 无效或格式错误的YouTube URL
  • 网络连接问题
  • 文件权限问题
  • 缺失或无效的视频ID

要求

  • Python 3.12 或更高版本
  • 自动安装的依赖项:
    • click:用于命令行界面
    • youtube_transcript_api:用于获取字幕

贡献

欢迎贡献!请自由提交问题和拉取请求。

许可证

该项目是开源的,并在MIT许可证下提供。 </中文翻译>