annie b站视频下载神器
MacOS
、Windows
、Linux
等,安装和使用是非常简单的,很适合新手,支持的网站也多,目前支持以下网站:不过还是有些问题的因为优酷的ccode
经常变化导致annie不可用,如果你知道有新的可用的ccode
,可以直接使用annie -ccode ...
而不用等待annie更新。最好是每次下载都附带登录过的Cookie以避免部分ccode
的问题!
额,这篇文章我们就来分享下Linux和windows10如何安装使用,大鸟没有苹果笔记本啊,无法分享Macos上的安装教程了。
一:Linux安装Annie
github:https://github.com/iawia002/annie
github下载地址:https://github.com/iawia002/annie/releases
大鸟用的是Centos7,目前的最新版是annie_0.9.3就下载这个了。使用命令:
- wget https://github.com/iawia002/annie/releases/download/0.9.3/annie_0.9.3_Linux_$(getconf LONG_BIT)-bit.tar.gz
- tar zxvf annie_*.tar.gz
- mv annie /usr/local/bin/
- rm –rf annie_*.tar.gz
再安装ffmpeg
,使用命令:
- #下载ffmpeg二进制
- wget https://www.moerats.com/usr/down/ffmpeg/ffmpeg-git-$(getconf LONG_BIT)bit-static.tar.xz
- #解压文件
- tar xvf ffmpeg–git-*-static.tar.xz
- #移动ffmpeg可执行文件
- mv ffmpeg–git-*/ffmpeg ffmpeg-git-*/ffprobe /usr/local/bin/
- #删除文件
- rm –rf ffmpeg–git-*
如果只是下载视频的话,可以不用安装ffmpeg
二:Linux下使用教程
安装有点繁琐,我们看看在Linux下如何使用吧,命令如下,这里我们下载youtube的视频测试下:
- annie https://www.bilibili.com/video/av21877586
这里,我们可以和自建的网盘结合起来,比如大鸟前面说道的Pydio、NextCloud这些,我们可以下载到里面,下载好了就可以在线观看了。
当然了,Linux下的使用远不如此,windows的下的命令和linux下的命令是通用的,所以,如果你很感兴趣,那就继续往下看吧。
三:windows10安装Annie
先在电脑左下角cortana程序搜索框输入PowerShell
,然后点击击Windows PowerShell
工具,即可打开。
但是大鸟这里安装Scoop的时候出了点问题,需要执行“RemoteSigned”执行策略才能运行Scoop,错误如下:
- PS C:\WINDOWS\system32> iex (new–object net.webclient).downloadstring(\’https://get.scoop.sh\’)
- PowerShell requires an execution policy of \’RemoteSigned\’ to run Scoop.
- To make this change please run:
- \’Set-ExecutionPolicy RemoteSigned -scope CurrentUser\’
制定执行策略,确认当前用户远程签名范围,使用下面的命令即可解决问题:
- set–executionpolicy remotesigned –scope currentuser
执行策略选择Y之后,开始安装Scoop,使用命令:
- iex (new–object net.webclient).downloadstring(\’https://get.scoop.sh\’)
Scoop安装好之后,即可愉快安装再安装annie
:
- scoop install annie
该命令会给你把ffmpeg
也一起安装好,看截图:
这样Annie就算完成了,不知道你们看着感觉是轻松还是麻烦!
四:windows下的使用
该命令会给你把ffmpeg
也一起安装好。下载依然要在Windows PowerShell下载视频:
- #如果你想下载多个链接视频,那么就在后面加上多个链接
- annie https://www.bilibili.com/video/av21877586
这样就可以下载了,默认下载目录:C:\Users\用户名,如图:
加参数-i
选项显示所有可用的视频质量而无需下载,这些用法都是和linux下通用的。
- 注意:如果URL包含特殊字符,请将其包装在引号中。
- annie \’https://…\’
使用annie -f stream "URL"
下载的输出列出的特定流-i
的选项。这话就是根据列举出来的清晰度,下载指定清晰度的视频:
- #比如上图列表显示的1080P视频
- annie –f 80 https://www.bilibili.com/video/av21877586
一般视频都默认下载C:\Users\用户名,如果你想下载到其它目录,需要在下载时候,加一个-o
参数,后面带上文件夹路径即可。
- #比如下载到桌面D:\daniao文件夹,Linux路径写法为/root/daniao
- annie –o D:\daniao –f 80 https://www.bilibili.com/video/av21877586
还可以一次下载多个网址:
- annie –i https://www.bilibili.com/video/av21877586 https://www.bilibili.com/video/av21990740
如果是下载bilibili
电视剧,可以在后面加一个-p
参数,然后可以将所有集数一起下载。
- #列出该集数的电视剧所有集数清晰度等信息
- annie –i –p https://www.bilibili.com/bangumi/play/ep133269
- #下载1到20集1080P视频
- annie –f 80–p –start 1–end20 https://www.bilibili.com/bangumi/play/ep133269
-p
选项会下载整个播放列表而不是单个视频。目前播放列表暂时只支持B
站和youtube
。
还可以使用该-F
选项从TXT文件中读取URL:
- annie –F ~/Desktop/daniao.txt
- 网站:微博weibo.com
- 标题:在谷歌,我们设计什么?来自@阑夕
- 类型:视频
- 流:
- [默认]——————-
- 大小:19.19MiB(20118196Bytes)#download
- with:annie –f default“URL”
- 19.19MiB/19.19MiB[=================================]100.00%9.69MiB/ s 1s
- ……
如果你不想下载可以使用CTRL+C来终端,如果下载失败时,annie将自动重试,可以通过-retry
选项指定重试次数(默认值为100)。
如果你下载的视频,比如需要会员或者代理啥的,就需要Cookies
或者或者来下载了。具体的看github的官方的下载文档吧。
五:总结
我,一开始以为很简单的下载工具,后来倒腾倒腾,发现也挺复杂的,不过这种命令形式的下载工具确实是干净无广告。
相似的下载工具还有不少,youtube-dl,you-get,ykdl都不错,不过youtube-dl用的人更多,大鸟会继续分享youtube-dl的安装和使用。
额,忘了说了,windows10安装需要的条件PowerShell 3+
和.NET Framework 4.5+
,一般使用Win10
的都直接满足该条件。如果你是其他版本的windows可以先安装条件,不然会无法安装的。
如果你下载的视频,比如需要会员啥的,就需要Cookies
了,这里补充下优酷会员下载视频方法。
首先登录优酷账号,然后获取Cookies
,只需要P_pck_rm
参数即可,再新建一个文本cookie.txt
,格式如下:
#后面为该值参数
P_pck_rm=moerats
接下来在命令中加上-c cookie.txt
参数解析地址并下载视频:
#获取视频格式列表
annie -i -c cookie.txt https://v.youku.com/v_show/id_*.html
#根据自己需求下载指定清晰度视频
annie -f mp4hd3v2-guoyu -c cookie.txt https://v.youku.com/v_show/id_*.html
如果你不会看Cookie
,可以直接使用浏览器插件editthiscookie
,具体使用方法如下:
首先百度下载安装该浏览器插件,再打开EditThisCookie插件选项,导出格式改成Semicolon separated name=value pairs,接下来登录B站或其它账号,再点击浏览器右上角插件选项并将Cookie导出剪贴板。复制粘贴到cookie.txt里,只要最后一行有用的代码参数,//几行开头的不要。
其它使用可以查看→传送门,包括HTTP
/SOCKS5
代理使用也可以一起看看。
.theiaStickySidebar:after { content: “”; display: table; clear: both }
.theiaStickySidebar:after { content: “”; display: table; clear: both }