YouTube转录提取器
一个命令行工具,从YouTube视频中提取转录本,支持各种URL格式,并输出带有可选时间戳的转录本。使用Python构建并使用脚本依赖关系管理。
特性
- 使用URL或视频ID从YouTube视频中提取转录
- 支持多种YouTube URL格式:
- 标准观看网址(youtube.com/watch?v=…) - 缩短网址(youtu.be/…) - 嵌入网址(youtube.com/Embed/…)
- HH:MM:SS格式的可配置时间戳包含
- 灵活的输出选项(文件或stdout)
- 常见场景的全面错误处理
安装
此工具使用脚本依赖关系规范格式:
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 [options]选项
-o, --output:指定输出文件路径(默认:stdout)--timestamps/--no-timestamps:包括/排除时间戳(默认值:包括)
例子
- 将成绩单提取到控制台(带时间戳):
python youtube_transcript.py "https://www.youtube.com/watch?v=dQw4w9WgXcQ"- 将成绩单保存到文件(不带时间戳):
python youtube_transcript.py "https://youtu.be/dQw4w9WgXcQ" -o transcript.txt --no-timestamps- 处理嵌入URL:
python youtube_transcript.py "https://www.youtube.com/embed/dQw4w9WgXcQ"输出格式
带时间戳(默认):
[00:00:00] First line of the transcript
[00:00:03] Second line of the transcript
[00:00:07] Third line of the transcript没有时间戳:
First line of the transcript
Second line of the transcript
Third line of the transcript错误处理
该工具为常见场景提供了清晰的错误消息:
- 视频中的文字记录已禁用
- 无效或格式错误的YouTube URL
- 网络连接问题
- 文件权限问题
- 缺少或无效的视频ID
需求
- Python 3.12或更高版本
- 自动安装的依赖项:
- 单击:用于命令行界面 - youtube_transcript_api:用于获取转录本
贡献
欢迎投稿!请随时提交问题和拉取请求。
许可证
这个项目是开源的,可以在MIT许可证下使用。
