mcpbeat

Bilibili Transcribe

chubbyguan/bilibili-transcribe

> 哔哩哔哩视频 → 下载 → 转录 → 存为 Markdown 的完整工作流。 支持 BV 号和完整链接,无需登录。

3k tokens
context cost
the whole folder, loaded on every use
4
files
ships runnable scripts
0
copies elsewhere
how many repositories repackaged it
588
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/chubbyguan/chubbyskills --skill bilibili-transcribe

The instruction itself

4 sections, as written by the author

B 站视频转录 Skill

字幕优先:先尝试抓取官方/自动字幕(秒级、免 GPU、免 funasr);抓不到再下载音频用 SenseVoice-Small 转录,存为 Markdown 文件。加 --no-subtitle 可强制走音频转录。

环境要求

# Python 3.9+
python -m venv .venv
source .venv/bin/activate

# 依赖
pip install funasr modelscope torch torchaudio

# 系统依赖
# macOS: brew install ffmpeg yt-dlp
# Ubuntu: sudo apt install ffmpeg && pip install yt-dlp

使用方法

python scripts/transcribe.py "https://www.bilibili.com/video/BV1rrQGBeEen/"
python scripts/transcribe.py "BV1rrQGBeEen"
python scripts/transcribe.py "BV1rrQGBeEen" --no-subtitle   # 强制音频转录

# 批量处理:每行一个 B站 URL 或 BV 号
python scripts/batch_transcribe.py ../../examples/bilibili-urls.txt -o ./output

流程

Step 1: yt-dlp 下载音频

B 站有反爬机制,需要加 User-Agent 和 Referer:

yt-dlp --extract-audio --audio-format mp3 --audio-quality 128K \
  --user-agent "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) ..." \
  --referer "https://www.bilibili.com" \
  "https://www.bilibili.com/video/BV1rrQGBeEen/"

Step 2: SenseVoice-Small 转录

from funasr import AutoModel
from funasr.utils.postprocess_utils import rich_transcription_postprocess

model = AutoModel(
    model="iic/SenseVoiceSmall",
    trust_remote_code=True,
    vad_model="fsmn-vad",
    vad_kwargs={"max_single_segment_time": 30000},
    device="cpu",
)

result = model.generate(input=audio_path, language="zh", use_itn=True, batch_size_s=60)

Step 3: 生成 Markdown

自动创建带 frontmatter 的 Markdown 文件。

批量模式

scripts/batch_transcribe.py 会逐条调用单篇转录脚本,默认单条失败后继续处理下一条;需要严格模式时加 --stop-on-error

性能数据

| 视频时长 | 转录耗时 |

|------|------|

| 5 min | ~10s |

| 10 min | ~20s |

| 30 min | ~60s |

已知限制

  • B 站 4K/1080P60 需要大会员,普通用户可下载 720P 以下
  • SenseVoice-Small 模型首次下载约 893MB
  • 不支持说话人分离
  • 合集视频会下载第一个分 P

参考项目

⚖️ 合规声明

仅供个人学习与研究使用。请遵守目标平台的服务条款(ToS)与 robots 规则,控制请求频率,不要用于批量抓取、商用爬取或侵犯他人权益的场景。下载内容的版权归原作者所有。

How to use it

Copy the folder

Take chubbyguan/bilibili-transcribe from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.

Install what it needs

The instructions reference pip, brew. Without those the skill loads but fails at the first command.