☰
加密 m3u8 下不动?N_m3u8DL-RE 流媒体下载工具 3 个场景实战
2026/10/20 1:31:33 网站建设 项目流程

加密 m3u8 下不动?N_m3u8DL-RE 流媒体下载工具 3 个场景实战

【免费下载链接】N_m3u8DL-RECross-Platform, modern and powerful stream downloader for MPD/M3U8/ISM. English/简体中文/繁體中文.项目地址: https://gitcode.com/GitHub_Trending/nm3/N_m3u8DL-RE

浏览器插件全失效,右键"另存为"只拿到一堆 .ts 碎片,加密网课点了下载按钮转圈半天没反应——拿到 m3u8 链接后,很多人卡在这一步。N_m3u8DL-RE 是一款跨平台 m3u8 下载工具:把 DASH/HLS/MSS 清单贴给它,它负责解析清单、挑选音轨、解密加密分片、合并成片,全程一条命令。按本文顺序走一遍,你会装好工具、跑通第一条下载命令,再分别处理加密课、多语言音轨和直播录制三件实事。

工具速览

  • 定位:命令行流媒体下载器,输入 MPD / M3U8 / ISM 链接或本地清单文件即可,不用装浏览器插件。
  • 协议:DASH(MPD)、HLS(M3U8)、MSS(ISM) 各一套解析器,覆盖点播与直播;加密分片支持 AES、ChaCha20 等。
  • 平台:Windows、Linux、macOS 通用;Windows 解压即用,其余平台用 dotnet build 编译一次。
  • 许可证:MIT。
  • 外部依赖:混流和部分合并依赖本机 ffmpeg,分片解密走 mp4decrypt,发布包里已带上这两个工具。

清单的解析逻辑分布在src/N_m3u8DL-RE.Parser/下的 DASH、HLS、MSS 三个解析器里,报"解析失败"时可按协议找对应文件排查。

跑通第一条命令

Windows 用户:到仓库 Releases 页面下载对应平台的 zip,解压后直接运行里面的可执行文件,不用安装。Linux / macOS 用户需要本机装好 .NET SDK,克隆后编译一次:

git clone https://gitcode.com/GitHub_Trending/nm3/N_m3u8DL-RE cd N_m3u8DL-RE dotnet build src/N_m3u8DL-RE.sln -c Release

最小命令只放链接,其余全走默认值:

./N_m3u8DL-RE "https://storage.googleapis.com/shaka-demo-assets/angel-one-hls/hls.m3u8"

启动后它先打印清单里全部音视频和字幕轨,然后自动选最高画质一路,下完自动合并,成片落在当前目录。想先看清它挑了哪些轨再决定,加--skip-download只解析不下载。

🎬 三个真实场景

加密 m3u8:F12 抓到 KID 和 KEY 后用 --key 传进去

你在 F12 里看到清单带着 ext-key 标记,把 KID 和 KEY 从 license 请求里抄出来,拼成KID:KEY贴给--key:

./N_m3u8DL-RE "https://media.axprod.net/TestVectors/v7-MultiDRM-SingleKey/Manifest_1080p_ClearKey.mpd" \ --key "9eb4050de44b4802932e27d75083e266:166634c675823c235a4a9446fad52e4d" \ -M format=mp4 --save-name clearkey-lesson

分片边下边解,最终在目录里得到clearkey-lesson.mp4,播放器直接打开就是明文画面。解密调用逻辑在 src/N_m3u8DL-RE/Crypto/ 模块,解密引擎可用--decryption-engine换成 ffmpeg 或 shaka-packager。

多音轨选择:画质、配音、字幕各挑各的

一条 NHK 点播流里混着多路语言音轨和 VTT 字幕,你只想要最高画质、日语配音和全部字幕:

./N_m3u8DL-RE "https://masterpl.hls.nhkworld.jp/hls/w/202922320260226001/master.m3u8" \ -sv best -sa "lang=ja:for=best" -ss all \ -M format=mp4

-sv、-sa、-ss各吃一个正则条件组:视频挑最高档,音频只留日语最佳一路,字幕全收;混流后文件名自动带语言标记,几路音频不会互相覆盖。

直播录制:限时录制加实时合并

你只想留今晚这场直播的前五分钟做回看,录完还要能直接拖进播放器:

./N_m3u8DL-RE "https://masterpl.hls.nhkworld.jp/hls/live/smarttv.m3u8" \ --live-real-time-merge --live-record-limit 00:05:00 --save-dir ./record

录满 5 分钟自动停止,过程中分片被实时合并,./record里直接是一个可播放的完整文件,不用等播完再处理。

参数速查

参数一句话作用示例值什么时候用
--key传入解密密钥,格式 KID:KEY9eb405...:166634...流是加密的
-sv按正则挑视频轨res="3840*":for=best只要某一档画质
-sa按正则挑音轨lang=en:for=best只要指定语言配音
--live-record-limit给直播录制限时长00:05:00只录前段不录全程
--save-dir指定输出目录./downloads不想堆在当前目录
-H附加请求头,可重复"Referer: https://page.example.com"链接有防盗链校验
--thread-count调整下载线程数8默认线程跑不满带宽
--ffmpeg-binary-path指明 ffmpeg 可执行文件位置/usr/local/bin/ffmpegffmpeg 不在 PATH 里

🛠 遇到问题先看这

下载直接 403?服务器在查来源页。用-H "Referer: 来源页地址"和-H "Cookie: 登录态"补上请求头,或把浏览器导出的 Cookie 文件交给--cookies cookies.txt,它会对清单、密钥和分片统一生效。

混流时报找不到 ffmpeg?下载本身不依赖 ffmpeg,但-M混流要调它。装好后加--ffmpeg-binary-path指到可执行文件,Windows 同理指向 exe 全路径。

解密失败、提示密钥无效?多半是 KEY 不是 32 位十六进制,或KID:KEY中间漏了冒号。回 F12 抓包原文核对,两个字段都必须是 32 位十六进制,格式不对程序会直接拒绝。

单连接速度被网站掐住?这是站点按连接限速。加--thread-count 8起多线程,默认线程数跟随 CPU 核数,跑不满带宽时手动调大即可。

中途断网,成片不完整?重新跑同一条命令,加--custom-range 10-只补第 10 个分片之后的内容,保留完整分片、不做精确裁切,避免整单重下。

收尾

清单解析、选轨、解密、合并,四步都压在同一条命令里,剩下的只是参数写法。拿 TestStreams.md 里的公开测试流跑几轮,再换成你自己的链接。提醒一句:只下载你拥有合法权限的内容,版权责任由使用者自行承担。

【免费下载链接】N_m3u8DL-RECross-Platform, modern and powerful stream downloader for MPD/M3U8/ISM. English/简体中文/繁體中文.项目地址: https://gitcode.com/GitHub_Trending/nm3/N_m3u8DL-RE

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询