mcpField
B
bilibili-subtitle

bilibili-subtitle

github.com/hamsterider-m生产力131.3k 次安装20 周前更新
代码仓库

关于 bilibili-subtitle

bilibili-subtitle 是用于从 Bilibili 视频提取字幕并生成逐字稿的工具,适合处理视频文本的用户。它会在视频无字幕时回退到 ASR,并可输出校对和摘要文件。

主要功能

  1. 01提取 Bilibili 字幕
  2. 02无字幕时使用 ASR 转录
  3. 03生成 SRT、VTT 和 Markdown 逐字稿
  4. 04可选校对与摘要
  5. 05支持 JSON 和双语输出

适用场景

  1. 01为视频生成 Markdown 逐字稿
  2. 02在视频缺少字幕时进行转录
  3. 03以 JSON 格式交由父 Skill 解析

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/hamsterider-m/bilibili-subtitle --skill bilibili-subtitle

安装后在 Claude Code 中输入/bilibili-subtitle确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

.gitignore
README.md
pixi.toml
opencode.json
install.sh
bilibili_subtitle/
bbdown_client.py
audio_extractor.py
__main__.py
__init__.py
cache.py
chunker.py
contract.py
errors.py
merger.py
detector.py
languages.py
preflight.py
segment.py
subtitle_loader.py
url_parser.py
bilibili_subtitle/agents/
translate_agent.py
proofread_agent.py
summarize_agent.py
transcribe_agent.py
bilibili_subtitle/converters/
srt_converter.py
bilibili_subtitle/renderers/
_time.py
markdown.py
srt.py
vtt.py
plans/
bilibili-subtitle-skill-plan.md

详细介绍

来自项目 README

Bilibili 字幕提取工具

从 Bilibili 视频提取字幕,支持 AI 字幕检测和 ASR 转录回退。

Quick Reference

任务命令
前置检查pixi run python -m bilibili_subtitle --check
基本提取pixi run python -m bilibili_subtitle "BV1234567890"
快速模式pixi run python -m bilibili_subtitle "URL" --skip-proofread --skip-summary
JSON 输出pixi run python -m bilibili_subtitle "URL" --json-output
双语输出pixi run python -m bilibili_subtitle "URL" --output-lang zh+en

执行层级

┌─────────────────────────────────────────────────────────┐
│ Layer 0: Preflight Check (前置检查)                      │
│   --check → 验证 BBDown/API Keys/登录状态               │
├─────────────────────────────────────────────────────────┤
│ Layer 1: Video Detection (视频检测)                      │
│   URL → BBDown → 字幕存在性检测                         │
├─────────────────────────────────────────────────────────┤
│ Layer 2: Content Extraction (内容提取)                   │
│   有字幕 → 加载 SRT → 校对                               │
│   无字幕 → 下载音频 → ASR 转录 → 校对                    │
├─────────────────────────────────────────────────────────┤
│ Layer 3: Enhancement (增强处理)                          │
│   校对(ANTHROPIC_API_KEY) → 摘要(ANTHROPIC_API_KEY)     │
└─────────────────────────────────────────────────────────┘

前置条件检查

必须先运行,验证环境配置:

pixi run python -m bilibili_subtitle --check

输出示例:

✅ BBDown: Installed (1.6.3)
✅ BBDown Auth: Logged in
✅ ffmpeg: Installed
⚠️  ANTHROPIC_API_KEY: Not set (required for proofreading)
⚠️  DASHSCOPE_API_KEY: Not set (required for ASR)
✅ Python Dependencies: All installed

JSON 格式输出(便于父 skill 解析):

pixi run python -m bilibili_subtitle --check --check-json

错误分级

CodeLevel说明修复建议
E001FATALBBDown 未安装./install.sh
E002FATALBBDown 未登录BBDown login
E003RECOVERABLE下载失败检查 URL/网络
E004RECOVERABLE无字幕自动触发 ASR
E005FATALASR 未配置设置 DASHSCOPE_API_KEY
E006RECOVERABLEAI 功能未配置使用 --skip-* 或设置 API Key
E007FATALffmpeg 未安装pixi install
E008FATALURL 无效提供正确的 BV/URL
E010FATAL视频不存在检查视频是否删除/私有

退出码:

  • 0 - 成功
  • 1 - 致命错误(FATAL)
  • 2 - 可恢复错误(RECOVERABLE,部分完成)
  • 3 - 部分成功(有警告)

作为子 Skill 的调用契约

标准调用
pixi run python -m bilibili_subtitle "<URL>" \
  -o /tmp/bilibili_output \
  --skip-summary \
  --json-output
成功判定
  1. 退出码为 0 或 2
  2. 输出目录存在 *.transcript.md
JSON 输出结构
{
  "exit_code": 0,
  "success": true,
  "output": {
    "video_id": "BV1xxx",
    "title": "视频标题",
    "files": {
      "transcript": "/path/to/xxx.transcript.md",
      "srt": "/path/to/xxx.srt",
      "vtt": "/path/to/xxx.vtt",
      "summary_json": null
    }
  },
  "warnings": [],
  "errors": []
}
父 Skill 集成示例
from bilibili_subtitle import build_cli_command, ExitCode

cmd = build_cli_command(
    "BV1xxx",
    output_dir="/tmp/output",
    skip_proofread=True,
    skip_summary=True,
)
# ['pixi', 'run', 'python', '-m', 'bilibili_subtitle', 'BV1xxx', ...]

输出文件

output/
├── {title}.srt          # SRT 字幕
├── {title}.vtt          # VTT 字幕
├── {title}.transcript.md   # Markdown 逐字稿
├── {title}.summary.json    # 结构化摘要 (可选)
└── {title}.summary.md      # 摘要 Markdown (可选)

API Keys

KeyProvider用途必需性
ANTHROPIC_API_KEYAnthropic校对/摘要推荐
DASHSCOPE_API_KEY阿里云ASR 转录无字幕时必需

安装

cd ~/.agents/skills/bilibili-subtitle
./install.sh
BBDown login  # 扫码登录

详细文档


版本: v0.2.0

评论

支持 Markdown