Niconico动画播放速度很慢缓冲很久的解决办法

这一招是我自己摸索出来的。希望能让有同样困扰的同学解决问题。

众所周知(众?),在中国看niconico不仅仅是慢,而是无法忍受。我即使开日本专线VPN,周六周日和晚上高峰时段,也要花三倍的时间去缓冲一部视频。而且缓冲条走的极不稳定!相比之下看youtube都用不着缓冲。说明不是国际出口的问题。那么有啥办法可以解决这个问题。专线VPN本身已经优化过路由,说明我们不能再通过对路由做手脚提高速度。有啥办法呢?哥告诉你,哥有办法。

用火狐浏览器下载

首先你要是Niconico付费会员(Niconico动画网付费高级会员试用感受)。至于为什么,下面再说。 然后安装火狐浏览器,再安装adblock plus套件,Auto-Proxy套件,Flashblock套件,Greasemonkey套件,Nicofox套件。

因为我们访问这个网站已经够慢了,当然要想办法减少它上面无用的内容,比如广告啊广告等等广告之类的。adblock plus套件能拦截下大多数广告。然后呢,有些可能不是广告,但用处不大的内容,我们也能自己写个脚本把它过滤掉,所以需要Greasemonkey。写JS脚本很简单,甚至都不用学。

Auto-Proxy套件就不用解释了,没有它你都打不开这个网站。

Flashblock套件让你在打开一个视频的时候,预先锁定它,不去缓冲它。然后就轮到本文的主角:Nicofox套件。

这个套件是台湾人写的,有很多有趣的功能。这里我只谈它的下载功能。你打开一个网页,锁住它,先不要缓冲它。然后点开nicofox的下载窗口,下载这个视频。

看看速度有多快?我用2M 网通 adsl,dreamhost ssh,付费会员帐号。足足有满速160KB/s的速度!即使在尖峰时段也有60-70kb!这样一部100M的视频,十分多一点就下完了。包括所有弹幕。如果你去缓冲这样一部视频要多长时间?我告诉你,最少要一个小时。(延伸:详解:4M/2M/1M宽带下载速度是多少

如果你不是付费会员,那么还是没有这个速度。我过去在低画质时段,经常是二十多k,二十多k,而且非常不稳定。所以说nico承诺的这个专用回线,的确不是瞎吹的!我连续测试了三天,付费会员帐号的下载速度非常快而且稳定!

等你下完了,好。这时候点击flashblock的按钮,开始缓冲这部视频吧,你会发现,一秒就缓冲完了。为什么?因为nicofox把视频下到了firefox的缓存里头!浏览器直接读取就行了!

(实际上,它是通过浏览器缓存进行下载,在缓存中拼凑出完整的文件,再拷贝到你指定的文件夹。)但是这个办法有个缺点,那就是session的时效性。根据我的经验,如果视频大于20M,等你下完,网页的session也失效了。你这时候缓冲它会返回一个错误。

但是没关系啊,你已经把它吓到了硬盘上。可以用nicofox自带的弹幕播放器播放。所以上面所说的方法,只是我个人更喜欢在网页界面看罢了。你完全可以下载完之后,直接关掉网页,用nicofox或其他的弹幕播放器播放。

推荐nicoplayer这个播放器,它是日本人开发的,设定十分详细,可以手动调整弹幕的算法,还能用自带的下载器下载视频和弹幕。只不过不支持内设代理,在中国这可是致命的缺陷。我已经写了一封邮件给开发者,希望下一个版本能有所调整。

缘由猜想

最后我解释一下这么做的原理。其实我也不懂技术,只是猜想。为什么下载会比在浏览器里缓冲快?缓冲不也是下载吗?想必很多人都有类似经验,访问国外网站时,速度极慢,奇怪的是下载东西却很快。

为什么Niconico动画播放那么慢呢?这就像火星探测器和地球通信一样。信号来往,有半个小时的延迟。探测器发出信号———地球接受信号,处理,返回信号———探测器接受信号,行动。我操,一个小时过去了。

但是假如地球往探测器发送一个文件流,即便有延迟,但是信号会绵延不绝的抵达火星,即使这个信号是半个小时前发出的。探测器每接受一个信号,下一个信号就紧接着抵达。

这就是 Niconico 下载为什么会快的原因。如果路由畅通。不存在不稳定现象的话。如果你写过脚本来获取视频下载地址的话,那么你会知道,视频不是保存在一个服务器上的。而是被分成几十,上百小段,保存在不同的服务器上。

因此浏览器很可能是在:发出信号,获取视频地址,等待应答———漫长的时间————服务器回复。这个回环中浪费了宝贵的时间。而用nicofox下载,可能是因为形成了数据流,所以充分了带宽,无视了延迟。当然我也只是猜想而已。

One thought on “Niconico动画播放速度很慢缓冲很久的解决办法

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>