1.1.4 • Published 2 years ago

bili-live-comment-ws v1.1.4

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

BiliBili 直播间信息流

包括评论, 醒目留言, 入场信息, 投喂送礼, 全区礼物广播, 总榜排行, 人气值等

展示信息

全局安装

$ npm i bili-live-comment-ws -g

使用

$ danmaku

更新

$ npm upgrade -g

卸载

$ npm uninstall bili-live-comment-ws -g

原理

初始化

GET https://api.live.bilibili.com/xlive/web-room/v1/index/getDanmuInfo

获取所需的参数

连接至WebSocket服务器

解码数据

直播间WebSocket传输数据格式

Packet Header Format

 0                   1           
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  PL   |HL |PV |  Op   |Seq ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |
|             Data              |
|                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


PL:  4 Bytes

  Packet Length


HL:  2 Bytes

  Header Length

    16 - HEADER_TOTAL_LENGTH


PV:  2 Bytes

  Protocol Version
  
    1 - HEADER_DEFAULT_VERSION
    0 - BODY_PROTOCOL_VERSION_NORMAL
    2 - BODY_PROTOCOL_VERSION_DEFLATE


Op:  4 Bytes

  Operation

    1 - HEADER_DEFAULT_OPERATION
    2 - HEARTBEAT
    3 - HEARTBEAT_REPLY
    5 - MESSAGE
    7 - USER_AUTHENTICATION
    8 - CONNECT_SUCCESS


Seq ID:  4 Bytes

  Sequence Id

    1 - HEADER_DEFAULT_SEQUENCE


Data: ANY Bytes

  if PV = 0 then Data is utf-8 encoded format json string
  if PV = 2 then Data is Gzip(deflate)
    Unzip: Data -> Header0 + Data0 + Header1 + Data1 + ...
      Here, in header(n) the value of the PV field is 0
1.1.4

2 years ago

1.1.3

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

1.1.2

2 years ago

1.0.2

2 years ago

1.0.1

3 years ago

1.0.0

3 years ago