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

3 天前
 liubsyy

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

背景

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

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

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

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

特性

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

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

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

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

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

Chrome 扩展

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

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

技术栈

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

地址

源码地址: https://github.com/Liubsyy/M3U8Quicker

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

1200 次点击
所在节点    分享创造
19 条回复
zhangchongjie
3 天前
后续会支持火狐吗
liubsyy
3 天前
@zhangchongjie 可以的,常用的浏览器后续会考虑支持
lukaz
3 天前
很不错,已 star
liubsyy
3 天前
@lukaz 感谢支持,后续会持续优化
liubsyy
3 天前
@zhangchongjie 已支持 Chrome 扩展、Firefox 扩展和 Microsoft Edge 扩展。另外基于 Chromium 的浏览器 Brave / Vivaldi / Opera / Arc 都支持直接安装 Chrome 扩展。
zyxk
3 天前
如果用扩展也必须下载软件吗?
liubsyy
3 天前
@zyxk 扩展和软件本体是一套的,扩展只是为了快速新建下载任务
liuxyon
3 天前
能下 qiyi 么
zhangchongjie
3 天前
感谢,我最近在学习 rust 了,学习下。可以打包到 nixos 仓库吗
playniuniu
3 天前
感觉很不错,已 Star 。

顺便问一下,是否增加对代理的支持
liubsyy
3 天前
@playniuniu 支持的
zhoudaniu
3 天前
加油 加油
iorilu
2 天前
能下一些成人网站比如 porhhub, xvideo 吗
liubsyy
2 天前
@iorilu 试试就知道了
liubsyy
2 天前
@iorilu 访问外网要设置里打开代理
iorilu
1 天前
https://www.ted.com/talks/yi_li_the_missing_piece_in_climate_action_it_s_not_what_you_think


@liubsyy 测试了个 ted 视频, 抓下来合并得 mp4 好像没有音频
liubsyy
1 天前
@iorilu 试了下,ted 网站是音频和视频分离的只下载了视频,我后续会兼容音视频分离的网站,还有各种格式、各种加密网站
iorilu
1 天前
@liubsyy 可以, 如果能兼容性强, 兼容网站多, 还是有价值得
liubsyy
22 小时 44 分钟前
@iorilu 是的,必须得来点黑科技才能和类似软件区分开来

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1203775

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX