Skip to content

shanmiteko/wsBiliLiveComment

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
shanmite
Apr 16, 2021
876a623 · Apr 16, 2021

History

9 Commits
Apr 13, 2021
Apr 16, 2021
Apr 13, 2021
Apr 16, 2021
Apr 14, 2021
Apr 15, 2021
Apr 16, 2021
Apr 16, 2021

Repository files navigation

BiliBili 直播间信息流

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

初始化

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

获取所需的参数

HostList WebSocket主机列表
key 身份验证

连接至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 bits

  Packet Length


HL:  2 bits

  Header Length

    16 - HEADER_TOTAL_LENGTH


PV:  2 bits

  Protocol Version
  
    1 - HEADER_DEFAULT_VERSION
    0 - BODY_PROTOCOL_VERSION_NORMAL
    2 - BODY_PROTOCOL_VERSION_DEFLATE


Op:  4 bits

  Operation

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


Seq ID:  4 bits

  Sequence Id

    1 - HEADER_DEFAULT_SEQUENCE


Data: ANY bits

  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

展示信息