开发工具#开源

Lux:Go 编写的跨平台命令行视频下载工具

Lux 是用 Go 编写的命令行视频下载工具,解析 B 站、抖音、YouTube 等 45 个站点的真实流地址,支持清晰度选择、字幕下载、播放列表批量抓取与断点续传。

项目资料

GitHub Ecosystem
仓库地址github.com/iawia002/lux
许可证
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 月,仓库仍在维护但新版发布间隔较长。整体而言,它把「多平台解析 + 通用下载器」组合得比较完整,命令行下载视频可以先从它试起。