Mac下下载B站弹幕,视频,拼装的东西

更新版本:http://www.cnbeining.com/?p=330
 
爱咋咋地了,擦。
难看就难看吧。
等下整个函数化后,把其他站加上。
 
用途:
下载弹幕
下载视频
拼成一个文件
 
 
Todo:
其他站支持
函数化
加个判断视频名的功能,新建目录扔进去

import os
from StringIO import StringIO
import gzip
import urllib2
def main(vid, p):
    cid = 0
    biliurl = 'http://www.bilibili.tv/video/av'+vid+'/index_'+p+'.html'
    print('Fetching webpage...')
    request = urllib2.Request(biliurl)
    request.add_header('Accept-encoding', 'gzip')
    response = urllib2.urlopen(request)
    if response.info().get('Content-Encoding') == 'gzip':
        buf = StringIO( response.read())
        f = gzip.GzipFile(fileobj=buf)
        data = f.read()
    data_list = data.split('\n')
    for lines in data_list:
        if 'cid=' in lines:
            cid = lines.split('&')
            cid = cid[0].split('=')
            cid = cid[-1]
            print('cid is ' + cid)
            break
    if cid is 0:
        print('Cannot find cid!')
        exit()
    print('Fetching XML...')
    os.system('curl -o '+cid+'.xml --compressed  http://comment.bilibili.tv/'+str(cid)+'.xml')
    #os.system('gzip -d '+cid+'.xml.gz')
    print('The XML file, ' + cid + '.xml should be ready...enjoy!')
    print('Finding video location...')
    request = urllib2.Request('http://www.flvcd.com/parse.php?kw='+biliurl)
    request.add_header('Accept-encoding', 'gzip')
    response = urllib2.urlopen(request)
    data = response.read()
    data_list = data.split('\n')
    for items in data_list:
        if 'name' in items and 'inf' in items and 'input' in items:
            c = items
            rawurl = c[39:-5]
            rawurl = rawurl.split('|')
            vid_num = len(rawurl)
            break
    print(rawurl)
    print(vid_num)
    for i in range(vid_num):
        print(i)
        os.system('aria2c -c -s16 -x16 -k1M --out '+str(i)+'.flv '+rawurl[i])
    f = open('ff.txt', 'w')
    ff = ''
    os.getcwd()
    for i in range(vid_num):
        ff = ff + 'file \'' + str(os.getcwd()) + '/'+ str(i) + '.flv\'\n'
    ff = ff.encode("utf8")
    f.write(ff)
    f.close()
    os.system('ffmpeg -f concat -i ff.txt -c copy '+str(cid)+'.mp4')
    os.system('rm -r ff.txt')
    exit()
vid = str(input('av'))
p = str(input('P'))
main(vid, p)

 

Mac下刷各种网盘:BlueStacks

      No Comments on Mac下刷各种网盘:BlueStacks

BlueStacks,个人测试,比模拟器好用的多。

PD安android-X86没法联网,自己的android开不了微云,所以用这个东西。

记得安装个GO桌面。

微云需要改IMEI。

修改IMEI(GUID)

  找到 /Users/你的用户名/Library/Preferences/com.BlueStacks.AppPlayer.Guid.plist 。
首先设置修改权限,右键-》显示简介 最下面的小锁图案,打开,设置所有权限为读和写(staff和everyone也要设为读与写)。
然后打开这个Plist文件。
把UserID修改成 你从http://www.guidgenerator.com/online-guid-generator.aspx获取的新IMEI码。
 
微云每次用完后,需要清理数据(所以需要GO桌面来找设置)。
 
测试2个号成功。

【胡说八道】S13极可能要更新发布方式

我这人 靠山山倒 靠河河干 看鸡鸡死 看狗狗翻
 
在成功干掉uiui后 我们的另一个合作方最近有麻烦了
 
 
总之 本季的发布 主力99.9%会是资料库 不知道的 请去论坛找
 
而且 会更新一下我们的磁力链方式 给大家更好的体验 速度会吓死你 但是稳定性可能略有下降 而且迅雷离线困难
 
同时 电驴没了 这是没办法的 我们没那个胆量挑战多少个国家的版权法
 
总之 各位观众需要做的是:
 
1.弄个BT软件。不要老版,一定要新版的。
 
不是迅雷那种垃圾,那个破烂以后会下载不了我们的磁力链,特此通知。所以不要抱着这个垃圾找我们哭诉说没法下载,我们也没办法。这孙子不遵守协议。
 
有能力的,麻烦帮我们顺手做种下,在此先感谢各位了。国内的网络不按流量计费,在家里网络空闲的时候,开启软件,帮我们,也是帮大家一把吧。
 
我们期望这个办法能承担最多的下载。而且,速度会比单纯的网盘下载快很多很多。总之我这里的测试很令人满意。不想报数,但是速度是一个令人尿下的。而且这还不是它的最终形态。。。到时候希望你叹息的是宽带不够快。
 
2.如果这个办法太高端洋气了,那么,请认准资料库。能在线预览,能点击下载。
 
以上纯属脑洞,请大家遵照执行,如果落空了也别打我。
 
Beining

ACI字幕组:介绍web种子,安全的做种方式|Introducing web seed: A much safer way to seed your file

虽然网盘永远是发布的好办法,但是,永远有被举报的危险。而且,下载时的广告,限速,禁止下载工具以及多线程,会极大的影响观众体验。
 
为了避免这种现象,我们可以使用web种子规避这点。
 
web种子的好处:

  • 可以随时撤种子
  • 可以在服务商禁止BT的时候正常提供下载,特别是在美国的VPS上(没听说谁把HTTP服务封了的。大陆的机房也只会限制端口,但是,因为访问不重要,可以要求服务器监听任何端口)
  • 在分享率高的时候,不会使用web链接;分享率低的时候,自动启用,减小服务器压力
  • 操作并不复杂

坏处:

  • 需要比较新的下载工具,老迅雷等都不支持
  • 貌似迅雷离线不能拖纯web

需要工具:

  • 做种软件
  • 能直链的下载地址,而且不能有变动

制作:

  1. 本地准备好这个文件。
  2. 正常做种。
  3. 在“web 种子”里面,粘贴这个文件的下载链接。
  4. 如果有多个镜像,可以都粘贴进去,软件会全部连接,减轻单服务器负担,而且加速
  5. 走起!


 
 
一图胜千言。
 
转载请注明ACI字幕组技术部。
 
Beining
ACI字幕组CDC

备忘:python抓取网页

      No Comments on 备忘:python抓取网页

1.土法:

curl -o '+cid+'.xml --compressed  http://comment.bilibili.tv/'+cid+'.xml

然后Readline。
2.正经办法:

import urllib2
response = urllib2.urlopen('http://www.baidu.com/')
html = response.read()
print html

3.带gzip正经办法:

from StringIO import StringIO
import gzip
request = urllib2.Request('http://outofmemory.cn/')
request.add_header('Accept-encoding', 'gzip')
response = urllib2.urlopen(request)
if response.info().get('Content-Encoding') == 'gzip':
    buf = StringIO( response.read())
    f = gzip.GzipFile(fileobj=buf)
    data = f.read()

 
 
 

Introducing auto-pep8: a nice 1-step way to fix the PEP-8 problem

Step 1:
https://pypi.python.org/pypi/setuptools#unix-based-systems-including-mac-os-x
This is not available on OSX 10.9.  Fix this first.
 
Step 2:
https://github.com/jcrocholl/pep8
Clone as ZIP, and run
python setup.py install
 
Step 3:
https://pypi.python.org/pypi/autopep8/
python setup.py install
 
 
Enjoy it!

如何报错?

      62 Comments on 如何报错?

小白不会报错的太多了。发上来都是LJ信息。
看Goagent的Issue里面,简直看不下去。
 
不是报错了就有用的。你得说开发人员能明白的话,这样开发人员才有可能去解决。
写一下怎么给开发人员报错。
 
拿小丸工具箱举例吧。
出错了:

  1. 是第一次出现吗?是-2 不是-3
  2. FAQ里面能否解决你的问题?是-》你可以走了,也可以留下  不是-》4
  3. 没出错的时候,你是怎么配置的?有什么改动?改回去是否正常?正常了->祝您愉快  不正常-》4
  4. 换软件后是否解决?是-》祝您愉快 不能/没有我的问题-》5
  5. 你的错误代码/错误提示在google上能找到解决方案吗?能-》祝您愉快 不能-》6
  6. 将视频/音频/字幕替换,问题是否继续?(问题能否复现?)能-》可以告诉一声 不能-》7
  7. 准备报错吧。

 
报错要准备什么?
日志
对于小丸来说,你需要:
软件的整个截屏
弹出的窗口的整个截屏,从出现的第一行字开始,重复的行可以只截一部分。重点关注带颜色的,带报错信息的。
然后就可以进群,同丸妞讨论一下人(luo)生(li)了。
记得把各种基本知识概念弄明白。至少先看完这个科普http://zhihu.com/question/21437096/answer/18230811
而且你需要知道的是:
小丸工具箱是一个x264(taro编译版,现在是7mod)、MP4Box、ffmpeg、MediaInfo等软件的GUI。
工具箱只是一个调用其他程序的程序,自己没有压制功能!只是把平常需要命令行完成的工作图形化了!
其实一切转换软件都是这个意思。
 
不看QRH的 不自己先Google的 一律骂一顿撵出去。
附:小丸工具箱的QRH

  • 文件名与目录名改成最简单字符,不能有除了字母和数字之外的东西
  • 换其他历史或更新稳定版本
  • 使用AVS导入:弄个AVS生成器玩玩,丸妞自己有个版本,在上面播放只要正常,压制就理论上没有问题
  • 帧率,容器等重新检查
  • 将flv等文件先重新封装成MP4容器
  • 检查自己的编码器,解流器配置,实在不行,全删了重置
  • 压了一遍又压一遍的原因是你用了2pass(二次编码),用crf就不会编码2次,但是不能设置目标码率。在线视频建议crf22,自己保留可以适当放宽。数字越小,文件越大。
  • 分离器等东西,除非你知道你在做什么,否则不要改
  • 由于十分困难,小丸一般不提供合并。如果你确实有这个需要,请参阅http://www.cnbeining.com/?p=265  和http://www.cnbeining.com/?p=330  中的实现。请注意混流和合并的区别。
  • 批量remux:http://www.cnbeining.com/?p=406
  • 关于战渣浪的问题:具体看http://www.cnbeining.com/?p=393
  • Sina死后关于乐视云等二压后黑方法工具,批量上传,直传常见问题,Bilibili IO错误,Bilibili 无限转码,不吐原画等等等等的问题:http://www.cnbeining.com/2014/08/about-fuji-after-black-lazy-bag/
  • 不考虑过sina,FLV支持的视频:VP6 H.264 H.263 音频:MP3 AAC PCM
  • 如果一定要,PCM做音频一定情况下可以过sina不二压。但是我们对这种行为持极端反对意见,因为完全不值。请自行提供flac供下载,不要白白占用流量。
  • 除非你知道你在做什么,不要用10bit。在线不能使用10bit。HEVC同理。
  • 2pass的兼容性很差,特别是字幕。
  • crf越小越无损(0),越大越有损(51).
  • 不解决任何SWF相关问题。
  • 不解决上传相关问题问题。
  • MP4能封装的:
    Other compression formats are less used: MPEG-2 and MPEG-1
    Also MPEG-4 Part 3 audio objects, such as Audio Lossless Coding (ALS), Scalable Lossless Coding (SLS), MP3MPEG-1 Audio Layer II (MP2), MPEG-1 Audio Layer I (MP1), CELPHVXC (speech), TwinVQ, Text To Speech Interface (TTSI) and Structured Audio Orchestra Language (SAOL)
    Other compression formats are less used: Apple Lossless
    Nero Digital uses DVD Video subtitles in MP4 files
  • 去台标、水印:http://www.cnbeining.com/?p=244   集合各家之大成。
  • 有问题先Google再问。不Google直接进群问的,会被骂一顿然后撵出去。
  • AAC不知道怎么回事的,请默认。这个问题没有定论。
  • H265遥遥无期,不要问了。
  •  分离器选auto,如果还不行,用ffmpeg的map先选择正确的流。
  • 各个视频站的上传请自行查看其帮助。
    • Bilibili:总码率1700,码率是平均的不是最高,1080P以上肯定压,音频192以上肯定压,后黑不可能
    • 其他站肯定压别问了不可能绕过
  • 绝不解决微信视频问题。
  • 满腹牢骚的,不必来找骂。是的,会被骂出去。
  • 想起来再补充

再次动手:Mac下下载B站弹幕的东西

      No Comments on 再次动手:Mac下下载B站弹幕的东西

请移步http://www.cnbeining.com/?p=330   。
 
重复造轮子了,whatever。
 

import os
def main(vid, p):
    cid = 0
    print('Fetching webpage...')
    os.system('rm -r temp.html')
    os.system('curl -o temp.html --compressed http://www.bilibili.tv/video/av'+vid+'/index_'+p+'.html')
    print('Reading...')
    f = open('temp.html', 'r')
    alllines = f.readlines();
    f.close()
    for lines in alllines:
        #print(lines)
        if 'cid=' in lines:
            cid = lines.split('&')
            cid = cid[0].split('=')
            cid = cid[-1]
            print('cid is ' + cid)
            break
    if cid is 0:
        print('Cannot find cid!')
        exit()
    print('Fetching XML...')
    os.system('curl -o '+cid+'.xml --compressed  http://comment.bilibili.tv/'+cid+'.xml')
    #os.system('gzip -d '+cid+'.xml.gz')
    print('The XML file, ' + cid + '.xml should be ready...enjoy!')
    os.system('rm -r temp.html')
    exit()
vid = str(input('av'))
p = str(input('P'))
main(vid, p)

Do whatever heck you like with it.

Mac下看弹幕的东西

      No Comments on Mac下看弹幕的东西

Mac下竟然没看弹幕的东西。
 
这绝逼不能忍。
 
Mukioplayer本地用不了。不知为何。
 
Acplay等根本没*nix版本。有了也没法用,权限问题太复杂。
 
Annot Player放出来的效果像翔一样。还不如不用。
 
于是。
 
自己动手,丰衣足食。
 
看文档,练python。第一个有实用价值的python程序,出炉。
 
我承认写的像翔,whatever。能用就行。
 
过两天我重新整理一下。
 
https://github.com/superwbd/Mukioplayer-Py-Mac
 
走起。