README
April 26, 2013 · View on GitHub
ytplayer 是一个弹幕播放器,创建于 bilibili 建站前期,但是和 bilibili 没有任何关系(bilibili 似乎是用了和 ytplayer 同一个时期出现的 Yet Another XXX Player (我忘记 XXX 是什么了)来作为播放器的)。当年 AcFun 上面出现了大量质量低劣的广告,于是我就想着另建一个弹幕网站,接着就有了这个东西。
后来 bilibili 出现了,并且当时表现不错,然后这东西就搁置了。最近突然有人问我要代码,于是就从以前的 SVN 仓库里面扒出代码,传到 GitHub 来了。
演示站点: http://ytp.bbxy.net <-- 此站点会不定期抽风,如果页面显示 HTTP 503 错误,说明服务器又抽风了,请过半天左右以后再尝试访问。
部署说明请看 INSTALL.md 文件
== Flash 播放器如何获取和发送弹幕? ==
=== 发送弹幕 ===
Flash 播放器会将弹幕以 HTTP GET 方式发送给 savecomment.php 页面,各参数意义如下
content:经过 URL 编码的弹幕内容
fontsize:弹幕字号
color:弹幕字体颜色,以十进制表示的十六进制颜色值。比如,若颜色为蓝色(#0000ff),那么这里的值就应该为 255
mode:弹幕模式,0=底部弹幕,2=顶部弹幕,3=飞行弹幕,4=字幕菌
playtime:弹幕对应的影片播放时间,以毫秒为单位
id:弹幕对应的影片编号
完整的请求应该和下面的例子类似:
savecomment.php?content=%E6%B5%8B%E8%AF%95&fontsize=22&color=16777215&mode=3&playtime=199697&id=52
这个例子将会发送一个内容为“测试”,颜色白色,字号为 22,对应 52 号影片,并在影片播放到 199.697s 时出现的飞行弹幕。
=== 获取弹幕 ===
Flash 播放器在加载的时候会通过 playinfo.php 以 HTTP GET 方式读取对应影片的信息以及弹幕,参数如下:
id:影片编号
完整的请求应该和下面的例子类似:
playinfo.php?id=56
playinfo.php 会以 XML 格式返回影片信息及弹幕,格式如下:
各元素意义如下:
flvID:影片编号
flvURL:视频下载地址,如果视频被分段,则各段地址将以换行符 '\n' 进行分隔
playTimes:视频总时长,单位为秒
title:视频标题
onlineCount:当前在线人数
commentCount:弹幕总数
id:弹幕编号
fontSize:弹幕大小
flySpeed:弹幕显示时间,即从弹幕出现到弹幕消失的时间总和
fontColor:弹幕文字颜色
flyType:弹幕类型,可选值为 [fly|top|bottom]
isSubtitle:是否为弹幕菌的弹幕,1=是,0=否
playTime:弹幕出现时的影片时间,单位为秒,精确到小数点后 3 位
commentTime:弹幕发表的时间,单位为 UNIX 时间戳