Bilibili Auto Transcript

Automation

B站视频转录+收藏夹自动扫描二合一。手动发链接转写文本(三级降级:CC字幕→AI字幕→Whisper),或定时扫描收藏夹自动转录+AI摘要+通知。基于 @54lynnn/bilibili-transcript。

Install

openclaw skills install bilibili-auto-transcript

📼 Bilibili 视频转录 & 收藏夹自动扫描

双模式技能 — 可以手动转录单个视频,也可以定时扫描收藏夹自动处理。

模式一:手动转录

当你给我一个 B站链接时,我会自动执行转录。

用法:

bash scripts/bilibili_transcript.sh "https://www.bilibili.com/video/BVxxxxx/"

转录优先级(自动降级):

  1. 人工CC字幕(zh-CN, zh-TW, en, ja 等)→ 100%准确,秒出
  2. AI字幕(ai-zh, ai-en, ai-ja 等9种语言)→ 85-90%准确,秒出
  3. Whisper medium 语音转文字 → ~95%准确,需GPU

输出: 结构化 TXT 文件,含元数据 + 摘要占位符 + 完整原文。我会阅读全文后写结构化摘要。


模式二:收藏夹自动扫描

定时检查 B站收藏夹,发现新视频后自动完成「转录 → AI 摘要 → 保存 → 通知」全流程。

工作流

定时触发 → 扫描收藏夹API → 对比已处理列表
  → 发现新视频 → 转录(三级降级)
  → AI读全文、写结构化摘要
  → 覆盖TXT中的摘要占位符
  → 记录avid到已处理列表
  → 通知用户(标题/作者/时长/转录来源/摘要/TXT文件)

首次设置

1. 创建收藏夹

B站新建一个收藏夹,设为公开

2. 获取收藏夹ID

URL 中 fid= 后面的数字。

3. 修改扫描脚本

编辑 scripts/bilibili_scanner.py,改 FAV_MEDIA_ID 为你的收藏夹ID。

4. Chromium 登录B站(获取Cookie)

chromium-browser &
# 打开 bilibili.com 并登录

5. 检查依赖

yt-dlp --version    # 必需
ffmpeg -version     # 必需
whisper --help      # 可选,无字幕视频降级用
opencc --version    # 可选,繁转简

6. 配置定时任务(推荐每6小时)

openclaw cron add \
  --name bilibili-scan \
  --every 21600000 \
  --message "运行扫描脚本:bash scripts/bilibili_scanner.py"

扫描脚本输出格式

COLLECTION_TOTAL:20
PROCESSED:15
NEW_VIDEOS:3
  - BVID:BVxxxxx
    TITLE:视频标题
    DURATION:12分34秒
    UPPER:UP主名

无新视频时输出:

ALL_CAUGHT_UP

公共部分

转录脚本

scripts/bilibili_transcript.sh — 两个模式共享同一个引擎。

依赖

  • yt-dlp — 视频下载、字幕获取
  • ffmpeg — 音频处理(Whisper 模式)
  • whisper (openai-whisper) — 语音转文字(降级)
  • opencc — 繁转简(可选)
  • chromium-browser — Cookie 支持(B站AI字幕)

输出文件格式

================================================================================
B站视频转录文档
================================================================================

📹 视频标题:xxx
🔗 B站链接:xxx
👤 作者:xxx
📅 发布时间:xxx
⏱️  视频时长:xxx
📝 转录来源:xxx
⏰ 转录时间:xxx

================================================================================
第一部分:视频摘要(AI生成)
================================================================================

【结构化摘要 — 我会阅读全文后替换此占位符】

================================================================================
第二部分:完整原文
================================================================================

(完整转录内容...)

================================================================================
文档结束
================================================================================

配置参数

参数默认值说明
收藏夹ID(需设置)URL fid= 的数字
输出目录~/workspace/Bilibili auto-transcript/TXT存放路径
已处理记录~/.openclaw/workspace/.auto-transcript-state/processed_videos.txt去重文件(每行一个avid)
扫描间隔每6小时自动模式定时

B站收藏夹API

GET https://api.bilibili.com/x/v3/fav/resource/list?media_id={ID}&ps=20&pn=1
  • ps 最大20(脚本已设 ps=20)
  • 公开收藏夹无需Cookie

avid vs bvid

  • id = avid(数字)→ 去重追踪用
  • bvid / bv_id = BV号 → 构建转录URL用

注意事项

  1. 同文件覆盖 — 同一BV号多次转录覆盖旧文件,已处理列表防重复
  2. 需要Cookie — 通过 Chromium cookie 获取 AI 字幕,需先B站登录
  3. Whisper 耗时 — medium模型约耗时视频时长的30-50%
  4. B站API ps上限20 — 超过需分页
  5. 摘要由AI生成 — 我会阅读全文后替换文件中的占位符