用途:从 B 站视频中提取内容,包括官方投稿字幕、弹幕(密度、峰值、抽样)和评论;当视频没有投稿字幕时,回退到音频转写生成带时间戳的字幕。
主要能力:通过 Bilibili Evolved(BE)的 downloadSubtitles 与 downloadDanmaku provider 一次性获取字幕和弹幕;对弹幕按 30 秒分桶统计密度、取前 5 个峰值时刻并做分层抽样;无字幕时用 Node.js 调 playurl API 取 DASH 音频流,下载 .m4s 后用 ffmpeg 转 .m4a,再用 FunASR paraformer-zh 转写为 SRT;BE 弹幕 provider 缺失时可用 Protobuf API 兜底;评论通过 reply/main 接口读取。
使用方式:浏览器访问经 kimi-webbridge,需使用命名 session(如 "session":"bilibili"),先 navigate 到视频页并等待 2–3 秒让 BE 初始化,再执行一次性 evaluate 返回字幕与弹幕。网络请求(音频下载、playurl API)须用 Node.js https.get() 并带 User-Agent 与 Referer,因为 curl.exe 和 Python requests 会被 B 站 CDN 的 TLS 指纹拦截。音频转写步骤:node 取音频流 URL(fnval=4048&platform=web),下载 .m4s,执行 ffmpeg -i output.m4s -c copy output.m4a -y,再运行 python audio2srt.py output.m4a --srt --model paraformer-zh --punc-model ct-punc --spk-model cam++,最后删除中间音频文件,仅保留 .srt。
适用场景:需要 B 站视频字幕文本、弹幕热度分析或评论内容的自动化处理。
限制:音频 URL 约 5 分钟后过期,需即时下载;无 --spk-model 时输出无 sentence_info;ModelScope 缓存需指向可写目录;弹幕 provider 加载异步需轮询。具体收费、平台支持范围等资料暂未提供。