lux(annie)是个github上的一个开源项目,可以使用他来下载网上各个平台的视频、音频、图片。
支持的站点也不少**(ps: 对于一些反爬机制较好的网站可能不能下载,比如抖音、快手)**


github使用说明页面提供windows、linux、Macos的使用教程,scoop、choco 啥的,不建议使用
各种环境问题,还是用提供的编译好的包就行了,地址https://github.com/iawia002/lux/releases/ 选择
自己的操作系统对应的包即可。
windows上的使用(不是全局命令行使用的话,不用配置环境变量,直接目录cmd即可)

命令(lux 加视频链接即可):
lux https://www.bilibili.com/video/BV1fi421h7hG
一些扩展命令及说明
1.基本使用:
- 下载视频:
lux "https://www.youtube.com/watch?v=dQw4w9WgXcQ" - 显示所有可用质量的视频信息而不下载:
lux -i "https://www.youtube.com/watch?v=dQw4w9WgXcQ" - 下载特定质量的视频:
lux -f stream "URL" - 下载其他资源(如图片):
lux "https://img9.bcyimg.com/drawer/15294/post/1799t/1f5a87801a0711e898b12b640777720f.jpg" - 下载播放列表:
- 下载整个播放列表:
lux -i -p "https://www.bilibili.com/bangumi/play/ep198061" - 指定下载列表的范围:使用
-start、-end或-items选项,例如:-start指定开始的视频(默认1),-end指定结束的视频,-items指定要下载的视频项,用逗号分隔,如:1,5,6,8 - 10。对于哔哩哔哩播放列表,还可以使用-eto选项,使每个哔哩哔哩剧集的文件名不包含播放列表标题。
- 下载整个播放列表:
- 下载多个URL:可以同时下载多个URL,例如:
lux -i "https://www.bilibili.com/video/av21877586" "https://www.bilibili.com/video/av21990740",也可以使用-F选项从文件中读取URL进行下载。
2.其他功能:
-
恢复下载:Ctrl + C中断下载后,会保留临时的
.download文件,再次使用相同参数运行lux可恢复下载进度。 -
自动重试:
lux会在下载失败时自动重试,可以通过-retry选项指定重试次数(默认100次)。 -
设置Cookies:通过
-c选项提供Cookies,格式可以是name=value; name2=value2;...的字符串或文本文件,例如:$ lux -c "name=value; name2=value2" "https://www.bilibili.com/video/av20203945"或$ lux -c cookies.txt "https://www.bilibili.com/video/av20203945"。 -
设置代理:通过环境变量设置HTTP/SOCKS5代理,例如:
HTTP_PROXY="http://127.0.0.1:1087/" lux -i "https://www.youtube.com/watch?v=Gnbch2osEeo"或HTTP_PROXY="socks5://127.0.0.1:1080/" lux -i "https://www.youtube.com/watch?v=Gnbch2osEeo"。 -
多线程下载:使用
--multi - thread或-m启用多线程下载单个视频,使用--thread或-n选项设置下载线程数(默认10),注意视频有多个片段时实际下载线程数会增加。 -
短链接下载:对于哔哩哔哩,可以使用
av或ep编号下载视频,例如:lux -i ep198381 av21877586。 -
使用指定Referrer:通过
-r选项设置Referrer,例如:lux -r "https://www.bilibili.com/video/av20383055/" "http://cn - scnc1 - dx.acgvideo.com/"。 -
指定输出路径和名称:通过
-o选项设置路径,通过-O选项设置文件名,例如:lux -o../ - O "hello" "https://example.com"。 -
调试模式:使用
-d选项输出网络请求消息,例如:lux -i -d "http://www.bilibili.com/video/av20088587"。 -
重用提取的数据:使用
-j选项以JSON格式打印提取的数据,例如:lux -j "https://www.bilibili.com/video/av20203945"。
3.命令选项说明:
-i:仅显示信息。-F string:URLs文件路径。-d:调试模式。-j:打印提取的数据。-s:最小输出。-v:显示版本。- 下载相关:
-f string:选择特定流进行下载。-p:下载播放列表。-n int:下载线程数(仅适用于多部分视频,默认10)。-c string:Cookie。-r string:使用指定Referrer。-cs int:HTTP下载块大小(以MB为单位,默认1)。
- 网络相关:
-retry int:下载失败时重试的次数(默认100)。
- 播放列表相关:
-start int:播放列表视频开始下载的位置(默认1)。-end int:播放列表视频结束下载的位置。-items string:要下载的播放列表视频项,用逗号分隔,如:1,5,6,8 - 10。
- 文件系统相关:
-o string:指定输出路径。-O string:指定输出文件名。
- 字幕相关:
-C:下载字幕。
- 优酷相关:
-ccode string:优酷ccode(默认"0502")。-ckey string:优酷ckey(默认"7B19C0AB12633B22E7FE81271162026020570708D6CC189E4924503C49D243A0DE6CD84A766832C2C99898FC5ED31F3709BB3CDD82C96492E721BDD381735026")。-password string:优酷密码。
- aria2相关:
-aria2:使用Aria2 RPC进行下载。-aria2addr string:Aria2地址(默认"localhost:6800")。-aria2method string:Aria2方法(默认"http")。
:Aria2地址(默认"localhost:6800")。-aria2method string:Aria2方法(默认"http")。-aria2token string:Aria2 RPC令牌。