您的位置:首页 > 其它

Annie——一个简洁强大的轻量级视频下载神器

2020-04-05 12:16 3623 查看

说明

项目网站:https://github.com/iawia002/annie

Annie是一个基于go语言编写的下载器,先来解释一下这几个形容词。
简洁:程序无UI界面,通过命令行操作,且简单易懂。
强大:支持Windows、macOS、Linux系统,各大视频网站均可下载,且还能下载其他文件如音频,图片等。在项目网站列举的有:抖音哔哩哔哩半次元pixivision优酷YouTube爱奇艺芒果TV糖豆广场舞TumblrVimeoFacebook斗鱼视频微博InstagramTwitter腾讯视频网易云音乐音悦台极客时间PornhubXVIDEOS聯合新聞網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/

  • 点赞
  • 收藏
  • 分享
  • 文章举报
BoyInTheSun 发布了16 篇原创文章 · 获赞 0 · 访问量 1335 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐