说明:最近发现了个很强的下载神器Annie
,一款用Go
构建的快速,简单,干净的视频下载器,支持的平台很多,包括MacOS
、Windows
、Linux
等,安装和使用是非常简单的,很适合新手,支持的网站也多,目前支持以下网站:
抖音、哔哩哔哩、半次元、pixivision、优酷、YouTube、爱奇艺、芒果TV、Tumblr、Vimeo、Facebook、斗鱼视频、秒拍、新浪微博、Instagram、Twitter、腾讯视频、网易云音乐、音悦台
安装
Github地址:https://github.com/iawia002/annie
这里就只说下Windows
和Linux
大致用法,其它的直接看Github
地址,说的很详细了。
1、Linux安装
首先下载作者提供的编译好的二进制文件→传送门,根据自己的系统架构下载对应的最新版压缩包,目前最新版本为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://toot.su/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
。
2、Windows安装
这里为了方便操作就不使用CMD
了,直接使用PowerShell
,需要的条件PowerShell 5+
和.NET Framework 4.5+
。
先在电脑左下角程序搜索框输入PowerShell
,然后双击Windows PowerShell
工具,再输入以下命令查看版本:
$PSVersionTable.PSVersion
Major
为版本号,一般目前常用电脑Windows 10
符合条件,Windiows 7
还需要升级,大致步骤如下:
1、安装.Net 4.5.2全量包
下载地址:https://toot.su/usr/down/powershell/NDP452-KB2901907-x86-x64-AllOS-ENU.exe
2、升级PowerShell的补丁包
32位下载地址:https://toot.su/usr/down/powershell/Win7-KB3191566-x86.zip
64位下载地址:https://toot.su/usr/down/powershell/Win7-KB3191566-x64.zip
接下来安装一个命令行安装工具Scoop
,使用命令:
iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
再安装annie
:
scoop install annie
该命令会给你把ffmpeg
也一起安装好。
使用
使用命令:
annie [OPTIONS] URL [URL...]
#可选参数如下
Options
-i Information only
-F string
URLs file path
-d Debug mode
-j Print extracted data
-v Show version
Download:
-f string
Select specific stream to download
-p Download playlist
-n int
The number of download thread (only works for multiple-parts video) (default 10)
-c string
Cookie
-r string
Use specified Referrer
-cs int
HTTP chunk size for downloading (in MB) (default 0)
Network:
-s string
SOCKS5 proxy
-x string
HTTP proxy
-retry int
How many times to retry when the download failed (default 10)
Playlist:
-start int
Playlist video to start at (default 1)
-end int
Playlist video to end at
-items string
Playlist video items to download. Separated by commas like: 1,5,6
Filesystem:
-o string
Specify the output path
-O string
Specify the output file name
Subtitle:
-C Download captions
Youku:
-ccode string
Youku ccode (default "0590")
-ckey string
Youku ckey (default "7B19C0AB12633B22E7FE81271162026020570708D6CC189E4924503C49D243A0DE6CD84A766832C2C99898FC5ED31F3709BB3CDD82C96492E721BDD381735026")
-password string
Youku password
YouTube
-ytb-stream2
Use data in url_encoded_fmt_stream_map
Aria2:
-aria2
Use Aria2 RPC to download
-aria2addr string
Aria2 Address (default "localhost:6800")
-aria2method string
Aria2 Method (default "http")
-aria2token string
Aria2 RPC Token
这里拿bilibili
视频为例,基本上用法都一样,不过下载B
站的时候,后面可以不用链接,直接使用av
或ep
号也行。
直接下载一个视频:
#如果你想下载多个链接视频,那么就在后面加上多个链接
annie https://www.bilibili.com/video/av45654043
列举视频所有清晰度,但不下载:
annie -i https://www.bilibili.com/video/av45654043
根据列举出来的清晰度,下载指定清晰度的视频:
#比如列表显示的1080P视频
annie -f 80 https://www.bilibili.com/video/av45654043
一般视频都默认下载到当前目录,如果你想下载到其它目录,需要在下载时候,加一个-o
参数,后面带上文件夹路径即可。
#比如下载到桌面C:\Users\Rats\Desktop文件夹,Linux路径写法为/root/Rats
annie -o C:\Users\Rats\Desktop -f 80 https://www.bilibili.com/video/av45654043
如果是下载bilibili
电视剧,可以在后面加一个-p
参数,然后可以将所有集数一起下载。
#列出该集数的电视剧所有集数清晰度等信息
annie -i -p https://www.bilibili.com/bangumi/play/ep133269
#下载1到20集1080P视频
annie -f 80 -p -start 1 -end 20 https://www.bilibili.com/bangumi/play/ep133269
目前播放列表暂时只支持B
站和youtube
。
你也可以将你需要下载的链接存放到bz.txt
文件里,然后使用命令一起下载:
#列出所有链接信息
annie -F /root/bz.txt -i
#下载1080p视频
annie -f 80 -F /root/bz.txt
如果你下载的视频,比如需要会员啥的,就需要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
代理使用也可以一起看看。