
YouTube Reader
https://github.com/forrestchang/youtube-reader- Category
- Productivity
- Rank
- No. 1615Tools index
Previous survey · No. 1620 ·
- Pricing
- Open Source
- Type
- TOOL
- Builder
- forrestchang
- GitHub
- 29 stars
- Date
About
CLI that turns YouTube transcripts into readable articles using APIs, yt-dlp subtitles, or Whisper transcription.
What it does
Give YouTube Reader one or more video links or IDs. It finds available captions, falls back to audio transcription when configured, cleans the text, and emits Markdown, plain text, or JSON. An optional OpenAI step rewrites the transcript as a detailed Chinese article.
Why it's ranked here
The provider chain makes it useful across captioned and uncaptioned videos, while explicit provider selection keeps behavior controllable. Its compact dependency set and clear CLI options are appealing. The value drops if you cannot install external tools or supply service credentials.
What's good
Automatic fallback handles several common transcript paths without hiding which source succeeded. Subtitle parsing removes timing data, styling tags, repeated lines, music markers, and spacing noise. Batch input, language preference, adjustable paragraph length, custom titles, and machine-readable output make the result practical for later processing.
Tradeoffs
Subtitle access depends on an external downloader, and local transcription adds another backend plus slower audio processing. Cloud transcript access needs a separate token. AI rewriting needs an OpenAI key and is specifically prompted for long Chinese output. Saving to a file only works with one video at a time.
How to use it well
Use it for research, note preparation, content archiving, or feeding cleaned transcripts into another text workflow. Start with automatic selection, inspect the reported source in JSON, and force a provider when reproducibility matters. It does not replace a video downloader, media editor, or general-purpose transcription service.
Technical notes+
package.json defines a CommonJS TypeScript package for Node 18 or newer, exposes the ytbr CLI, and keeps runtime dependencies to commander and dotenv. src/index.ts validates URLs and IDs, resolves providers, processes inputs sequentially, and selects JSON, raw, summarized, or formatted output. src/lib/providers/index.ts builds the API, yt-dlp, and Whisper fallback chain. src/lib/providers/ytdlp.ts parses VTT, SRT, and TTML files in temporary directories, while src/lib/providers/whisper.ts supports whisper.cpp, OpenAI Whisper, MLX Whisper, and OpenAI audio transcription. src/lib/summarize.ts calls OpenAI chat completions with a Chinese article prompt. tsconfig.json enables strict checking and targets ES2022.
Observed
- License
- MIT
- Primary language
- TypeScript
- Interface
- Command-line interface exposed as ytbr
- Runtime
- Node.js 18 or newer, CommonJS
- Installation surface
- Clone the repository, install with pnpm, build with TypeScript, and optionally link globally
- Output formats
- Markdown article, raw text, or JSON
- External integrations
- youtube-transcript.io, yt-dlp, Whisper backends, and optional OpenAI APIs
Read from README.md, package.json, src/index.ts, src/lib/api.ts, src/lib/tools.ts, src/lib/article.ts, src/lib/youtube.ts, src/lib/normalize.ts, src/lib/summarize.ts, src/lib/providers/api.ts, src/lib/providers/index.ts, src/lib/providers/ytdlp.ts, src/lib/providers/whisper.ts, .env.example, tsconfig.json.
What it can do
Convert YouTube video transcript to readable article
YouTube video URL → Formatted article text
Extract subtitles from YouTube videos
YouTube video URL → Subtitle text file
Transcribe YouTube video audio using Whisper
YouTube video URL → Audio transcription text
Fetch YouTube video transcripts via API
YouTube video URL → Raw transcript data
Download and process YouTube video subtitles using yt-dlp
YouTube video URL → Extracted subtitle content
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.