Download videos, audio, subtitles, and clean paragraph-style transcripts from YouTube and any other yt-dlp supported site. Use when asked to “download this video”, “save this clip”, “rip audio”, “get subtitles”, “get transcript”, or to troubleshoot yt-dlp/ffmpeg and formats/playlists.
./scripts/vtd.js can:
Transcript behavior:
youtube-transcript-plus when possible.yt-dlp, then clean into a paragraph.cd ~/Projects/agent-scripts/skills/video-transcript-downloader && npm ci
./scripts/vtd.js transcript --url 'https://…'
./scripts/vtd.js transcript --url 'https://…' --lang en
./scripts/vtd.js transcript --url 'https://…' --timestamps
./scripts/vtd.js transcript --url 'https://…' --keep-brackets
./scripts/vtd.js download --url 'https://…' --output-dir ~/Downloads
./scripts/vtd.js audio --url 'https://…' --output-dir ~/Downloads
./scripts/vtd.js subs --url 'https://…' --output-dir ~/Downloads --lang en
List available formats (format ids, resolution, container, audio-only, etc):
./scripts/vtd.js formats --url 'https://…'
Download a specific format id (example):
./scripts/vtd.js download --url 'https://…' --output-dir ~/Downloads -- --format 137+140
Prefer MP4 container without re-encoding (remux when possible):
./scripts/vtd.js download --url 'https://…' --output-dir ~/Downloads -- --remux-video mp4
--timestamps only when asked.[Music] are stripped by default; keep them via --keep-brackets.yt-dlp args after -- for transcript fallback, download, audio, subs, formats../scripts/vtd.js formats --url 'https://…' -- -v
yt-dlp / ffmpeg:brew install yt-dlp ffmpeg
yt-dlp --version
ffmpeg -version | head -n 1