Annie——一个简洁强大的轻量级视频下载神器
说明
项目网站:https://github.com/iawia002/annie
Annie是一个基于go语言编写的下载器,先来解释一下这几个形容词。
简洁:程序无UI界面,通过命令行操作,且简单易懂。
强大:支持Windows、macOS、Linux系统,各大视频网站均可下载,且还能下载其他文件如音频,图片等。在项目网站列举的有:抖音、哔哩哔哩、半次元、pixivision、优酷、YouTube、爱奇艺、芒果TV、糖豆广场舞、Tumblr、Vimeo、Facebook、斗鱼视频、微博、Instagram、Twitter、腾讯视频、网易云音乐、音悦台、极客时间、Pornhub、XVIDEOS、聯合新聞網、TikTok
轻量级:软件本体不到3MB,加上用来合成视频的软件FFmpeg也不过70MB。
本文详细介绍Windows,其他系统请查看项目地址,已经很详细了。
安装
Windows
这里使用Windows预装的PowerShell进行操作,可以在程序搜索框搜索PowerShell,Win10也可右键开始按钮->Windows PowerShell。
1. 环境配置
①Windows 7 SP1 + / Windows Server 2008+
②.NET Framework 4.5+和PowerShell 5+,
一般的Win10系统符合要求可直接跳过。
**查看.NET Framework版本:**在PowerShell窗口中输入
$PSVersionTable.CLRVersion
或打开`控制面板->程序->启用或关闭 Windows 功能
若版本过低,请点击下载.NET Framework 4.5.2并安装。
**查看PowerShell版本:**在PowerShell窗口中输入
$PSVersionTable.PSVersion
Major为版本号。
若版本过低,则需下载。这里有微软官方说明下载并安装 Windows PowerShell 5.1
2. 安装scoop
在PowerShell窗口中输入
iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
这是一个强大的命令行包管理工具,在我的另一篇中有介绍。如遇报错,请到这里查看:scoop安装详解
3. 安装annie
在PowerShell窗口中输入
scoop install annie
该命令会为你安装FFmpeg(合并视频用)和Annie
同理,如果下载过程中断,需要删除
C:\Users<user>\scoop\app内相应的文件夹。同样建议挂梯子。
macOS
在终端输入
brew install ffmpeg brew install annie
由于博主手头没有macOS无法测试,欢迎留言讨论。
Linux
首先根据自己的系统构架选择安装包:传送门
目前最新版是0.9.8,我的系统是64位Debian系统,那么执行命令:
wget https://github.com/iawia002/annie/releases/download/0.9.8/annie_0.9.8_Linux_64-bit.tar.gz tar zxvf annie_*.tar.gz mv annie /usr/local/bin/ rm -rf annie_*.tar.gz
再安装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 mv ffmpeg-git-*/ffmpeg ffmpeg-git-*/ffprobe /usr/local/bin/ rm -rf ffmpeg-git-*
用法
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: -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,8-10 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 aria2: Note: If you use aria2 to download, you need to merge the multi-part videos yourself. -aria2 Use Aria2 RPC to download -aria2addr string Aria2 Address (default "localhost:6800") -aria2method string Aria2 Method (default "http") -aria2token string Aria2 RPC Token
基本用法
无选项,直接下载视频,默认是最高清晰度,如:
annie https://www.iqiyi.com/v_19rrnqxz7k.html
-i选项,仅显示信息但不下载,如
annie -i https://www.iqiyi.com/v_19rrnqxz7k.html:
这时可以根据提示使用**-f选项来选择清晰度,如我要下载896*376,则
annie -f 2 https://www.iqiyi.com/v_19rrnqxz7k.html:
此时文件已经下载至程序运行目录,对于windows即位于
C:\Users<user>,我的用户名为Sunboy,则可以找到我的视频:
C:\Users\Sunboy\战狼.f4v
如果你想下载多个视频,那么用空格隔开网址**。
也可以使用**-F选项**下载txt中的所有链接,如我把链接都放到了
D:\text.txt,则执行
annie -F D:\text.txt -i列举信息,
annie -F D:\text.txt -f 80下载指定清晰度
-o选项,用于指定下载目录,如下载到D盘视频文件夹,即
annie -o D:\视频\ https://www.iqiyi.com/v_19rrnqxz7k.html
播放列表
目前播放列表只支持bilibili、youtube和糖豆广场舞,加上参数-p即可,如查看所有集:
annie -i -p https://www.bilibili.com/bangumi/play/ss20117?spm_id_from=333.851.b_62696c695f7265706f72745f74656c65706c6179.36,再下载指定清晰度:
annie -f 80 -p https://www.bilibili.com/bangumi/play/ss20117?spm_id_from=333.851.b_62696c695f7265706f72745f74656c65706c6179.36,也可以下载指定集:
annie -f 80 -p -start 1 -end 10 https://www.bilibili.com/bangumi/play/ss20117?spm_id_from=333.851.b_62696c695f7265706f72745f74656c65706c6179.36
会员
目前会员只支持bilibili和优酷,当然首先你得有个会员才能下载。我刚好有优酷会员,做个一演示。
首先在浏览器登陆会员,然后获取
cookies的
P_pck_rm参数,保存到cookies.txt,格式如:
P_pck_rm=woxiaxiede。至于获取
cookies,推荐使用
EditThisCookie插件,我是用的是Chrome可以直接从插件商店获取(需翻墙)。安装完成后到设置更改导出格式为
Semicolon separated name=value paris,复制到txt文件,仅需保留
P_pck_rm=woxiaxiede。
使用时添加**-c选项**:
annie -c D:\cookies -i https://for.example.com/以查看信息。
这里我遇到一个报错
按照提示将
&替换为
"&"即可。
其他
可以使用**-aira2**选项提升下载速度,当然需要首先安装aria2。
annie也可以下载普通文件,等同于wget命令。
其他用法详见项目地址。
推荐
除了Annie,github上还有不少类似的项目,安装和使用方法也类似,这里就不再赘述了,有兴趣的可以自己尝试。
lulu来自相同的作者,但似乎支持更多网站,没有细研究。
youtube-dl
ytdl
you-get
参考链接
https://www.moerats.com/archives/935/
交流讨论等具体内容请访问我的博客
原文地址:https://boyinthesun.cn/post/annie/
- 点赞
- 收藏
- 分享
- 文章举报
- 视频轻量级下载工具 you-get/ lulu/ Annie 合集
- Picasso:一个强大的图片下载和缓存库
- 轻量级调试器神器 - mimikatz (学习了,很强大的工具)
- 一个强大的超棒轻量级javascript图形类库 - Bonsai
- Picasso ——针对 Android的一个强大的图像下载和缓存库
- 大家能否提供一个可以下载的尚学堂的Spring视频教程?
- 听歌、看视频、下载系统等,一个网站让你少装几十款软件!
- Picasso——针对Android的一个强大的图像下载和缓存库
- 使用silverlight构建一个工作流设计器(十二)(附源代码下载、在线演示、视频教程)
- 如何下载一个视频文件到Documents目录下的Video文件夹
- 在visual studio中可以调试运行PYTHON,强大,具体做法就是下载一个PTVS(Python tool for visual studio)
- 推荐一个视频教程资料下载的网站
- 发布一个flv视频下载工具(支持一边下一边播放)
- 一个基于JRTPLIB的轻量级RTSP客户端(myRTSPClient)——实现篇:(六)RTP音视频传输解析层之音视频数据传输格式
- 费下载最新版万能视频格式转换器是一款功能强大的全能视频格式转换软件
- 通用权限管理系统组件 (GPM - General Permissions Manager) 自己动手只能写一个轻量级的权限系统了功能也不强大,这不是白白流血流汗吗?
- 【javascript】最简洁的TreeView、“蛮力跨域”、Jsonp协议、局部运算以及仿客户端的Web视频应用例子(含下载)
- 刚找到的一个很不错的学习网址和资源下载,都是著名大学的视频教程,
- 常用PS抠图的童鞋有福了,精细到头发丝~~!!!!!偶然寻到一个PS插件。很强大(附上下载地址)
- Java爬虫实战(二):抓取一个视频网站上2015年所有电影的下载链接