123 lines
4.6 KiB
Markdown
123 lines
4.6 KiB
Markdown
# 弹幕
|
||
|
||
弹幕均为xml格式,下载至本地后加载
|
||
|
||
实时弹幕池容量有限(根据视频类型500-3000条不等),占满后再发送会使实时弹幕池底部的弹幕压入历史弹幕池(类似于堆栈)
|
||
|
||
## 获取实时弹幕1
|
||
|
||
**使用deflate压缩,使用时注意解码**
|
||
|
||
api.bilibili.com/x/v1/dm/list.so
|
||
|
||
*方式:GET*
|
||
|
||
参数:
|
||
|
||
| 参数名 | 内容 | 必要性 | 备注 |
|
||
| ------ | ------- | ------ | ---- |
|
||
| oid | 视频CID | 必要 | |
|
||
|
||
示例:
|
||
|
||
http://api.bilibili.com/x/v1/dm/list.so?oid=144541892
|
||
|
||
## 获取实时弹幕2
|
||
|
||
与前者使用效果相同
|
||
|
||
**使用deflate压缩,使用时注意解码**
|
||
|
||
comment.bilibili.com/{cid}.xml
|
||
|
||
*方式:GET*
|
||
|
||
参数:
|
||
|
||
| 参数名 | 内容 | 必要性 | 备注 |
|
||
| ------ | ------- | ------ | ---- |
|
||
| cid | 视频CID | 必要 | |
|
||
|
||
示例:
|
||
|
||
http://comment.bilibili.com/144541892.xml
|
||
|
||
```xml
|
||
<?xml version="1.0" encoding="UTF-8"?>
|
||
<i>
|
||
<chatserver>chat.bilibili.com</chatserver>
|
||
<chatid>144541892</chatid>
|
||
<mission>0</mission>
|
||
<maxlimit>1500</maxlimit>
|
||
<state>0</state>
|
||
<real_name>0</real_name>
|
||
<source>e-r</source>
|
||
<d p="490.19100,1,25,16777215,1584268892,0,a16fe0dd,29950852386521095">从结尾回来看这里,更感动了!</d>
|
||
<d p="18.77300,1,25,16777215,1584268920,0,4fe08d3,29950867226492933">咦三体居然还有动画</d>
|
||
<d p="52.88400,1,25,16777215,1584268954,0,4fe08d3,29950885214289927">哈哈哈哈开心</d>
|
||
<d p="25.51600,1,25,16777215,1584268957,0,e4b18b37,29950886612566021">红岸么</d>
|
||
<d p="144.45200,1,25,16777215,1584269076,0,e4b18b37,29950948716576775">我就是想看我的世界里水滴长啥样</d>
|
||
<d p="112.64100,1,25,16777215,1584269109,0,96606007,29950966302244871">有手指?</d>
|
||
<d p="222.84000,1,25,16777215,1584269154,0,e4b18b37,29950989809745923">侦测到在途的聚变打击</d>
|
||
<d p="284.77800,1,25,16777215,1584269216,0,e4b18b37,29951022237483011">都是虫子</d>
|
||
<d p="398.00500,1,25,16777215,1584269329,0,e4b18b37,29951081615196163">ocean</d>
|
||
<d p="432.17900,1,25,16777215,1584269363,0,e4b18b37,29951099571535943">村民,哼~</d>
|
||
<d p="467.41900,1,25,16777215,1584269399,0,e4b18b37,29951118364639237">黄河之水天上来</d>
|
||
<d p="6.71900,1,25,16777215,1584269422,0,70ba16f4,29951130398621699">镇站之宝</d>
|
||
<d p="313.08600,1,25,16777215,1584269425,0,e531c9dc,29951131798994947">这水</d>
|
||
<d p="587.87900,1,25,16777215,1584269519,0,e4b18b37,29951181142360071">海的那边是什么</d>
|
||
<d p="618.05000,1,25,16777215,1584269549,0,e4b18b37,29951196901933061">折跃门准备完毕</d>
|
||
…………
|
||
<i>
|
||
```
|
||
|
||
|
||
|
||
## 弹幕格式
|
||
|
||
### xml格式结构
|
||
|
||
- 标签 i
|
||
|
||
- 标签 chatserver:chat.bilibili.com
|
||
- 标签 chatid:视频CID
|
||
- 标签 mission:0
|
||
- 标签 maxlimit:实时弹幕池最大容量
|
||
- 标签 state:0
|
||
- 标签 real_name:0
|
||
- 标签 source:e-r
|
||
|
||
- 标签 d (带有属性 p):弹幕内容
|
||
|
||
### 属性 p
|
||
|
||
字符串内每项用","分隔
|
||
|
||
| 项 | 含义 | 类型 | 备注 |
|
||
| ---- | ------------------ | ----- | ------------------------------------------------------------ |
|
||
| 0 | 视频内弹幕出现时间 | float | 秒 |
|
||
| 1 | 弹幕类型 | int | 1 2 3普通弹幕<br />4底部<br />5顶部<br />6逆向<br />7精准定位<br />8代码弹幕<br />9BAS弹幕 |
|
||
| 2 | 弹幕字号 | int | 18 小<br />25 标准<br />36 大 |
|
||
| 3 | 弹幕颜色 | int | 十进制RGB888值 |
|
||
| 4 | 弹幕发送时间 | int | 时间戳 |
|
||
| 5 | 弹幕池类型 | int | 0普通池<br />1字幕池<br />2特殊池(高级弹幕) |
|
||
| 6 | 编码后的用户ID | HEX | 用于屏蔽用户 也可反查用户ID |
|
||
| 7 | 弹幕ID | int | 唯一 可用于操作参数 |
|
||
|
||
```xml
|
||
<d p="490.19100,1,25,16777215,1584268892,0,a16fe0dd,29950852386521095">从结尾回来看这里,更感动了!</d>
|
||
```
|
||
|
||
弹幕内容为:“从结尾回来看这里,更感动了!”
|
||
|
||
参数为:视频内出现的时间是490.19100秒,类型是普通弹幕,字号为标准,颜色为白色(#FFFFFF),发送时间是2020/3/15 18:41:32.........
|
||
|
||
### web版标准颜色
|
||
|
||
| | | |
|
||
| ---- | ---- | ---- |
|
||
| | | |
|
||
| | | |
|
||
| | | |
|
||
|