annie 介绍
如果第一次听到 annie 想必都会觉得陌生,annie 被大家称为视频下载神器,annie 作者介绍说可以下载抖音、哔哩哔哩、优酷、爱奇艺、芒果TV、YouTube、Tumblr、Vimeo 等平台的视频。
githup:https://github.com/pingf/annie
支持的范围如下:
文章介绍
之所以有这篇文章是因为,在网络上看到的都是 windows 怎么安装,对于 CentOS 系统如何安装的文章却寥寥无几。安装 annie 之前需要安装其他的依赖,作者花了一些时间才把 annie 在 CentOS 上安装起来,这里作为一个安装记录。同时也会介绍 annie 的常用命令。
下载和安装
在安装 annie 之前,需要先依次安装 yasm、FFmpeg,而 yasm、FFmpeg、annie 都不支持 yum 安装的,三个都需要自己手动编译安装。
FFmpeg 主要是讲视频和音频合并,如果没有安装 FFmpeg 也能下载视频,但下载下来的分为视频和音频两个文件。
安装 yasm:
在 http://www.tortall.net/projects/yasm/releases 可以看到 yasm 全部版本号,距今为止最新的版本为 1.3.0。
cd ~
# 下载 yasm,这里的下载地址是作者的网盘地址(地址长期有效)
wget http://file.shijialeya.top/package/yasm-1.3.0.tar.gz
# 解压文件
tar -zxvf yasm-1.3.0.tar.gz
# 进入解压的文件
cd yasm-1.3.0
# 执行一下配置
./configure
# 编译并安装
make && make install
# 检查是否安装完成(输出对应的版本号即安装完成)
yasm --version
安装 FFmpeg:
在 https://ffmpeg.org//releases 可以看到 FFmpeg 全部版本号,距今为止最新的版本为 7.0.1。
cd ~
# 下载 FFmpeg,这里的下载地址是作者的网盘地址(地址长期有效)
wget http://file.shijialeya.top/package/ffmpeg-7.0.1.tar.gz
# 解压文件
tar -zxvf ffmpeg-7.0.1.tar.gz
# 进入解压的文件
cd ffmpeg-7.0.1
# 执行一下配置
./configure
# 编译并安装(这里需要很长的时间,耐心等待)
make && make install
# 检查是否安装完成(输出对应的版本号即安装完成)
ffmpeg --version
安装 annie:
在 https://github.com/iawia002/lux/releases 可以看到 annie 全部版本号,距今为止最新的版本为 0.24.1。
cd ~
# 下载 annie,这里的下载地址是作者的网盘地址(地址长期有效)
wget http://file.shijialeya.top/package/lux_0.24.1_Linux_x86_64.tar.gz
# 解压文件
tar -zxvf lux_0.24.1_Linux_x86_64.tar.gz
解压之后就可以得到一个 lux 可以执行的文件,可以通过以下命令进行视频文件下载:
./lux https://www.bilibili.com/video/BV1j4411W7F7
可以看到视频已经下载成功了。
我们可以将 lux 加入到环境当中,就可以在任意目录下都使用 lux 命令下载文件了。
# 将 lux 移动到 /usr/local/annie/ 目录下
mkdir /usr/local/annie
mv lux /usr/local/annie/
# 加入环境
vim /etc/profile
在文件尾部增加
export PATH=/usr/local/annie:$PATH
保存文件,之后执行
source /etc/profile
查看 lux 的版本号,检查环境是否配置正确
下载视频案例
-
直接下载视频,默认是最高清晰度(这里最高的清晰度是指:未登录能选择的最高的清晰度)
lux https://www.bilibili.com/video/BV1rk4y1R7id
-
查看视频信息但不下载
lux -i https://www.bilibili.com/video/BV1rk4y1R7id
-
下载指定清晰度的视频
在上面可以看到清晰度对应的文件,如:
lux -f 16-7 对应的是 流畅 360P avc1.64001E;
lux -f 32-7 对应的是 清晰 480P avc1.64001F
如果需要下载 清晰 480P avc1.64001F 的文件,那么加多 -f 选项,-f 选项的值要和 lux -f xxx 中的 xxx 保持一致。
lux -f 32-7 https://www.bilibili.com/video/BV1rk4y1R7id
-
下载多个视频
可以使用空格隔开
lux https://www.bilibili.com/video/BV19h411T7rd https://www.bilibili.com/video/BV1wx4y1F73v
也可以将地址先保存到文本文件,下载文件中的所有链接
download_list.txt
https://www.bilibili.com/video/BV19h411T7rd https://www.bilibili.com/video/BV1wx4y1F73v
下载默认清晰度的视频
lux -F download_list.txt
查看文件地址中的清晰度
lux -F download_list.txt -i
下载指定清晰度的视频
lux -F download_list.txt -f 32-12
-
下载的视频到指定的目录下
lux -o ~/video https://www.bilibili.com/video/BV1rk4y1R7id
-
下载合集视频(部分下载平台支持)
查看合集中的视频
# 该操作执行很慢 lux -p -i https://www.bilibili.com/video/BV13Z421g7PT
下载合集的全部文件
# 该操作执行很慢 lux -p https://www.bilibili.com/video/BV13Z421g7PT
下载合集的指定集数
# 下载 2、3、4 集 lux -p -start 2 -end 4 https://www.bilibili.com/video/BV13Z421g7PT
-
添加登录 Token
-c 后面添加的就是平台的 Token 的 key 和 value。
其中 bilibili 取的是 SESSDATA;优酷使用的是 P_pck_rm;所以 -c 后面的值需要按照不同平台配置不同的值。
lux -c SESSDATA=xxx -i https://www.bilibili.com/video/BV1rk4y1R7id
登录之后可以看到更加清晰的视频
也可以将 Token 信息保存到文件中
bilibili_token.txt
SESSDATA=xxx这里是登录Token
lux -c bilibili_token.txt -i https://www.bilibili.com/video/BV1rk4y1R7id