M3U8下载工具特点:
- 使用Aria2作为下载引擎,避免网络波动导致下载卡死
- 允许插件接管部分步骤,以兼容不同加密的处理
- 提供丰富的选项以供自定义
- 针对本地缓存优化,可快速合并浏览器缓存
M3U8下载工具使用说明:
选项解释
选项名称 | 解释 |
---|---|
导入配置 | 批量下载使用 |
修改同时下载数 | 修改同时下载的分片数量,以提高下载速度(默认为3) |
修改重试次数 | 设置分片下载失败后的重试次数,失败次数超过则任务失败(默认为3) |
修改连接超时 | 设置请求建立连接的超时时间,(默认为0,不限制) |
更改Aria2配置 | 如需更改Aria2配置,请在此处更改。不要直接修改配置文件 |
自定义协议头 | 如果网站会验证UA、cookie等协议头内容时,可在此自定义(RAW格式,请不要添加HOST) |
分片忽略失败 | 当下载失败次数超过重试次数时,会忽略当前分片继续接下来的任务 |
启用数据校验 | 下载多次数据进行比对,如两次下载不一致则继续下载,直到出现相同分片为止 |
强制使用内置下载 | 某些网站会屏蔽aria2的请求,可使用内置的curl继续下载(aria2启动失败时默认勾选) |
手动选择码流 | 如m3u8内存在多种清晰度,且不希望下载最高,请勾选 |
封装方式 | 可选mp4、flv、ts、raw(二进制拼接)、禁用合并(仅下载分片并解密) |
启用预合并 | DIS标记之间的分片会使用二进制拼合,默认勾选 |
禁用concat方式 | 此方式会在识别为非ts格式以及存在DISCONTINUITY标签时使用,勾选后将改为直接拼接 |
保留缓存 | 勾选后将不清理下载的分片文件 |
启用队列备份 | 备份队列,防止意外情况下丢失下载列表,备份文件位于运行目录下backup |
禁用网络状态识别 | 工具带有断网暂停功能。如感觉影响到使用,请选中此项 |
禁用分片有效性校验 | 工具下载首分片后会校验此分片是否正确,如认为工具识别不正确可勾选此项忽略 |
解密方式 | CBC/ECB/不解密 可选,默认CBC |
如何调用
EXE调用
运行下载器时传入配置文件的绝对路径
如:m3u8.exe D:\1.txt
http方式(推送)
参数 | 内容 | 说明 |
---|---|---|
链接 | http://127.0.0.1:端口号/ | 端口号默认为8787,如已被占用会顺延 |
请求方式 | POST | |
请求参数(模式1) | data=base64编码后的配置内容 | GBK编码,勿使用UTF-8 |
请求参数(模式2) | data=配置内容,type=2 | 推荐JSON格式请求。会根据请求方式自动判断编码 |
注:使用此方式时下载器需已启动,请求成功会响应json
此方式提供易语言的模块以方便推送(需E2EE互联网服务器套件2.7.2版本及以上)
http方式(查询)
名称 | 内容 | 说明 |
---|---|---|
链接 | http://127.0.0.1:端口号/info | 端口号默认为8787,如已被占用会顺延 |
查询 | 无参数 | - |
查询(含失败列表) | fail-1 | - |
清空列表(执行列表) | control-1;type-1 | 正在执行的任务不会被清理 |
清空列表(失败列表) | control-1;type-2 | - |
返回结果 | 解释 |
---|---|
queueTotal | 剩余任务数 |
queueTotalReal | 剩余任务数(去除#命令任务) |
failTotal | 失败任务数 |
failureList | 失败列表详情 |
executing | 正在执行的任务 |
->name | 任务名 |
->url | 链接 |
->total | 总分片数 |
->remain | 剩余分片数 |
ver | 当前下载器版本 |
配置文件结构
配置文件格式
名称(或参数名),链接(或参数值)、一行一条、英文逗号分割。注:参数任务为单独一条任务,换行需使用\r\n
例如
希望将目录更改为D盘,下载2个文件后改为E盘,则配置内容应是
复制代码 隐藏代码
#OUT,D:\
第一个文件名,第一个链接
第二个文件名,第二个链接
#OUT,E:\
第三个文件名,第三个链接
可选参数
参数项(需使用大写) | 解释 |
---|---|
#HEAD | 自定义协议头,需base64编码 |
#OUT | 指定输出目录,需绝对路径 |
#NFAIL | 分片忽略失败,1为启用 |
#CLOSE | 完成后关机,1为启用 |
#CHECK | 启用数据校验,1为启用 |
#KEY | 自定义key,仅对下一行任务生效,可使用hex或base64 |
#CACHE | 保留缓存,1为启用 |
#NKEY | 忽略KEY标签,1为启用 |
#NETCHECK | 禁用网络状态识别,1为启用 |
#NTSCHECK | 禁用分片有效性校验,1为启用 |
#IDOWN | 使用内置下载,1为启用 |
#NCONCAT | 禁用concat方式,1为启用 |
#AGENT | 设置代{过}{滤}理 |
#FORMAT | 封装格式,可选参数为:ts,raw,mp4,flv,null(禁用合并) |
#DECMETHOD | 解密方式,可选参数为:ecb,cbc,null(禁用解密) |
合并助手
为方便某些用户手工合并的需求,增加合并助手的功能
使用方式
将分片全选后拖入后,使用自动排序或手工拖拽排序后,填入IV(可空),拖入或手工填入key(支持base64或hex或原文),点击添加即可
使用中可能遇到的问题
key无效或下载失败
需自行逆向,获取到算法后可编写插件或导入原始key以实现批量下载
提示相对链接
使用写字板(或其他第三方文本编辑器)打开m3u8文件,在文件第一行后新增一行,#BASEURL:m3u8所在目录(以/结尾)
,以指定baseurl
例如m3u8链接为http://111.com/123/1.m3u8?a=123
,则应添加#BASEURL:http://111.com/123/
引用本地文件
直接替换链接即可,需使用绝对路径,路径前需加file@以指定为本地文件
key允许使用base64:[BASE64编码后的key]
的格式在文件内引用
将M3U8内容带入配置文件
1、构造JSON(参数为:data-m3u8内容;baseurl-文件链接所在目录,用于解决相对链接问题,以/结尾,可省略)
2、将json文本BASE64编码(需GBK)
3、加上前缀base64:
作为配置中的链接即可
例如:名称,base64:eyJkYXRhIjoiI0VYVE0zVSJ9
合并浏览器缓存
将m3u8文件与ts以及key(如果有)放在一起,将m3u8拖入即可,工具会自动判断路径
小技巧
将文件夹拖入->将文件夹目录设为下载目录
将16字节的文件拖入->将拖入文件设置为key
将key(HEX/base64/原文)填入链接框,文件名框留空,点添加 -> 设置key
将文件夹路径填入链接框,文件名框留空,点添加 -> 设置下载目录