article
README
🚀 YouTube 字幕 API
本项目是一个Python服务,通过API来获取并转录YouTube视频内容。它提供了REST API(基于Flask)和MCP服务器两种实现方式,能满足不同场景下获取YouTube视频字幕的需求。
🚀 快速开始
本服务提供了REST API(Flask)和MCP服务器两种使用方式,你可以根据自己的需求进行选择。
REST API(Flask)
启动Flask服务器:
python apps/flask_server.py
可用端点:
GET /transcript?video_id=<video_id>&language=<lang>- 获取视频字幕GET /video/info?video_id=<video_id>- 获取视频信息GET /health- 健康检查端点
MCP 服务器
启动MCP服务器:
python apps/mcp_server.py
可用工具:
get_transcript(video_id, language)- 获取视频字幕extract_transcript(video_id, language)- 从音频中提取字幕search_youtube_video(query)- 搜索YouTube视频
✨ 主要特性
- 多语言支持:可获取多种语言的YouTube视频字幕,目前支持英语和越南语。
- 自动检测:自动检测并使用可用字幕,当没有字幕时,会fallback到音频转录(使用Whisper)。
- 双接口实现:支持REST API和MCP服务器接口,满足不同使用场景。
- 智能语言检测:具备自动语言检测功能。
- 文件清理:可进行临时文件清理。
- 进度报告:长时间操作会有进度报告。
📦 安装指南
pip install -r requirements.txt
💻 使用示例
基础用法
REST API(Flask)
启动服务器:
python apps/flask_server.py
获取视频字幕:
curl "http://127.0.0.1:5000/transcript?video_id=your_video_id&language=en"
MCP 服务器
启动服务器:
python apps/mcp_server.py
在Python代码中获取视频字幕:
from apps.mcp_server import get_transcript
transcript = get_transcript('your_video_id', 'en')
print(transcript)
📚 详细文档
语言支持
- 英语(en)
- 越南语(vi)
- 其他语言的自动检测
依赖项
- youtube-transcript-api
- pytube
- whisper
- torch
- langdetect
- flask(用于REST API)
- mcp(用于MCP服务器)
开发
项目的结构:
apps/
├── __init__.py
├── flask_server.py # REST API 实现
├── mcp_server.py # MCP 服务器实现
└── utils.py # 公共工具
📄 许可证
MIT License
Scan to join WeChat group