feat: use yt-dlp as primary transcript fetcher, fallback to youtube-transcript-api
- Add _ytdlp_transcript() — fetch transcripts via yt-dlp Python API (supports json3/srv3/vtt/srt subtitle formats, cookies.txt auth) - Add _parse_subtitles() — parse subtitle formats into plain text - Keep _yttranscript_api_transcript() as fallback - download_transcript() tries yt-dlp first, then youtube-transcript-api - Add yt-dlp to requirements.txt - Update tests to mock both paths (all 23 pass) - Document Google Data API v3 caption limitations in architecture.md (captions.list works, captions.download=403 for non-owned videos)
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
fastapi>=0.100.0
|
||||
uvicorn>=0.20.0
|
||||
youtube-transcript-api>=0.6.0
|
||||
yt-dlp>=2025.0.0
|
||||
aiosqlite>=0.18.0
|
||||
httpx>=0.24.0
|
||||
pytest>=7.0.0
|
||||
|
||||
Reference in New Issue
Block a user