目前只是用youtube-dl下载YouTube或者nicovideo(n站)的视频,其余的没啥需求。
问题就出在这个n站视频下载上,自己抓视频包下载,发现不是会员速度慢的一批,还不能看1080p,遂开会员,开了会员发现速度依旧没有任何改善,不过能看1080p了,于是换IDM下载试试,发现多线程速度爆炸,直接满速50MB/s。好了知道是单线程的锅了,于是上服务器使用mwget下载抓的视频包,发现非会员速度依旧没有改善,但是下载会员登录后抓到的包,速度暴涨到50MB/s(500Mbps),简直太骚了吧。。。b站都不敢这么玩啊。。。
不过没有趁手的工具来下载,自己抓包又麻烦,下载之后还要重命名。GitHub搜了一大圈,能下载的工具寥寥无几,还是上youtube-dl吧。
试了一下youtube-dl的下载速度,特么默认也是单线程,玩毛线:
找遍youtube-dl给的参数,都没发现自带有多线程。。。遂上谷歌搜索,网上应该有youtube-dl的多线程方法。
首先安装Aria2c
Centos:
yum install aria2 -y
Ubuntu / Debian:
apt-get install aria2 -y
测试是否安装成功:
aria2c 文件地址
若出现如图所示的结果则说明Aria2已安装成功。
然后就可让youtube-dl调用Aria2进行下载了:
youtube-dl 视频网址 --external-downloader aria2c --external-downloader-args "-x 16 -k 1M"
–external-downloader aria2c #调用外部下载工具aria2c
–external-downloader-args #外部下载工具指定参数
-x 16 #表示进程数,aria2最高只能16进程
-k 1M #指定块的大小
如图所示就是执行成功了,网速45MB/s,62.28MB的视频花了1s下载完成,对比前面的单线程真是秒杀。
注意事项:
Youtube视频不能指定块的大小,故需要把-K参数拿掉,其它照旧;
我使用的-n 参数,因为我使用了.netrc文件;
多线程只有在你是会员的情况下才能打到最高速,不是会员的可以打扰了。
本文参考:http://t.cn/Eq9gp8D
原创文章转载请注明:转载自:youtube-dl结合Aria2实现多线程下载,提高下载速度
发表评论
沙发空缺中,还不快抢~