Skip to content

Latest commit

 

History

History
64 lines (33 loc) · 2.3 KB

basic.md

File metadata and controls

64 lines (33 loc) · 2.3 KB

弹幕数据

一个弹幕为一个数据对象。该对象由一系列属性组成;一个属性表示为一个名字/值对。名字由小写字母组成,必要时可以使用下划线_。每个属性的值具有固定的类型。

类型借用了json的基本数值类型,分别是Number,Boolean,String。数字类型区分整数与浮点数。浮点为双精度浮点(float)。整数为32位无符号整数(int)。

Basic Properties 基本属性

基本属性为弹幕数据的必须属性。每个弹幕数据必须提供所有的基本属性。属性值的有效性由上下文中决定。

text: String

弹幕文本内容,utf-8 格式编码。

stime: Number(float)

弹幕出现时视频的所在的时间,单位为秒(seconds)。一般地,如果视频的帧率为60 fps,弹幕时间的最大有效精度为 1/60 秒,超过这个精度,则只考虑相对的先后次序。

Style Properties 样式属性

样式为弹幕数据的附加属性,其中每一个属性都有默认的值。如果弹幕数据中缺少这一属性,则应该使用该属性的默认值。

color: Number(int)

0xRRGGBB 格式的颜色值。默认值 0xFFFFFF。

mode: Number(int)

弹幕模式,枚举值。以下是常用的几个弹幕模式:

  • 1 滚动弹幕(默认)
  • 4 底部弹幕
  • 5 顶部弹幕

数值的具体值设定只为兼容目的。

size: Number(int)

弹幕字体的像素大小。默认的大小为 25。

Context Properties 上下文属性

每个弹幕数据都出现在特定的上下文中。这体现为弹幕的上下文属性。如果弹幕缺少某个上下文属性,然则可以由相应的上下文确定。当缺少某个上下文时,相应的上下文属性是不确定的。

属性类型应该根据属性意义,在架构服务器应用程序时确定。每个服务器的实现都必须说明其上下文属性的类型及涵义。

以下是常见的上下文属性:

id

区分不同弹幕数据的标识。

cid

弹幕数据所属的频道标识。一般来说一个视频对应一个弹幕频道。

uid

弹幕发送者身份标识。

postdate

弹幕发送时间戳。为了保证时序上的统一,弹幕发送时间戳应该由服务器端按接收到弹幕的时间确定。