video-transcript-downloader

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

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.
./scripts/vtd.js
具备以下功能:
  • 将转录文本输出为整洁的段落(可选是否包含时间戳)。
  • 下载视频/音频/字幕。
转录文本获取逻辑:
  • YouTube:尽可能通过
    youtube-transcript-plus
    获取。
  • 其他网站:通过
    yt-dlp
    提取字幕,再整理为段落格式。

Setup

安装配置

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

Transcript (default: clean paragraph)

转录文本(默认:整洁段落格式)

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

下载视频/音频/字幕

bash
./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
bash
./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):
bash
./scripts/vtd.js formats --url 'https://…'
Download a specific format id (example):
bash
./scripts/vtd.js download --url 'https://…' --output-dir ~/Downloads -- --format 137+140
Prefer MP4 container without re-encoding (remux when possible):
bash
./scripts/vtd.js download --url 'https://…' --output-dir ~/Downloads -- --remux-video mp4
列出可用格式(格式ID、分辨率、容器、仅音频等):
bash
./scripts/vtd.js formats --url 'https://…'
下载指定格式ID(示例):
bash
./scripts/vtd.js download --url 'https://…' --output-dir ~/Downloads -- --format 137+140
优先选择MP4容器且不重新编码(尽可能直接封装):
bash
./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
    .
bash
./scripts/vtd.js formats --url 'https://…' -- -v
  • 转录文本默认输出为单个段落。仅在明确要求时使用
    --timestamps
    参数。
  • 默认会去除
    [Music]
    这类括号标注的提示;如需保留,使用
    --keep-brackets
    参数。
  • 对于转录文本回退逻辑、下载、音频提取、字幕提取、格式查看功能,可在
    --
    后添加额外的
    yt-dlp
    参数。
bash
./scripts/vtd.js formats --url 'https://…' -- -v

Troubleshooting (only when needed)

故障排查(仅在必要时使用)

  • Missing
    yt-dlp
    /
    ffmpeg
    :
bash
brew install yt-dlp ffmpeg
  • Verify:
bash
yt-dlp --version
ffmpeg -version | head -n 1
  • 缺失
    yt-dlp
    /
    ffmpeg
bash
brew install yt-dlp ffmpeg
  • 验证:
bash
yt-dlp --version
ffmpeg -version | head -n 1