简介
平时需要下载一些腾讯、优酷里的视频,但是却无法直接从浏览器下载,需要安装各自的客户端才能下载。以前用硕鼠就可以解析下载,现在由于版权问题,硕鼠已经废了。
当然如果谷歌下的话,还是能找到可以解析下载的网站的,不过就是有点麻烦。
偶然发现这款视频下载器:Annie
跨平台,支持 Windows、Mac、Linux,安装使用都非常简单
支持的视频平台也很多,包括:抖音、哔哩哔哩、半次元、pixivision、优酷、YouTube、爱奇艺、芒果TV、Tumblr、Vimeo、Facebook、斗鱼视频、秒拍、新浪微博、Instagram、Twitter、腾讯视频、网易云音乐、音悦台
本文记录一下 Windows 端的安装方法和使用方式。
准备工作
- PowerShell 版本要求3+
- .NET Framework 4.5+
一般来说,Win 10 就满足以上条件。Win 7 的话需要检查下
检查 PowerShell 版本
1、电脑左下角搜索框输入 Powershell
,打开Windows Powershell
,输入以下命令并回车,检查 PowerShell 的版本:
$PSVersionTable.PSVersion
其中,Major
为版本号:
升级PowerShell:(借用大佬的:https://www.moerats.com/archives/935/)
32位下载地址:https://www.moerats.com/usr/down/powershell/Win7-KB3191566-x86.zip
64位下载地址:https://www.moerats.com/usr/down/powershell/Win7-KB3191566-x64.zip
Windows 7 升级 .NET Framework 4.5+
一般来说Windows 10 已经满足条件,不需要升级
Windows 7 部分可能需要升级,检查.NET Framework
版本:https://docs.microsoft.com/zh-cn/dotnet/framework/migration-guide/how-to-determine-which-versions-are-installed
升级:(借用大佬的:https://www.moerats.com/archives/935/)
安装.Net 4.5.2全量包
下载地址:https://www.moerats.com/usr/down/powershell/NDP452-KB2901907-x86-x64-AllOS-ENU.exe
安装Annie
GitHub 项目地址:https://github.com/iawia002/annie
安装Scoop
在PowerShell 窗口内,输入以下命令并回车安装Scoop:
iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
你可能会遇到错误提示:
PowerShell requires an execution policy of 'RemoteSigned' to run Scoop
此时按照提示,输入命令并回车:
Set-ExecutionPolicy RemoteSigned -scope CurrentUser
再按提示输入 Y
回车即可
之后再次输入命令安装Scoop:
iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
关于更多Scoop的使用,可以看下少数派的这个文章:https://sspai.com/post/52496
安装Annie
Scoop 安装完成后,使用Scoop 快速安装 Annie
PowerShell 下输入以下命令并回车:
scoop install annie
稍等片刻就安装完成了
如何使用
安装其实很简单,关键是如何使用
这里首先列一下使用命令:
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
这里以B站视频为例,列一下常用的使用命令:
直接下载一个视频
annie https://www.bilibili.com/video/av27234784/
同时下载多个视频
直接加上多个视频链接,链接之间以空格隔开:
annie https://www.bilibili.com/video/av10253392/ https://www.bilibili.com/video/av7174717
B站视频可以直接用
av
号,不需要链接:
annie av2704514
列举视频所有清晰度,但不下载
使用 -i
参数
annie -i https://www.bilibili.com/video/av27234784/
下载指定清晰度视频,比如720P
使用-f
参数
annie -f 64 https://www.bilibili.com/video/av27234784/
指定下载的保存目录
使用 -o 目录
参数
annie -o F:\Anniedownload -f 64 https://www.bilibili.com/video/av27234784/
下载B站剧集
使用-p
参数,可以一次下载所有集数(支持B站和Youtube)
#列出该集数的电视剧所有集数清晰度等信息
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
使用Socks5代理下载
如果下载国外视频网站的视频,比如Youtube,就需要使用 -s
参数设置socks5代理
以下示例的前提是:你电脑已经打开小飞机,小飞机设置的本地监听端口为1080
annie -s 127.0.0.1:1080 https://www.youtube.com/watch?v=Hh19008zVnE
下载国外视频响应速度比较慢
更多的使用方法可以看Github项目里的介绍:https://github.com/iawia002/annie
4 comments
请问这样下载下来的视频有水印吗?
我试了,没有水印!谢谢大佬分享!ヾ(≧∇≦*)ゝ
就算没有VIP也能下载哔哩哔哩的VIP视频吗?
应该不能,凡是VIP视频,你首先要有一个VIP账号,然后再使用annie时设置cookie,具体的命令在项目里有介绍