CCLNative 是一套原生于 CCL的弹幕格式,用于配合 WordPress插件等现代化的HTML5弹幕插件。设计的 主要思想是方便 JS 读取和未来的可扩展性。
标注 [OPT] 的字段为可选字段
{
"v":1,
[OPT] "len": 10,
[OPT] "offset": 0,
[OPT] "socket": "",
[OPT] "alias":{...},
"timeline":[
...
]
}
-
v
- Version Number 版本字段是负责告知解析器目前的版本号码的。所有的CCLNative实现需要遵循如下原则:对于版本1必须 提供完全的支持,对于更高级的版本,应该尽可能提供支持。同时版本之间必须保证字段互通性,即,如果 有字段 A 出现在版本 V 下,则任何大于版本 V 的版本,都应该无歧义的依然同样的解析 A 。 -
len
- Length 弹幕总数。如果 len 与 timeline 等长,则说明本文件包括所有弹幕,否则如果 len 大于 timeline长度说明本文件只包含弹幕库的部分弹幕。这种场合下远程服务有可能提供方法获取所有弹幕, 剩余弹幕,也有可能不提供此方法(用 len 表示历史弹幕总数)。len不得小于 timeline 长度。 -
socket
- Socket id socket接口初始化配置字段,用于建立与聊天服务器的链接。 -
alias
- Danmaku object property field alias 这个字段是一个一层对应表,表示了弹幕文件的属性字段和标准字段的定义。比如如果定义为 "m":"mode" 则在解析时 timeline 中的所有弹幕对象的 "m" 属性会被理解为 "mode"。当然,如果原来存在 "mode" 则 "mode"属性还是会被理解为 "mode",在二者不同的情况下,哪个属性覆盖哪个是不确定的。 -
timeline
- Danmaku Object timeline 时间轴。包含精华。
timeline里的弹幕对象没有时序保证,一些实现可能会把最大的弹幕放在前面来保证加载,也有实现可能会把 大的弹幕放在后方,而先行加载大量小型弹幕。