当前位置: 首页 > news >正文

CentOS 安装 annie/lux,以及 annie/lux 的使用

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 的版本号,检查环境是否配置正确

在这里插入图片描述

下载视频案例

  1. 直接下载视频,默认是最高清晰度(这里最高的清晰度是指:未登录能选择的最高的清晰度)

    lux https://www.bilibili.com/video/BV1rk4y1R7id
    
  2. 查看视频信息但不下载

    lux -i https://www.bilibili.com/video/BV1rk4y1R7id
    

    在这里插入图片描述

  3. 下载指定清晰度的视频

    在上面可以看到清晰度对应的文件,如:

    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
    
  4. 下载多个视频

    可以使用空格隔开

    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
    
  5. 下载的视频到指定的目录下

    lux -o ~/video https://www.bilibili.com/video/BV1rk4y1R7id 
    
  6. 下载合集视频(部分下载平台支持)

    查看合集中的视频

    # 该操作执行很慢
    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
    
  7. 添加登录 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
    
http://www.lryc.cn/news/397313.html

相关文章:

  • 拥抱UniHttp,规范Http接口对接之旅
  • Python 给存入 Redis 的键值对设置过期时间
  • 在linux中安装docker
  • 【JVM-04】线上CPU100%
  • try catch 解决大问题
  • 手动解析Collection
  • list模拟实现【C++】
  • nginx正向代理、反向代理、负载均衡
  • matlab 有倾斜的椭圆函数图像绘制
  • PTK是如何加密WLAN单播数据帧的?
  • Django之登录权限系统
  • rust way step 1
  • 视觉语言模型导论:这篇论文能成为你进军VLM的第一步
  • Postman工具基本使用
  • uni-app三部曲之三: 路由拦截
  • 专注于国产FPGA芯片研发的异格技术Pre-A+轮融资,博将控股再次投资
  • 【python】QWidget父子关系,控件显示优先级原理剖析与应用实战演练
  • CTF php RCE(三)
  • Android 注解的语法原理和使用方法
  • YOLOv10改进 | Conv篇 | 利用FasterBlock二次创新C2f提出一种全新的结构(全网独家首发,参数量下降70W)
  • 实验-ENSP实现防火墙区域策略与用户管理
  • 【游戏客户端】大话slg玩法架构(二)背景地图
  • git-工作场景
  • coco dataset标签数据结构(json文件)
  • GaussDB关键技术原理:高性能(四)
  • 总结之企业微信(一)——创建外部群二维码,用户扫码入群
  • 透视数据治理:企业如何衡量数据治理的效果?
  • ERC20查询操作--获取ERC20 Token的余额
  • Linux运维:MySQL中间件代理服务器,mycat读写分离应用实验
  • css文字自适应宽度动态出现省略号...