mcpField
B
bilibili-subtitle

bilibili-subtitle

github.com/hamsterider-m生産性131.3k 回インストール20 週間前に更新
リポジトリ

bilibili-subtitle について

bilibili-subtitle は、動画コンテンツを扱う人向けに Bilibili 動画から字幕や文字起こしを抽出します。字幕がない場合は ASR に切り替え、校正や要約のファイルも作成できます。

主な機能

  1. 01Bilibili 字幕の抽出
  2. 02字幕がない場合の ASR 転写
  3. 03SRT、VTT、Markdown 文字起こしの作成
  4. 04校正と要約のオプション
  5. 05JSON と二言語での出力

活用シーン

  1. 01動画から Markdown 文字起こしを作成
  2. 02字幕のない動画を文字起こし
  3. 03JSON 出力を親 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

コメント