哔哩哔哩唧唧留言板
哔哩哔哩唧唧留言板

哔哩哔哩唧唧留言板

有任何疑问或者问题,可以在此处留下来,微博之内的就免了吧,本人不怎么喜欢折腾那些东西_(:з」∠)_

关于队列:现在能够同时进行的队列量为32个,超过此数量将会按照提交时间进行排队,如果在处理过程中发生了以下错误,将会自动重新进入下载队列并刷新时间(排在最后一位);

以下错误类型将会导致上述结果:数据解析失败(连续解析10次后);视频超过30M且所有下载地址速度均未达到100KB/S以上;下载出现错误3次以上;上传出现错误5次以上;任务执行时间超过3小时。

关于服(V)务(P)器(S):按照专业角度来讲,唧唧并没有真正意义上的服务器,而都只是VPS(虚拟服务器)而已,所以性能也远远没有服务器要来得好;为什么不用服务器这点我想可能有的人还不太清楚,国内正规(不造假)的独立服务器,每月大概是600RMB,如果按照现在唧唧7个节点来算的话,每月只是节点的服务器费用就要达到4200RMB,这已经完全超过了我能承受的经济范围;目前节点的通用配置:单核1G10M带宽独享。

关于新版:现在的这个版本已经是唧唧的第三版页面了,其实第三版的发布,并不是我不满意第二版的页面,最最主要的是,第二版的页面无法放置广告,不是说放不上去,而是放上去过后,整个页面就会变成一坨屎一样,所以把第三版看成是为了投放广告而诞生的,我也没有办法反驳,至少我自己也是认同这个观点的。可能有的用户还是喜欢第二版的样式,所以我也一直保持着第二版的页面,只是改了下地址:http://www.bilibilijj.com/oldindex,第三版对我来说也是有比较特别的意义,这是我第二个自己完成的页面,也是第一个数据量如此庞大的页面(对我而言);另外顺带一提,第二版的唧唧页面并不是我写的,我只知道作者是美国人,具体是谁我也无从得知,模板地址:http://sc.chinaz.com/moban/131017239350.htm

关于ASS弹幕:ASS弹幕的转换是由K9提供并维护至今;项目全称:Asscompressor,项目开源地址:https://github.com/CHOSX/AssCompressor

关于数据存放:所有数据均不在唧唧的VPS上面,也无法放在唧唧的VPS上面,因为数据量与带宽是唧唧不可及的东西...目前所有的数据均存放在天翼云存储中,之前稍老的数据存放在快盘上。

关于广告:唧唧创立时并没有想过要投放任何广告,因为一台VPS即可满足所有人的需求,但是从某一天起,唧唧的访问量突然急剧增加,在周末甚至出现了队列排到四位数以上的局面,于是唧唧便开始步入了分布处理的时代,紧跟着的就是大量的(对我而言)预算消耗,于是便开始琢磨如何降低唧唧每月的开支;起初想过发起捐款,但是考虑再三过后还是放弃了,最后决定在页面上投放广告,不过因为最开始并没有计划广告位,导致老版本的页面在嵌入广告后就像一坨屎一样!随即将广告拆除,并且推出了能放广告的新版页面,也就是现在的WIN8风格页面;在右下角放入了淘宝客的滚动广告,图片也是我自己选好然后单独P的,尽量让整个页面不会因为广告而出现不协调;不过可能因为用户群体中能消费的人数并不多的原因,淘宝客的效果也不见得很好,所以后期可能还会出现百度联盟的广告,如果您觉得这些广告非常的不爽,您可以通过浏览器的广告插件屏蔽掉,对此带来的不便在这里说声抱歉,但是也在此声明,作为一个站长,广告的收入将会决定这个网站的寿命,我不能保证我会一直有资金保持着唧唧的正常运维,因为我现在也确实是处在刚毕业的人生低谷期,不过不用担心,就算砸锅卖铁,唧唧也不能因为资金不足而停止运行!

常见问题:
1、为什么下载的时候这么多广告?
在当今已经找不到合适的无广告网盘的情况下,选择此类网盘已是必然,以前唧唧用过很多的无广告免费网盘,都因为各种原因放弃使用:
1、快盘:每天5000次API调用次数;2、新浪微盘:100M单文件限制;3、天翼云存储:上传经常卡死几十分钟;4、移动和彩云:单文件限制100M;其他的什么360、115、dbank、百度云都不用考虑,因为不提供上传和下载的API。
为什么一定要选择城通网盘,不选别的?因为此类网盘,只有城通提供直链且价格比较实惠(0.03/g),下载的时候虽然广告众多,但是下载地址是唯一的,不存在用户下出一堆“百度全家桶”这种情况,而且,如果你经常要使用唧唧下载数据的话,那么你完全可以不用进网盘进行下载,下载地址下面我写的很清楚了“登陆唧唧账号即可无网盘下载”,是的,你只需要注册并登陆唧唧,即可直接使用右键-目标(链接)另存为进行下载,不需要进入网盘。为什么要这么做?因为直链是要给钱的(然而以前的直链却是免费的),如果让所有人都直接这样下载,我现在不吃不喝把所有工资都投进去估计也不够用。所以现在不登陆的情况下都是进网盘下载(每次下载唧唧都有一份收益,用于维持已登录用户直链下载的开销),登陆过后就可以直接无条件使用直链了。目前唧唧的策略是:榨取游客身上的每一分价值,为已登录用户提供更好的下载体验。

2、下载地址出错了!
当出现这种问题的时候,先不要急着在这里提交重置请求,毕竟我也不是随时都看着这里,所以最好最及时的方法是这样的:
如果出现解析失败的问题,请尝试:“刷新缓存”,刷新缓存的按钮在标题方块的右上角;
如果出现下载MP4/MP3出现错误提示,或者下载的文件清晰度不对,或者长度不对,请尝试点击下载方块右侧的修复按钮(需要鼠标放在下载方块里面,才会显示),选择相应的修复原因后进行修复。

3、为什么B站更新到100P了,唧唧上面才显示50P!
你需要点击“刷新缓存”,刷新缓存的按钮在标题方块的右上角

4、为什么登陆过后,或者使用chrome插件,点击就直接播放了,而不是下载!
请在下载地址上右键,选择目标另存为或者链接另存为,目前这个问题唧唧也没办法解决,因为数据源是城通的,我反馈过,然而那边并不想处理这个问题。

5、为什么明明是高清画质,但是唧唧下载却是流畅的?
出现这种情况一般有两种原因,第一种是唧唧只解析出了AV画质的数据,第二种我个人觉得占得比重比较多,一般高清的视频,刚上传过后都只有AV画质,要过会儿才会有高清源,如果在这时候唧唧进行了缓存,那自然缓存的就是AV画质的了。遇到这种情况,可以先尝试使用修复按钮,修复一下,如果还不行可以在留言板反馈。

6、站长是女孩子吗!
并不是,是个男孩子w

来自ASS作者,K9的话:
能帮我把这段话放在msg.bilibilijj.com上嘛。。。我发不上去 sad
弹幕是这个样子
首先bilibili的弹幕是保存成一个xml格式的文件的。。也就是xml弹幕。。。

但是这个xml弹幕只包含弹幕的信息,并不包含这个弹幕具体出现在播放器上的动作和位置,所以说解析麻烦的地方就是模拟出每个弹幕出现的位置。。。

现在基本已经做的差不多了。。这次重构代码的主要原因是因为前一版的代码写的有点混乱了。。。现在我自己也看不懂自己当时写了些什么了。。这次重构代码的时候特地注重对代码的封装。。。这样以后维护起来应该会容易一些。。。。

先把后台做好吧。。。做好了之后再考虑用wx做前台的gui和服务端的api。。。

谢谢大家的支持了。。。我这次代码写的很慢,也是对不起大家了。。。希望大家可以等待新的asscompressor的到来。。。

详细的信息可以看下这个:
# ==== AID2CID ==== #
aid是显示在地址栏中的数字
例如:http://www.bilibili.com/video/av1696203/
aid=1696203

cid是某段视频的唯一编号
同一个aid会因为分P对应多个cid

def aid2cid(aid,page):
appkey=[DATA DELETED]
appsecret=[DATA DELETED]
args='appkey={0}&id={1}&page={2}&type=json'.format(appkey,aid,page)
sign=hashlib.md5((args+appsecret).encode()).hexdigest()
url='http://api.bilibili.tv/view?{0}&sign={1}'.format(args,sign)
return json.loads(HttpRequest(url))['cid']

当然也可以直接抓网页正则。。。。。

# ==== 历史弹幕 ==== #

cid=430882

http://comment.bilibili.com/rolldate,430882
http://comment.bilibili.com/dmroll,1373731200,430882
http://comment.bilibili.com/430882.xml

# ==== BiliBili XML ==== #
<?xml version="1.0" encoding="UTF-8"?>
<i>
<chatserver>chat.bilibili.com</chatserver>
<chatid>430882</chatid>
<mission>0</mission>
<maxlimit>1500</maxlimit>
<source>k-v</source>
<d p="2.2999999523163,1,25,16777215,1337574323,0,1f32ad99,93168927">[Context here]</d>
<d p="17.600000038147,1,25,16777215,1337965177,0,fe047a09,94120346">[Another Comment]</d>
</i>

#p属性解释:逗号分割,共8项
1. 该条弹幕出现在视频上的时间(相对于视频开始),单位秒
2. 弹幕类型,整数
3. 字体大小,整数,默认大小为25(https://github.com/jabbany/CommentCoreLibrary/blob/de9f6a203fb58e3c763061a09e7789e94c389b95/docs/CommentSizes.md)
4. 字体颜色,以B站方式存储,整数
5. 该条弹幕发送时的UNIX时间戳,整数
6. 所在弹幕池,整数,0=普通弹幕,1=?
7. 用户ID,发送该弹幕的用户ID,疑似16进制字符串
8. 弹幕ID,该弹幕的唯一ID,疑似整数

# 字体颜色存储的B站方式:
ASS以BGR表示颜色
B站以RGB顺序存储
unsigned char red,green,blue;
color_b=(red<<32)&(green<<16)&(blue)

# 弹幕类型对应:
* 也见https://github.com/jabbany/CommentCoreLibrary/blob/de9f6a203fb58e3c763061a09e7789e94c389b95/docs/CommentTypes.md
- 滚动弹幕(右向左) == 1
- 下端滚动弹幕 == 2
- 底部固定弹幕 == 4
- 顶部固定弹幕 == 5
- 逆向滚动弹幕 == 6
- 特殊弹幕 == 7 (固定位置/移动/轨迹)
- 高级弹幕 == 8 (代码弹幕)

# B站座标系约定
屏幕向右为X轴正方向
屏幕向下为Y轴正方向
屏幕向内为Z轴正方向
原点在屏幕左上角

# ==== 特殊弹幕内容 ==== #

特殊弹幕的d标签为一json数组
因B站多次改版,存在多种格式:
|0 |1 |2 |3 |4 |5 |6 |7 |8 |9 |10 |11 |12 |13 |14 |15
ACC-05 [X ,Y ,fadein-fadeout,duration ,content] | | | | | | here | | | |
ACC-07 [X ,Y ,fadein-fadeout,duration ,content,z-rotate,y-rotate] | | | |different| | | |
ACC-11 [X ,Y ,fadein-fadeout,duration ,content,z-rotate,y-rotate,to-x,to-y,moving-duration ,moving-pause] | | | | |
ACC-13 [X ,Y ,fadein-fadeout,duration ,content,z-rotate,y-rotate,to-x,to-y,moving-duration ,moving-pause ,font-name,linear-movement] | |
ACC-14 [X ,Y ,fadein-fadeout,duration ,content,z-rotate,y-rotate,to-x,to-y,moving-duration ,moving-pause ,highlight,font-name ,linear-movement] |
ACC-15 [X ,Y ,fadein-fadeout,duration(seconds),content,z-rotate,y-rotate,to-x,to-y,moving-duration(ms),moving-pause(ms),highlight,font-name ,linear-movement,trace-line]


- X: 弹幕左上角X座标
- Y: 弹幕左上角Y座标
- fadein-fadeout: 透明度,两个0~1之间的浮点数,以`-`连接。
1=不透明 ; 0=全透明,
fade-in: 弹幕出现时的透明度
fade-out:弹幕消失时的透明度
随时间线性变化
- duration 从出现到消失的时间
- content 内容
- z-rotate 角度表示,Z轴旋转(详见“弹幕透视”)
- y-rotate 角度表示,Y轴旋转(详见“弹幕透视”)
- to-x 移动目标点 X
- to-y 移动目标点 Y
- moving-duration 移动所花时间,单位millisecond [10E-3 s]
- moving-pause 开始移动前的暂停时间,单位millisecond
- highlight 描边,true为描边,false为不描边。除非为纯黑色(#000000)描白边,否则描黑边
- font-name 字体名称(?)
- linear-movement 线性移动 1=匀速运动 0=(匀?)减速运动
- trace-line 轨迹弹幕标记点列表 `M515,307L516,305L518,303L519,302`
M{x0},{y0}L{x1},{y1}L{x2},{y2}.........

# 轨迹弹幕标记点列表格式

# ==== 弹幕透视 ==== #
Z轴旋转正角度为:右手握Z轴,大拇指指向Z轴正方向,按四指方向绕弹幕左上角旋转
Y轴旋转正角度为:右手握Y轴,大拇指指向Y轴正方向,按四指方向绕弹幕左上角旋转 (小于180度时在屏幕外,大于180度时在屏幕内)
同时旋转Z和Y轴时,先完成Y轴旋转,再完成Z轴旋转。


# ==== ASS相关实现方法和注意点 ==== #


# === 游客弹幕 === #
游客弹幕的userID 已 D 开头


Heavy Barrier Test:
av314
av5878
av374672 Mode7 Also
av332732

发表留言

留言区

发表留言