3w颗星!多平台自媒体视频下载工具


Lux 是一个用 Go 写的命令行下载工具。它把这件事做得很直接:给它一个 URL,先看信息;确认后,再下载指定的流。后面的播放列表、批量链接、续传和 JSON 输出,也都围绕这条使用路径展开。

支持哪些平台

国内常用站点:哔哩哔哩、抖音、优酷、爱奇艺、西瓜视频、腾讯视频、微博、快手、小红书、知乎、斗鱼、虎牙、喜马拉雅等。

海外常用站点:YouTube、Vimeo、Facebook、Instagram、Threads、TikTok、Tumblr、Pinterest、Reddit、VKontakte、Rumble、Odysee 等。

除了视频,部分站点还支持图片或音频;完整支持范围会随站点规则变化。对于不在专用列表内的直接文件地址,Lux 也会尝试按通用资源处理。

安装前,先准备好 FFmpeg

Lux 需要单独安装 FFmpeg。它不参与网页资源的下载,作用是在最后合并分段媒体或分离的音视频。安装 Lux 最短的方式是:

go install github.com/iawia002/lux@latest不使用 Go 的话,也可以从 Releases 获取二进制文件。macOS 可用 brew install lux;Windows 支持 Scoop、Chocolatey 和 Cask。

给一个 URL,先看再下

直接传入链接,Lux 会开始下载。加上 -i 后,它只展示信息:站点、标题、内容类型,以及所有可选流。

lux -i “https://www.youtube.com/watch?v=dQw4w9WgXcQ

Site: YouTube youtube.com Title: Rick Astley - Never Gonna Give You Up (Video) Streams: [248] 1080p video/webm; codecs=“vp9” Size: 49.29 MiB # download with: lux -f 248 …选好后,把流编号交给 -f:

lux -f 248 “https://www.youtube.com/watch?v=dQw4w9WgXcQ”248 是示例中的编号,实际应以 -i 的结果为准。对于没有专用支持的直接资源地址,Lux 也会尝试按普通文件下载。

一条不够时,按清单跑

播放列表使用 -p 处理;不想全部下载时,可以用 -start、-end 或 -items 取其中一段。多个 URL 可以直接写在同一条命令后面,Lux 会依次执行。

链接更多时,把它们放进文本文件,再交给 -F:

lux -F ~/Desktop/u.txt这比反复打开网页、逐条点下载更适合整理一批资料:任务可以复用,范围也能明确写进命令里。

中断了,也不用重头来

下载被 Ctrl + C 打断时,输出目录会保留 .download 临时文件。用相同参数再次运行,Lux 会从原来的进度继续。

网络波动时,它会自动重试;需要修改次数,可以使用 -retry。单个视频也可通过 -m 开启多线程,并用 -n 设置线程数。

遇到不同网页条件,怎么处理

需要登录状态时,-c 可以接收 Cookie 字符串或 Cookie 文件。需要代理时,可设置 HTTP_PROXY 环境变量;需要指定来源页时,使用 -r 传入 Referer。

文件怎么落盘也可以控制:-o 设置输出目录,-O 设置文件名。排查请求或站点问题时,-d 会把网络请求信息打印出来。

不只下载,也能输出数据

如果后面还有脚本或整理流程,-j 会把解析结果以 JSON 输出。它保留站点、标题、内容类型和每个流的地址、大小、格式等信息,下载器也可以只作为其中一步。

lux -j “https://www.bilibili.com/video/av20203945”Lux 在 GitHub 获得了超过 3 万个 star。它受到关注的原因不只是支持多个站点,而是把“先看、再选、批量跑、可恢复、可接入脚本”这些实际会遇到的步骤,都放进了一套一致的命令里。

项目地址

GitHub:

https://github.com/iawia002/luxReleases:

https://github.com/iawia002/lux/releases

            预览时标签不可点