MCPcopy Index your code
hub / github.com/Liubsyy/M3U8Quicker

github.com/Liubsyy/M3U8Quicker @1.2.4

Chat with this repo
repository ↗ · DeepWiki ↗ · release 1.2.4 ↗ · + Follow
1,529 symbols 3,776 edges 56 files 35 documented · 2% updated 11d ago1.2.4 · 2026-06-27★ 1697 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

M3U8 Quicker

M3U8 Quicker icon

Windows MacOS Linux

Latest release License Total downloads

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

demo.gif

应用中包含可选的浏览器扩展(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 Windows x64安装包 | 免安装包

x86安装包 | 免安装包 | 大多数电脑选 x64

32 位系统选 x86 | | MacOS MacOS | Apple 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

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Function 1,262
Class 125
Interface 58
Method 55
Enum 29

Languages

Rust65%
TypeScript35%

Modules by API surface

src-tauri/src/downloader.rs216 symbols
src-tauri/src/commands.rs165 symbols
src-tauri/src/playback.rs106 symbols
src-tauri/src/ffmpeg.rs102 symbols
src-tauri/src/models.rs89 symbols
test-hls-server/src/main.rs85 symbols
src-tauri/src/live_recorder.rs84 symbols
src/services/api.ts72 symbols
src-tauri/src/persistence.rs63 symbols
browser-extension/firefox/content.js57 symbols
browser-extension/chrome/content.js57 symbols
src-tauri/src/remux.rs39 symbols

For agents

$ claude mcp add M3U8Quicker \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page