Lux:Go 编写的跨平台命令行视频下载工具
Lux 是用 Go 编写的命令行视频下载工具,解析 B 站、抖音、YouTube 等 45 个站点的真实流地址,支持清晰度选择、字幕下载、播放列表批量抓取与断点续传。
项目资料
GitHub Ecosystem- 许可证
- MIT
- 主语言
- Go
- 星标
- 31,698
- 核查时间
- 2026-09-25
以上快照资料以核查当日为准,可能随版本或运营策略变化。
想把在线视频存到本地,难点不在「下载」这个动作,而在各平台页面结构和流地址的提取方式各不相同。Lux 用 Go 实现了这套解析:站点提取逻辑做成内置 extractor,配合通用下载器,让你在 Windows、macOS、Linux 的终端里用一条命令拿到视频、图片或音频。GitHubDaily 曾在 2025 年 1 月推荐过它。
核心功能
- 多站点解析:README 支持列表覆盖 45 个站点,含 B 站、YouTube、抖音、Twitter、爱奇艺、腾讯视频、小红书、TikTok、Instagram 等,类型分视频、图片、音频三类。
- 清晰度可选:
-i列出链接的全部可用流(分辨率与编码),再以-f选中其中一路(写法形如lux -f 248 <URL>)。 - 批量与播放列表:
-p抓取整个播放列表,单条命令可带多个 URL,也能用-F从文件读取链接,配合-start/-end/-items圈定范围。 - 字幕处理:
-C负责字幕下载,YouTube 上还能用-C -items en,zh选定语言,或以-embed把字幕封装进视频文件(此能力仅限 YouTube)。 - 续传与重试:Ctrl+C 中断后进度留在
.download临时文件里,重跑原命令就能接着下;失败任务会自动重试,次数上限由-retry设定。 - 多线程与 aria2:
-m开多线程,-n调整线程数(默认 10);不想用内置下载器时,可改走-aria2系列参数,把任务交给 aria2 的 RPC 接口。
典型使用场景
- 批量归档:把 B 站合集或 YouTube 播放列表整串拉到本地,链接多时改用
-F读文本文件。 - 离线学习资料:先用
-i看清画质档位,再-f下载指定流,并用-C带上或嵌入字幕。 - 短视频与音频:保存抖音、快手、小红书、微博上的短视频,或抓取喜马拉雅、网易云音乐的音频内容。
快速上手
先装好 FFmpeg(仅影响最终文件合并),再安装 Lux:
go install github.com/iawia002/lux@latest
macOS 上能直接 brew install lux;Windows 用户可选 scoop install lux 或者 choco install lux。然后直接下载:
lux "<视频链接>"
想挑画质:先 lux -i <URL> 列出全部流,再以 lux -f 248 <URL> 下载其中一路。
小结
它适合习惯终端操作、需要批量或自动化保存在线内容的人——收藏备份者、写脚本的开发者,尤其是同时使用国内与海外平台的用户。项目采用 MIT 协议,无需 API Key。两点客观提醒:一是站点可用性会波动,西瓜、头条要带上 Cookie 才能下;优酷的 ccode 参数变动频繁,时常不可用(README 已把它列进 Known issues);B 站和优酷的会员内容得先登录拿到 Cookie;芒果 TV 多线程下会遇到 403,官方建议 -n 1。二是版本节奏不快,最新正式版 v0.24.1 发布于 2024 年 5 月,仓库仍在维护但新版发布间隔较长。整体而言,它把「多平台解析 + 通用下载器」组合得比较完整,命令行下载视频可以先从它试起。