Skip to content
Back to skills

Bilibili Transcribe

ASecurity

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

  • 1,189 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added August 31, 2026
ai-agentspythonrustgobashgit

Security analysis

A96/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 4 files and shows the line behind each finding

Scanned September 22, 2026

npx -y skills add chubbyguan/chubbyskills --skill bilibili-transcribe --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Bilibili Transcribe?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Bilibili Transcribe
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/chubbyguan-bilibili-transcribe/badge)](https://www.skillsdirectory.com/skills/chubbyguan-bilibili-transcribe)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: bilibili-transcribe
description: >
  哔哩哔哩视频 → 下载 → 转录 → 存为 Markdown 的完整工作流。
  支持 BV 号和完整链接,无需登录。
metadata:
  category: "media"
  triggers: "[\"用户发送 B 站视频链接\", \"把这个 B 站视频转成文字\", \"帮我转录这个 bilibili\"]"
  version: "1.0.0"
  tags: "[\"media\", \"audio\", \"video\", \"transcription\", \"bilibili\"]"
---

# B 站视频转录 Skill

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

## 环境要求

```bash
# 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
```

## 使用方法

```bash
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 urls.txt -o ./output
```

## 流程

### Step 1: yt-dlp 下载音频

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

```bash
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 转录

```python
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

## 参考项目

- [yt-dlp/yt-dlp](https://github.com/yt-dlp/yt-dlp) - 视频下载工具
- [FunAudioLLM/SenseVoice](https://github.com/FunAudioLLM/SenseVoice) - 语音识别模型

## ⚖️ 合规声明

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

Files in this skill

  • SKILL.md3 KB
  • requirements.txt64 B
  • scripts/batch_transcribe.py2.3 KB
  • scripts/transcribe.py6 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.