xdrshjr

video-transcript-downloader

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.

xdrshjr 1 Updated 7mo ago

Resources

3
GitHub

Install

npx skillscat add xdrshjr/jr-openclaw-skills/video-transcript-downloader

Install via the SkillsCat registry.

About this skill

We need to produce a 2-3 sentence plain-text summary, objective, factual, no marketing, no superlatives, no calls to action. Must be at most 60 words. No quotes, no bullet points, no headings, no markdown. Just plain text. Summarize: skill downloads videos, audio, subtitles, clean paragraph transcripts from YouTube and any yt-dlp supported site. Solves problem of needing to retrieve media and transcripts, handling format selection, troubleshooting yt-dlp/ffmpeg. Use when asked to download video, save clip, rip audio, get subtitles, transcript, or troubleshoot.

SKILL.md

Video Transcript Downloader

./scripts/vtd.js can:

  • Print a transcript as a clean paragraph (timestamps optional).
  • Download video/audio/subtitles.

Transcript behavior:

  • YouTube: fetch via youtube-transcript-plus when possible.
  • Otherwise: pull subtitles via yt-dlp, then clean into a paragraph.

Setup

cd ~/Projects/agent-scripts/skills/video-transcript-downloader && npm ci

Transcript (default: clean paragraph)

./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

Download video / audio / subtitles

./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

Formats (list + choose)

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

Notes

  • Default transcript output is a single paragraph. Use --timestamps only when asked.
  • Bracketed cues like [Music] are stripped by default; keep them via --keep-brackets.
  • Pass extra yt-dlp args after -- for transcript fallback, download, audio, subs, formats.
./scripts/vtd.js formats --url 'https://…' -- -v

Troubleshooting (only when needed)

  • Missing yt-dlp / ffmpeg:
brew install yt-dlp ffmpeg
  • Verify:
yt-dlp --version
ffmpeg -version | head -n 1