xml弹幕

实时弹幕池容量有限(根据视频类型500-8000条不等),占满后再发送会使实时弹幕池底部的弹幕压入历史弹幕池(类似于堆栈)

获取实时弹幕1

https://api.bilibili.com/x/v1/dm/list.so

请求方式:GET

使用deflate压缩,注意解码

url参数:

参数名类型内容必要性备注
oidnum视频cid必要

示例:

curl -G 'https://api.bilibili.com/x/v1/dm/list.so' \
--data-urlencode 'oid=144541892' \
--compressed -o 'danmaku.xml'

获取实时弹幕2

https://comment.bilibili.com/{cid}.xml

请求方式:GET

效果与前者相同

使用deflate压缩,注意解码

url路径:

参数名类型内容必要性备注
cidnum视频cid必要

示例:

curl 'https://comment.bilibili.com/144541892.xml'
--compressed -o 'danmaku.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:正常 1:弹幕已关闭)

    • 标签 real_name:0

    • 标签 source:e-r

    • 标签 d (带有属性 p):弹幕内容

属性 p

字符串内每项用逗号,分隔

含义类型备注
0视频内弹幕出现时间float
1弹幕类型int321 2 3:普通弹幕
4:底部弹幕
5:顶部弹幕
6:逆向弹幕
7:高级弹幕
8:代码弹幕
9:BAS弹幕(pool必须为2)
2弹幕字号int3218:小
25:标准
36:大
3弹幕颜色int32十进制RGB888值
4弹幕发送时间int32时间戳
5弹幕池类型int320:普通池
1:字幕池
2:特殊池(代码/BAS弹幕)
6发送者mid的HASHstring用于屏蔽用户和查看用户发送的所有弹幕 也可反查用户id
7弹幕dmidint64唯一 可用于操作参数
8弹幕的屏蔽等级int320-10,低于用户设定等级的弹幕将被屏蔽
(新增,下方样例未包含)
<d p="490.19100,1,25,16777215,1584268892,0,a16fe0dd,29950852386521095">从结尾回来看这里,更感动了!</d>

弹幕内容为:“从结尾回来看这里,更感动了!”

参数为:视频内出现的时间是490.19100秒,类型是普通弹幕,字号为标准,颜色为白色(#FFFFFF),发送时间是2020/3/15 18:41:32.........

web版标准颜色

弹幕的颜色属性使用十进制RGB888

颜色HEX(RGB888)DEC(RGB888)
红色FE030216646914‬
橘红FF720416740868
橘黄FFAA0216755202
淡黄FFD30216765698
黄色FFFF0016776960
草绿A0EE0010546688
绿色00CD0052480
墨绿019899104601
紫色4266BE4351678
青色89D5FF9022215
品红CC027313369971
黑色2222222236962
灰色9B9B9B10197915
白色FFFFFF16777215