Lux is a command-line video downloader written in Go that supports multiple video platforms and streaming sites.
Lux solves the problem of downloading videos from various online sources by providing a unified interface to extract and save video content. It works by parsing video URLs, identifying available quality streams, and downloading the video data, with FFmpeg used to merge the final output. The tool supports downloading individual videos, playlists, and multiple inputs in a single command, and includes features like multi-threaded downloads, automatic retry on failure, resume capability, proxy support, and custom referrer headers.
The tool suits developers and users who need to programmatically or manually download videos from supported platforms including YouTube, Bilibili, Youku, iQiyi, QQ Video, and Tumblr. It can be used as a standalone CLI tool or integrated as a library in Go projects. The README identifies similar projects but makes no direct comparisons, so adoption decisions should focus on whether the supported sites match your needs and whether Go integration appeals to your workflow.
The project maintains active continuous integration with automated testing on code changes. Development activity shows consistent engagement with the codebase through regular updates and maintenance of the video platform integrations, which is critical given that video sites frequently change their APIs and access methods.