再次搬家

      6 Comments on 再次搬家

挪到新地方了。
SB的机器价格比较公道,30刀/年。
网络速度其实我感觉不如DS,但是不知道大陆会怎么看。IO比较呵呵,但是内存可真慷慨。KVM的好货。
搬家特别简单:
整个数据库导出-PMA导入-新用户-LNMP设置-改DNS-看效果。
这个机器会维持很长时间了。

Biligrab 0.3 linux与OSX下自动抓B站视频和弹幕的东西(更新:修复重要BUG!!)

B站有自己的视频CDN了,咱们加进来。
对于海外有时比sina的蓝汛慢,但稳定。
差点break错了尼玛死。。。怪不得professor不让用呢。
更新:还是break错了。。。。。。。。。。。这个东西尽可能别用啊。
 
MIT,爱干啥干啥。
顺手扔上Gist,方便改:https://gist.github.com/superwbd/9605757
 
代码藏起来,否则主页太慢。
 
Continue reading

脚本:批量remux媒体(特别是MP4,flv等)文件

小丸因为稳定原因不提供这个功能,我们自己写一个。
请注意,对于多轨道文件,不保证正确或成功。
请自行确认目标格式是否可以封装原数据流。
老规矩,MIT协议。随便抱走,文件坏了不负责。
基于python3写的。
 
用法:
python3 ***.py

#!/usr/bin/env python
#coding:utf-8
# Author:  Beining@ACICFG Tech Team
# Purpose: Batch convert media file type with ffmpeg.
# Created: 03/07/14
# MIT License
import os
import glob
print('''
-----------------------------------------
 Batch convert mediafile type with remux
                V 0.01
            Beining@ACICFG
          www.cnbeining.com
-----------------------------------------
''')
ffmpeg_location = input("Type the real location of ffmpeg. If left blank, I will use the default one under /usr/bin/.\nMake sure you use the latest version of ffmpeg.")
if ffmpeg_location == '':
    ffmpeg_location = 'ffmpeg'
format_from = str(input('Type the format you want to convert from, without ".":'))
format_to = str(input('Type the format you want to convert to, without ".":'))
if_delete_original = int(input("Type 0 for not deleting original file(s), 1 for delete."))
info=os.getcwd()
print('My working folder is '+str(info))
file_to_convert_type = '*.'+format_from
file_list =  glob.glob(file_to_convert_type)
print('Files to be remuxed:')
for filename in file_list:
    print(filename+'\n')
total_file_number = str(len(file_list))
print('Total file number: '+total_file_number)
flag = 0
for filename in file_list:
    name = filename.split('.')
    real_name = name[0]
    print('Converting ' + str(flag+1) + ' of ' + total_file_number + ' files...')
    os.system(ffmpeg_location + ' -i ' + filename + ' -c:a copy -c:v copy ' + real_name + '.'+format_to)
    if if_delete_original == 1:
        try:
            os.remove(filename)
            pass
        except:
            print('Cannot delete ' + str(filename) + ' ! Do it by yourself...')
            pass

 

对于sina的新后黑策略的详细分析(最近更新:Apr.15.2014 Linux与OSX原生战渣浪方法)

看页面右边,真的不考虑捐助我们一下吗?→
 
 
 
 
弄了各种排列组合。
虽然我们不指望后黑吃饭,但是我们指望后黑改MD5。
我们的在线视从来都小于1K码率,但是有时过不了审核。
这时我们就后黑换个MD5冲过去。
但是目前来看,效果不好?
在小丸和一帮人的怂恿下,做一些实验。
这时就看出VPS的好处了。。。上传哗哗的。
Linux下,wine解决软件问题。
请注意:需要装dotnetfx20  & vcrun2005,否则新的FlvBugger在wine下直接挂。
-----未测试----

转载:过sina另一方法:中黑法


中黑法。
-------------------

--------------推荐:新后黑----------

Balthasar版Flvbugger:http://pan.baidu.com/s/1o65AEds

巨大后黑成功。
1.3G巨大文件极端测试,内存占用没有明显变化。
作者升级:超大文件后黑测试通过。
同时推荐:
小丸工具箱 http://maruko.appinn.me/
自带后黑,原理同手工压制方法。测试有效。
Linux与OSX的原生方法:http://www.cnbeining.com/2014/04/under-linux-and-osx-native-slag/
-----老办法的测试结果------
视频源:码率14M,肯定二压的货。文件45M左右。
存活要求:不转码失败。不过审那是你自己的问题。
Failed代表直接显示“转码失败”。
所有测试都经过复测。包括Failed,都多次复现。
处理后,文件都符合正常sina不二压标准。
结果:
SinaHigh:
前黑:Failed
后黑:Failed
倍速:我都不知道是多少倍速了。http://you.video.sina.com.cn/b/127526545-2716128137.html
http://you.video.sina.com.cn/b/127529264-2716128137.html
FlvBugger:
前黑:420sec http://you.video.sina.com.cn/b/127526860-2716128137.html
http://video.sina.com.cn/v/b/127532571-2716128137.html
后黑:这个原视频码率960+。
微小后黑,900,可行:http://you.video.sina.com.cn/b/127596815-2716128137.html
800,可行:http://you.video.sina.com.cn/b/127607796-2716128137.html
倍速:3X http://video.sina.com.cn/v/b/127528780-2716128137.html
2X http://you.video.sina.com.cn/b/127532041-2716128137.html

----------------

-----------其他手工后黑办法---------------
1..另外也可以考虑VFR
以下3个办法不再推荐,小丸自带功能,直接用最新版小丸工具箱,原理一样
2.这里给一个压制的解决办法,未测试:
875259a8gw1ee4vi4ivr9j20gu07ejta
 
3.再写一个蛋疼的AVS法:
小丸,直接加载这个AVS:
BlankClip(length=20000,width=1280,height=720,fps=29.970,color=$000000)
ConvertToYV12()
长度:自己按计算器,总码率小于1K
视频长宽,fps:自己Mediainfo之
做出这个视频。
然后,要么用这里的东西:
https://github.com/soimort/you-get/tree/develop/src/you_get/processor
要么ffmpeg的concat方法(参考Biligrab的代码),合并视频。月亮flv合并是个简单东西。
这就可以手动后黑了。
4.如果愿意使用,各种非编软件都可以。
------------------------------
-----------结论------------
(如果中黑对劲,那么这个结论就变了)
后黑原版Flvbugger可以微小用,SinaHigh后黑直接死,Balthasar版Flvbugger可以用。
前黑可以用,但是会造成移动端损坏。而且只有FlvBugger的可以用。
倍速可以用。
新版小丸可以用。
 
蛋疼的问题。以后大家很可能要忍受前黑或倍速了。
不是我们不想弄好,而是我们不能保证我们的正常文件能过审,所以必须弄备份以保证发片速度。一旦不过审,这个文件就废了:再次上传,秒拒。
希望移动端在我们不能使用正常文件投稿的时候,直接在论坛下载我们的小版本文件。这是最稳妥的办法。歪门邪道在这里:https://forum.chineseaci.com/t-240
转载注明ACI字幕组技术部 Beining。

B站的海外与国内加速分析(Update:Mar.6.2014)

UPDATE Mar.6:
67.159.54.58
us-chicago.acgvideo.com
芝加哥FDC。
 
 
一直没时间好好看。
本来应该拆swf,但是懒了。直接写。
就今天的结果来看:

http://nl-amsterdam.acgvideo.com/
机房为FDCserver的阿姆斯特丹Cogent机房。
俄罗斯加拿大东部解析到此处。
暂时没有发现更多地址。

最后扔个地址:
http://interface.bilibili.cn/v_cdn_play?cid=*** B站自己源的服务器
http://interface.bilibili.tv/playurl?cid= B站真实源的服务器
 

滚回EC2

      3 Comments on 滚回EC2

新机器的网速太慢,100M都跑不满。IO残次,只有35.
暂时滚回EC2,下一步祸害DO吧。
便宜没好货。

再次搬家,终于有自己的落脚点了

      2 Comments on 再次搬家,终于有自己的落脚点了

再次搬家完毕。感谢@sunday的协助。
总体算是特别顺利。
1.入个新VPS:
IO和网速都不是特别满意,但是也不贵。KVM架构,这下做东西放心了。
LNMP准备好。
2.提前变解析:
老站点和新站点必须都有直接解析,否则过一会要出乱子。这次差点传不上文件,幸亏老站点有IP直接连接。
3.打包资料:
虽然站点有每日+每周备份,还是要小心。
VPS直接shell进去,打包所有文件,扔在根目录下。等一会远程拖过去。
sql直接打包,PMA就成。
最惨,WP还提供导出功能。
4.远程拖:
文件大肯定麻烦。
5.导入数据库,建立vhost,做好rewrite。
建立账号,数据库连接检查。
6.更改权限,该加组的加组。
7.改回CDN。
 
完活。

2014年最新Acfun、Bilibili Sina源解析策略,加历史解析策略

逼我哈。
 
Sina源的解析变迁:
最开始:10年~12年,Sina与弹幕站闹翻前
http://v.iask.com/v_play.php?vid=XXXXX
(某些老视频还可以用,应该是11*******系列和之前都能用)
然后,Sina闹翻了,加限制:
API法:
http://platform.sina.com.cn/playurl/t_play?app_key=1917945218&vid={vid}&dtime={Linux_Time_Stamp}
普通法:
http://v.iask.com/v_play.php?vid={vid}“&dtime={Linux_Time_Stamp}
 
然后,又一次闹翻了,233.
Sina开始检查referer。
弹幕站开始用HTTPS,因为HTTPS到HTTP不发referer,所以逃过这个限制。
 
AB两站各有自己的解决办法。
 
B站:
http://interface.bilibili.tv/playurl?cid=
cid扔进去,齐活。
 
A站:API:
http://sex.acfun.tv/Home/Sina?app_key=****&vid={vid}
app_key不变。
 
Sina一怒之下,加密。
http://v.iask.com/v_play.php?vid=" + request.Id + "&ran=" + ran + "&p=i&k=" + key;
解析策略先不写。
 
但是A站貌似也没好好弄API。
2014年元旦,A站的API直接没了。
 
现在A站:
用2DL的API。(是不是有一腿?)
http://2dland.acfun.tv/video.php?action=xml&type=xina&vid={vid}&key={MD5_Lower_32}&ti=3
http://2dland.sinaapp.com/video.php?action=xml&type=xina&vid={vid}&key={MD5_Lower_32}&ti=3
 
vid大家都知道了。
这个Key的生成办法是:md5(vid+’footstone’)到32位小写。
ti可加可不加。
 
笑看争斗啊。23333.
转载注明ACI字幕组Beining。

内部文件:对服务器做迅雷离线的警告

给各位考虑用VPS或者空间使用HTTP或FTP方式喂迅雷离线的提醒:
离线服务器下载完成后 迅雷离线会将你的文件加入备选URL列表供下载。这可能造成极大的未期望带宽。
我们给个例子:
约30小时前,我们上传了两个媒体文件,加起来1G。
30小时后,我们检查cPanel的时候,发现了302G的流量。这些文件的直接下载地址从未公布,唯一的可能是迅雷的用户在抓。
我们考虑,有可能是cPanel对限制使用的文件名使用白名单,造成虽然动态和html等静态文件不能使用,一些媒体文件、图片文件等却可以突破限制,造成极大的损失。
如果需要进行此类操作,请考虑
1)反盗链设置:仅允许迅雷抓取
2)及时删除或更名文件;
3)对流量和速度进行限制
4)对流量进行实时监控与报警
的一种或多种。
 
Thunder