探讨B站弹幕的加载方式

查看 148|回复 10
作者:Nonoby   
过去B站的弹幕一直是以XML形式传输,最近再去抓包B站的弹幕发现跟以前不一样了。先看看以前的弹幕接口。
接口地址:https://comment.bilibili.com/209571792.xml
目前仍然有效,而且在B站的移动端页面使用。
当我浏览PC端时,弹幕接口变了,采用了分段的形式加载。
新的接口:https://api.bilibili.com/x/v2/dm/web/seg.so?type=1&oid=209580032&pid=540778911&segment_index=1&pull_mode=1&ps=0&pe=120000
简单分析下参数
[JavaScript] 纯文本查看 复制代码
type=1 //固参
oid= // 视频 aid
pid= // 视频 cid
segment_index= // 弹幕分段序号
pull_mode=1 // 固定参数
ps= // 分段开始数据
pe= // 分段结束数据
// 这两个参数后面会讲
在B站的弹幕加载规则中,当计算的某个参数,假设 n [JavaScript] 纯文本查看 复制代码function gmt(t) {
    if (this.duration) {
        t  -1) && e) {
            var i = this.playUrlStore.dmStartOffset
              , n = Math.floor((t + i) / e) + 1;
            1 === n && t + i >= e / 3 && (n = 1.5),
            this.danmakuStore.allSegment[n] ? (t % e > e - 5 || t  e / 3 - 5) && this.gmt(t + 10) : _x.dmp(n)
        }
    }
}
另外弹幕到底有多个片段,已经弹幕的内容需要你进行解码。

弹幕, 加载

三滑稽甲苯   

https://github.com/SocialSisterY ... ku/danmaku_proto.md
无头草   

那有没有办法让B站把当前的弹幕全部列出来呢,我看下载姬可以下弹幕,配合alist还挺舒服的
vipzzc   

虚心学习一下
MXZHT   

回头试试
z1872428255   

学习了!
awa2004   

感谢分享,学到了
fnckyon2014   

学习了,谢谢分享
PrincessSnow   

学习一下,谢谢分享
yinzhesky   

学到了谢谢大佬
您需要登录后才可以回帖 登录 | 立即注册

返回顶部