SuperTV M3U8 下载工具 是一个基于开源 get-m3u8 视频下载工具修改而来。无需安装任何软件,只需打开网站即可下载视频。它支持自动检测 M3U8 链接并提供一键下载功能,方便快捷。
- 无需安装:直接在浏览器中使用,无需下载和安装客户端。
- 主播放列表解析多清晰度: 已支持对子播放列表(多清晰度)进行解析,可选择清晰度进行下载。
- URL参数识别:
//支持通过URL传入参数m3u8url和m3u8title自动识别并设置 M3U8 链接及标题,并打开下载选择弹窗。如:
http://deployurl/?m3u8url=m3u8链接&m3u8title=标题
//也支持原版的?source=参数传入m3u8链接后直接下载,无需弹窗确认。如:
http://deployurl/?source=https://xxx/xxx.m3u8
- 解密处理 :实施了 #EXT-X-KEY 和 #EXT-X-MAP 的检查,以正确处理解密。
- 增强的错误处理 :改进了解密失败和区段下载的错误处理。
- **AES 解密逻辑优化 **:确保仅当方法不是 NONE 时才进行解密#EXT-X-KEY:METHOD=NONE时不解密,避免下载失败。
- CDN加速: 将部分依赖文件改为cdn引入,提高网页加载速度。
- 一键下载:输入 M3U8 链接后,点击下载按钮即可开始下载。
- 范围下载:支持指定下载视频片段(起始和结束片段)。
- AES 解密:支持对 AES 加密的 M3U8 视频进行解密。
- 多任务管理:支持同时下载多个任务,并可暂停或取消任务。
- 格式选择:可以选择将视频保存为 TS 或 MP4 格式。
- 流式下载:支持流式写入视频文件,减少内存占用。
在主页的输入框中粘贴或手动输入有效的 M3U8 链接,或通过URL参数传入m3u8链接,然后点击"新建下载"按钮。
- 范围下载:勾选"范围下载"以指定起始和结束片段。
- 保存格式:选择视频保存为
TS或MP4格式。 - 流式下载:启用流式下载以提高大文件处理效率。
确认设置后,点击"开始下载"按钮,工具会自动解析 M3U8 文件并开始下载视频片段。
- 暂停/继续:点击"暂停下载"或"继续下载"来控制当前任务。
- 重试:如果下载失败,可以点击"重试"重新下载特定片段。
- 取消任务:选中任务后点击"删除任务"取消下载。
每个任务会显示下载进度、错误次数和剩余时间等信息。
- Vue.js:用于构建用户界面,管理状态和交互逻辑。
- DPlayer:集成 DPlayer 播放器,支持在线播放视频。
- HLS.js:用于解析和播放 HLS 流媒体。
- M3U8 解析:通过 AJAX 请求获取 M3U8 文件内容并解析视频片段链接。
- AES 解密:支持对 AES 加密的视频进行解密处理。
- 流式写入:使用
StreamSaver.js实现流式写入视频文件,避免内存溢出。 - 转码为 MP4:使用
mux.js将 TS 片段转码为 MP4 格式。
- 浏览器兼容性:部分功能依赖现代浏览器特性,可能在旧版浏览器中无法正常工作。
- 网络稳定性:下载过程中需要稳定的网络连接,断网可能导致下载失败。
- 文件大小限制:受浏览器内存限制,超大文件下载可能会导致性能下降。
如果遇到下载大小异常,播放异常:推荐保存格式为TS,关闭边下边存,下载完成后手动将ts文件重命名为mp4即可。 如果下载后无法拖动进度条:对视频使用ffmpeg -c:v copy -c:a copy,可以修复此问题。出现其他异常时可尝试使用ffmpeg进行修复。
感谢以下开源项目的贡献: