M3U8 Quicker

May 28, 2026 · View on GitHub

M3U8 Quicker icon

Windows MacOS Linux

Latest release License Total downloads

M3U8 Quicker 是一个基于 Tauri + Rust + React + TypeScript 构建的桌面应用,可用于下载HLS/DASH/MP4类视频和直播视频录制,支持 Windows、MacOS 和 Linux。

应用中包含可选的浏览器扩展(Chrome/Firefox/Edge):自动扫描网页中的视频,一键快速新建下载/直播任务并预填信息。

demo.gif

功能特性

下载视频

  • HLS视频(M3U8格式)下载:支持AES-128/AES-192/AES-256解密、多音轨(音视频字幕分离)下载
  • DASH格式视频下载
  • 普通视频(mp4/mkv/avi/wmv/flv/webm/mov/rmvb)的下载
  • 支持多线程下载提高下载速度(可设置并发数)
  • 支持边下边播、暂停/继续下载(断点续传)、失败分片重试
  • 支持下载完转mp4格式、编码转换和格式转换
  • 可设置代理
  • 支持批量下载
  • 支持视频预览图

直播录制

  • 支持HTTP-FLV和HLS格式
  • 录播完转mp4格式

浏览器扩展

  • 自动扫描下载视频、直播视频
  • 一键新建下载视频任务/直播录制
  • 除通用网址,还兼容B站、抖音、CCTV等网站

使用说明

安装

可在 GitHub Releases 页面下载对应的桌面安装包或发行文件,下方文件链接可直接下载:

系统文件说明
Windows Windowsx64安装包 | 免安装包
x86安装包 | 免安装包
大多数电脑选 x64
32 位系统选 x86
MacOS MacOSApple Silicon安装包 | 应用包压缩
Intel安装包 | 应用包压缩
M芯片选 Apple Silicon
Intel 芯片选 Intel
Linux Linux安装包deb | rpm
免安装AppImage
Ubuntu/Debian/Linux Mint选deb
Fedora/RHEL/CentOS/openSUSE选rpm

MacOS 首次安装时如果遇到“无法打开”或“应用已损坏”之类的权限提示,可按下面方式处理:

  1. “系统设置 -> 隐私与安全性”中找到被拦截的应用,点击“仍要打开”
  2. 如果第1种方式不行,可以在终端执行以下命令后重新打开
xattr -rd com.apple.quarantine /Applications/M3U8\ Quicker.app

浏览器扩展(可选):

打开M3U8 Quicker-> 工具 -> 安装浏览器扩展,按引导可安装Chrome扩展/Firefox扩展/Microsoft Edge扩展。

新建下载

方式一:浏览器扩展一键下载(强烈推荐)

安装浏览器扩展后,网页中会自动扫描出视频地址和直播地址,右上角会出现一个按钮M3U8 Quicker,点击后唤起桌面应用新建下载任务(也可以直播录制),并自动带入 urlrefereroriginuser-agent

Chrome 扩展下载

方式二:手动下载

在主界面点击“新建下载”,填写 HLS/DASH/MP4 地址后即可创建任务。

如果资源需要额外请求头(可选),可以在附加 Header 中填写,例如:

referer:http://127.0.0.1:7878/
origin:http://127.0.0.1:7878
user-agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)

新建下载

下载前可查看视频预览图

视频预览

下载中

任务创建后会进入下载列表,下载过程中支持以下操作:

  • 可手动暂停和恢复下载任务(断点续传)
  • 可仅对下载失败的分片进行重试下载
  • 下载中的任务可边下边播

下载列表会持续显示任务状态、下载进度、下载速度等信息,便于随时查看当前下载情况。

下载中

播放

下载中任务支持边下边播,若跳转到未下载分片进度时,优先下载当前播放进度分片。

播放窗口

设置

设置面板当前支持:

  • 主题切换
  • 代理开关与代理地址
  • 下载设置:并发/限速/下载完成行为
  • 录播设置
  • FFmpeg下载和管理

开发与构建

技术栈

  • 前端:React 19TypeScriptVite 8Ant Design 6
  • 桌面端:Tauri 2
  • 后端逻辑:Rust

环境要求

  • Node.js:建议使用较新的 LTS 版本
  • Rust:最低 1.88

目录结构

  • src/:React 前端界面与页面逻辑
  • src-tauri/:Tauri 桌面端与 Rust 后端实现
  • browser-extension/:可选的浏览器扩展源码(chrome/firefox/ 子目录)
  • test-hls-server/:独立的 Rust 本地测试服务,用于把视频切成 m3u8 + ts
  • public/:静态资源

本地开发

1. 安装依赖

npm install

2. 启动桌面应用调试

VSCode 直接按 F5,或:

npm run dev:desktop

npm run dev:desktop 是跨平台启动入口(VSCode F5 也指向它):

  • Windows / Linux:等价于 npm run tauri dev
  • macOS:自起 Vite + 构建 dev 二进制,并把它包进一个声明了 m3u8quicker:// 协议的 .app 后注册运行。 这样浏览器扩展在调试期也能像 Windows 一样唤起应用(tauri dev 产出的裸二进制无法被 macOS 注册为协议处理器)。

常用命令

命令说明
npm install安装前端依赖
npm run dev启动前端开发服务器
npm run dev:desktop启动桌面应用调试(macOS 下额外注册深链 .app
npm run preview预览前端构建产物
npm run tauri dev启动桌面应用开发模式(macOS 下不支持扩展深链跳转)
npm run lint检查前端代码规范
npm run build执行 TypeScript 检查并构建前端
npm run tauri build构建桌面应用安装包
cargo check --manifest-path src-tauri/Cargo.toml检查 Rust / Tauri 侧代码
cargo test --manifest-path src-tauri/Cargo.toml运行 Rust 单元测试

打包与资源说明

  • 应用名称:M3U8 Quicker
  • 应用标识:com.liubsyy.m3u8quicker

桌面应用打包时会把仓库根目录下的 browser-extension/ 一并作为资源打入安装包,因此安装后的应用仍然可以为扩展安装引导提供目标目录。

当前仓库和默认打包配置不会直接把 FFmpeg 二进制预置进安装包;如用户在应用内下载或自行配置 FFmpeg,该部分组件适用其各自的上游许可证与分发条件。

License

  • 本仓库源码基于 Apache License 2.0 开源,详见仓库根目录下的 LICENSE 文件。
  • 本项目运行时可使用的 FFmpeg、系统已安装的 FFmpeg 以及应用内下载的第三方 FFmpeg 二进制,均适用其各自许可证,不因本仓库采用 Apache-2.0 而改变。
  • 第三方许可与说明请参见仓库根目录下的 THIRD_PARTY_NOTICES.md