N_m3u8DL-RE 使用指南:一条命令搞定 m3u8 下载、MPD 加密解密与直播录制
【免费下载链接】N_m3u8DL-RECross-Platform, modern and powerful stream downloader for MPD/M3U8/ISM. English/简体中文/繁體中文.项目地址: https://gitcode.com/GitHub_Trending/nm3/N_m3u8DL-RE
浏览器里右键"另存为"只能存下一个空的 m3u8 文件,下载插件逐个阵亡——这就是流媒体链接的常态。N_m3u8DL-RE 是为此而生的跨平台命令行流媒体下载器:MPD/M3U8/ISM 清单自动解析,加密分片自动解密,多音轨字幕自动挑选,下完直接合并成片,一条命令走完全流程。
工具速览
| 项目 | 说明 |
|---|---|
| 定位 | 跨平台命令行流媒体下载器,点播 + 直播双场景 |
| 支持协议 | DASH(MPD)、HLS(M3U8)、MSS(ISM) 三类清单 |
| 加密处理 | AES、ChaCha20 等加密分片边下边解,自动调用 mp4decrypt |
| 适用平台 | Windows / Linux / macOS |
| 许可证 | MIT |
三步上手
第一步:把工具装到手边
- Windows:去仓库 Releases 页下载压缩包,解压即用,零安装。
- Linux / macOS:克隆后本地构建:
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://media.axprod.net/TestVectors/v7-Clear/Manifest_1080p.mpd"第三步:验证产物
程序会先打印解析出的音轨与字幕列表,然后自动挑最高画质的一路下完并合并,成片直接落在当前目录。想先看看它到底会挑哪些轨再决定?在命令后追加--skip-download,只解析不下载,列表打印完即退出。
进阶三场景
加密视频怎么传 KID:KEY
场景:你在浏览器 F12 里抓到了加密课链接的 KID 和 KEY,浏览器插件却解不了密。
命令:两者按KID:KEY格式拼进--key:
./N_m3u8DL-RE "https://azclwds01.akamaized.net/4e8f6858-5d05-4e28-83ab-48c7a2b259e1/XVuosg_tab_hd.ism/Manifest" \ --key "e5114f87b3e54b9faca331e6e6d646a6:55c5d9f1cedfd018b75623f2565a1d29" \ -M format=mp4 --save-name "demo"你会得到什么:分片边下载边解密(解密实现在 src/N_m3u8DL-RE/Crypto/),最终产出demo.mp4;这条测试流约 90 秒,几十秒内就能跑完。
直播只录两小时怎么做
场景:某场直播你只需要前两个小时,录完还要能直接播放,不想等播完再手动处理。
命令:--live-record-limit限时,--live-real-time-merge边录边合并:
./N_m3u8DL-RE "https://cmafref.akamaized.net/cmaf/live-ull/2006350/akambr/out.mpd" \ --live-real-time-merge --live-record-limit "2:00:00" --save-dir "./record"你会得到什么:录满两小时自动停,产出已合并的完整 MKV,存放在./record下,随时可播。
多语言音轨字幕怎么挑
场景:一条流里塞了多语种配音和若干字幕,你只要最高画质 + 英文配音。
命令:-sv/-sa/-ss三个正则参数各管各的:
./N_m3u8DL-RE "https://example.com/stream.m3u8" \ -sv best -sa "lang=en:for=best" -ss all -M format=mp4你会得到什么:输出到当前目录,文件名自动带语言标记,多路音轨互不覆盖。-sv best取最高画质,-sa "lang=en:for=best"取最佳英文音轨,-ss all收全部字幕,-M format=mp4完成混流。
参数速查
| 参数 | 作用 | 示例 | 什么时候需要它 |
|---|---|---|---|
--save-dir | 指定输出目录 | ./downloads | 不想让文件堆在当前目录 |
--save-name | 指定成片名 | course | 批量任务统一命名 |
-M | 下完把音视频混成一个文件 | format=mp4 | 拿到的是分离的音视频轨 |
--key | 传入解密密钥 | KID:KEY | 视频是加密的 |
-sv | 按条件挑视频轨 | res="1920*":for=best | 只想要某一档画质 |
--thread-count | 下载线程数 | 16 | 默认线程跑不满带宽 |
-H | 附加请求头,可重复使用 | "Referer: https://..." | 链接有防盗链校验 |
-R | 限速 | 15M | 不想占满上行带宽 |
--skip-download | 只解析不下载 | --skip-download | 想先确认选轨结果 |
各协议的清单解析逻辑分散在 src/N_m3u8DL-RE.Parser/,DASH、HLS、MSS 各有一个解析器,报"解析失败"时可按协议去对应文件里查。
问题自查清单
- 403 拒绝访问→ 缺浏览器侧请求头 → 用
-H "Referer: 来源页"和-H "Cookie: 登录态"补上 - 解密失败→
KID:KEY之间少了冒号或 KEY 不完整 → 核对 F12 抓包原文,KEY 必须是 32 位十六进制 - 提示找不到 ffmpeg→ 混流依赖本机 ffmpeg 但它不在 PATH → 装好后用
--ffmpeg-binary-path指到可执行文件 - 速度被网站掐住→ 单连接被限速 → 加
--thread-count 16开多线程 - 成片不完整→ 中途断网丢了分片 → 用
--custom-range 10-只补第 10 个分片之后的内容
写在最后
N_m3u8DL-RE 把"解析、选轨、解密、合并"四步压进一条命令,流媒体本地化的门槛到此基本清零。建议先拿上面那条公开测试流跑一遍确认环境没问题,再换成你自己的链接。
请只下载你拥有合法权限的内容,版权责任由使用者自行承担。
【免费下载链接】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),仅供参考