基于Rust开发的m3u8下载器:支持断点续传、边下边播

1 阅读2分钟

背景

在访问 M3U8类网站的视频时,有时我们想下载视频到本地。

市面上有Chrome类插件或脚本支持m3u8下载,但是不能断点续传和边下边播,也不太方便查看和管理下载过的视频。
还有一些m3u8类下载软件,需要手动去找m3u8地址手填下载,不是很方便。

于是我开发了m3u8播放器M3U8 Quicker,将两者结合起来,非常方便灵活下载m3u8视频并转成mp4,安装包仅2M左右(1.0.0版本)。

M3U8 Quicker 基于 Tauri + Rust + React + TypeScript 构建,支持 Windows、macOS 和 Linux。无论是日常保存课程视频、整理网络媒体资源,还是处理需要额外请求头的流媒体地址,它都能提供更直接、更稳定的使用体验。

download_main.png

特性

  • 支持 M3U8 视频下载与任务管理
  • 支持多线程下载,提升下载效率
  • 支持 AES-128 / AES-192 / AES-256 加密流的密钥拉取与解密
  • 支持暂停、继续下载、失败分片重试
  • 支持边下边播,下载过程中也能直接打开播放器
  • 支持自动合并 ts 并转成 mp4
  • 支持设置代理
  • 支持Chrome自动识别m3u8地址一键跳转新建下载任务

它不是一个只负责“把文件拉下来”的小工具,而是一个更完整的 M3U8 媒体处理入口。

从新建下载任务到播放,一条链路打通

使用 M3U8 Quicker 的过程非常直接。打开应用后,点击“新建下载”,输入 M3U8 地址即可创建任务。如果资源依赖 refererorigin 等附加请求头,也可以在创建任务时一并补充。

newtask.png 任务开始后,下载列表会持续展示当前状态、下载进度和下载速度。你可以随时暂停任务、恢复任务、重试失败分片。

download_ts.png

也可以在下载过程中直接打开播放器,边下载边观看,播放过程中跳转任务进度,系统会优先下载当前播放进度附近的分片

playvideo.png

Chrome 扩展

除了桌面端本身,项目还提供了一个可选的 Chrome 扩展。打开M3U8 Quicker->设置->安装Chrome扩展,按引导可安装Chrome扩展。

安装后,扩展会在网页中扫描 .m3u8 链接和视频地址,右上角提供快捷入口,点击自动新建下载任务,自动带入常见请求信息,例如 urlrefereroriginuser-agent,可以减少手动复制和整理参数的步骤。

chrome-extension.png

技术栈

前端:React 19、TypeScript、Vite 8、Ant Design 6
桌面端:Tauri 2
后端逻辑:Rust

地址

源码地址:github.com/Liubsyy/M3U…

可前往Release页面下载安装包。