当前位置: 首页 > 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
    

相关文章:

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

annie 介绍 如果第一次听到 annie 想必都会觉得陌生,annie 被大家称为视频下载神器,annie 作者介绍说可以下载抖音、哔哩哔哩、优酷、爱奇艺、芒果TV、YouTube、Tumblr、Vimeo 等平台的视频。 githup:https://github.com/pingf/annie 支持…...

拥抱UniHttp,规范Http接口对接之旅

前言 如果你项目里还在用传统的编程式Http客户端比如HttpClient、Okhttp去直接对接第三方Http接口, 那么你项目一定充斥着大量的对接逻辑和代码, 并且针对不同的对接渠道方需要每次封装一次调用的简化, 一旦封装不好系统将会变得难以维护&am…...

Python 给存入 Redis 的键值对设置过期时间

Redis 是一种内存中的数据存储系统,与许多传统数据库相比,它具有一些优势,其中之一就是可以设置数据的过期时间。通过 Redis 的过期时间设置,可以为存储在 Redis 中的数据设置一个特定的生存时间。一旦数据到达过期时间&#xff0…...

在linux中安装docker

文章目录 1、安装依赖2、安装docker的下载源3、安装docker4、设置Docker服务开机自启 1、安装依赖 sudo yum install -y yum-utils2、安装docker的下载源 sudo yum-config-manager \--add-repo \https://download.docker.com/linux/centos/docker-ce.repohttps://download.do…...

【JVM-04】线上CPU100%

【JVM-04】线上CPU100% 1. 如何排查2. 再举一个例子 1. 如何排查 ⼀般CPU100%疯狂GC,都是死循环的锅,那怎么排查呢?先进服务器,⽤top -c 命令找出当前进程的运⾏列表按⼀下 P 可以按照CPU使⽤率进⾏排序显示Java进程 PID 为 2609…...

try catch 解决大问题

项目开发中遇到一个棘手的bug,react前端项目独自运行时一切正常,但是把项目集成到使用wujie的大平台微前端项目中之后,突然有个地方无故报错,导致程序运行停止,后续的方法不再执行。报错如下: DOMExceptio…...

手动解析Collection

即将被解析的json {"collection": {"templates": [{"data": [{"name": "plantCode","value": "MSHG_KFXHS02"}, {"name": "details","value": [{"plantMedicament…...

list模拟实现【C++】

文章目录 全部的实现代码放在了文章末尾准备工作包含头文件定义命名空间类的成员变量为什么节点类是用struct而不是class呢?为什么要写get_head_node? 迭代器迭代器在list类里的实例化和重命名普通迭代器operator->()的作用是什么? const迭代器反向迭…...

nginx正向代理、反向代理、负载均衡

nginx.conf nginx首要处理静态页面 反向代理 动态请求 全局模块 work processes 1; 设置成服务器内核数的两倍(一般不不超过8个超过8个反而会降低性能一般4个 1-2个也可以) netstat -antp | grep 80 查端口号 *1、events块:* 配置影响ngi…...

matlab 有倾斜的椭圆函数图像绘制

matlab 有倾斜的椭圆函数图像绘制 有倾斜的椭圆函数图像绘制xy交叉项引入斜线负向斜线成分正向斜线成分 x^2 y^2 xy 1 (负向)绘制结果 x^2 y^2 - xy 1 (正向)绘制结果 有倾斜的椭圆函数图像绘制 为了确定椭圆的长轴和短轴的…...

PTK是如何加密WLAN单播数据帧的?

1. References WLAN 4-Way Handshake如何生成PTK?-CSDN博客 2. 概述 在Wi-Fi网络中,单播、组播和广播帧的加密算法是由AP决定的。其中单播帧的加密使用PTK密钥,其PTK的密钥结构如下图所示: PTK的组成如上图所示,由K…...

Django之登录权限系统

本文参考链接django之auth模块(用户认证) - chchcharlie、 - 博客园 (cnblogs.com) 执行完迁移命令,会自动生成admin表,迁移命令如下: python manage.py makemigrations python manage.py migrate 相关模块 from django.contrib …...

rust way step 1

install rust CARGO_HOME D:\rust\.cargo RUSTUP_HOME D:\rust\.rustup [dependencies] ferris-says "0.2" vscode 安装rust 插件 use ferris_says::say; // from the previous step use std::io::{stdout, BufWriter};fn main() {let stdout stdout();let m…...

视觉语言模型导论:这篇论文能成为你进军VLM的第一步

近些年,语言建模领域进展非凡。Llama 或 ChatGPT 等许多大型语言模型(LLM)有能力解决多种不同的任务,它们也正在成为越来越常用的工具。 这些模型之前基本都局限于文本输入,但现在也正在具备处理视觉输入的能力。如果…...

Postman工具基本使用

一、安装及基本使用 安装及基本使用参见外网文档:全网最全的 postman 工具使用教程_postman使用-CSDN博客 建议版本:11以下,比如10.x.x版本。11版本以后貌似是必须登录使用 二、禁止更新 彻底禁止postman更新 - 简书 host增加&#xff1…...

uni-app三部曲之三: 路由拦截

1.引言 路由拦截,个人理解就是在页面跳转的时候,增加一级拦截器,实现一些自定义的功能,其中最重要的就是判断跳转的页面是否需要登录后查看,如果需要登录后查看且此时系统并未登录,就需要跳转到登录页&…...

专注于国产FPGA芯片研发的异格技术Pre-A+轮融资,博将控股再次投资

近日,苏州异格技术有限公司(以下简称“异格技术”)宣布成功完成数亿元的Pre-A轮融资,由博将控股在参与Pre-A轮投资后,持续投资。这标志着继2022年获得经纬中国、红点中国、红杉中国等机构数亿元天使轮融资后&#xff0…...

【python】QWidget父子关系,控件显示优先级原理剖析与应用实战演练

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…...

CTF php RCE(三)

0x07 日志文件包含 判断类型 使用kali curl -I urlF12 打开F12开发者工具,选中之后F5刷新查看server类型即可 配置文件 直接包含或者访问如果有回显就是, NGINX:NGINX 的配置文件通常位于 /etc/nginx/ 目录下,具体的网站配…...

Android 注解的语法原理和使用方法

Android 注解的语法原理和使用方法 关于我 在 Android 开发中,注解(Annotation)是一种强大的工具,用于在代码中添加元数据。注解可以简化代码、提高可读性、减少样板代码,并且在一定程度上增强编译时的类型检查。本文…...

SkyWalking 10.2.0 SWCK 配置过程

SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩

目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...

华硕a豆14 Air香氛版,美学与科技的馨香融合

在快节奏的现代生活中,我们渴望一个能激发创想、愉悦感官的工作与生活伙伴,它不仅是冰冷的科技工具,更能触动我们内心深处的细腻情感。正是在这样的期许下,华硕a豆14 Air香氛版翩然而至,它以一种前所未有的方式&#x…...

JavaScript基础-API 和 Web API

在学习JavaScript的过程中,理解API(应用程序接口)和Web API的概念及其应用是非常重要的。这些工具极大地扩展了JavaScript的功能,使得开发者能够创建出功能丰富、交互性强的Web应用程序。本文将深入探讨JavaScript中的API与Web AP…...

【C++特殊工具与技术】优化内存分配(一):C++中的内存分配

目录 一、C 内存的基本概念​ 1.1 内存的物理与逻辑结构​ 1.2 C 程序的内存区域划分​ 二、栈内存分配​ 2.1 栈内存的特点​ 2.2 栈内存分配示例​ 三、堆内存分配​ 3.1 new和delete操作符​ 4.2 内存泄漏与悬空指针问题​ 4.3 new和delete的重载​ 四、智能指针…...

BLEU评分:机器翻译质量评估的黄金标准

BLEU评分:机器翻译质量评估的黄金标准 1. 引言 在自然语言处理(NLP)领域,衡量一个机器翻译模型的性能至关重要。BLEU (Bilingual Evaluation Understudy) 作为一种自动化评估指标,自2002年由IBM的Kishore Papineni等人提出以来,…...

【C++】纯虚函数类外可以写实现吗?

1. 答案 先说答案&#xff0c;可以。 2.代码测试 .h头文件 #include <iostream> #include <string>// 抽象基类 class AbstractBase { public:AbstractBase() default;virtual ~AbstractBase() default; // 默认析构函数public:virtual int PureVirtualFunct…...

若依登录用户名和密码加密

/*** 获取公钥&#xff1a;前端用来密码加密* return*/GetMapping("/getPublicKey")public RSAUtil.RSAKeyPair getPublicKey() {return RSAUtil.rsaKeyPair();}新建RSAUti.Java package com.ruoyi.common.utils;import org.apache.commons.codec.binary.Base64; im…...

Linux安全加固:从攻防视角构建系统免疫

Linux安全加固:从攻防视角构建系统免疫 构建坚不可摧的数字堡垒 引言:攻防对抗的新纪元 在日益复杂的网络威胁环境中,Linux系统安全已从被动防御转向主动免疫。2023年全球网络安全报告显示,高级持续性威胁(APT)攻击同比增长65%,平均入侵停留时间缩短至48小时。本章将从…...

C# winform教程(二)----checkbox

一、作用 提供一个用户选择或者不选的状态&#xff0c;这是一个可以多选的控件。 二、属性 其实功能大差不差&#xff0c;除了特殊的几个外&#xff0c;与button基本相同&#xff0c;所有说几个独有的 checkbox属性 名称内容含义appearance控件外观可以变成按钮形状checkali…...