M3U8批量下載工具是一款可以幫助用戶下載網頁中M3U8視頻的下載工具,由于M3U8視頻采用了把視頻分割成很多塊進行傳播的原理,所以傳統工具很難下載M3U8視頻,小編這分享的這款工具親測可用,相信你一定會喜歡的,已經更新了哦!
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
將文件夾路徑填入鏈接框,文件名框留空,點添加 -> 設置下載目錄