N_m3u8DL-RE:3 步把 MPD、M3U8、ISM 流媒体链接下载成本地视频
【免费下载链接】N_m3u8DL-RECross-Platform, modern and powerful stream downloader for MPD/M3U8/ISM. English/简体中文/繁體中文.项目地址: https://gitcode.com/GitHub_Trending/nm3/N_m3u8DL-RE
N_m3u8DL-RE 是一款跨平台流媒体下载器,专门处理 MPD、M3U8、ISM 三类链接。它自动解密加密分片、在多轨内容里帮你选轨,下完直接合并成片。浏览器插件右键"另存为"无效的场景,交给它最合适。
先判断它能不能解决你的问题
| 项目 | 说明 |
|---|---|
| 支持协议 | DASH(MPD)、HLS(M3U8)、MSS(ISM) |
| 内容类型 | 点播 + 直播,含 AES、ChaCha20 等加密分片 |
| 适用平台 | Windows / Linux / macOS |
| 许可证 | MIT |
如果你手里的链接只指向 m3u8 或 mpd 清单文件,页面播得动、下载却存不下来,下面的流程可以照着走。
三步跑通第一条下载命令
先准备程序,再跑一条只带链接的命令:
- Windows:到仓库的 Releases 页面下载 zip,解压即用,不需要安装。
- Linux / macOS:克隆仓库后本地编译,产出可执行文件。
- 执行第一条命令,只放链接,其余全部走默认值。
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下面这条命令用的是 测试流列表 里的公开 DASH 资源,可直接复制运行:
./N_m3u8DL-RE "https://media.axprod.net/TestVectors/v7-Clear/Manifest_1080p.mpd"程序会先打印解析出的音轨和字幕列表,然后自动选最高画质一路下完并合并,成片出现在当前目录。想只看不下,加--skip-download即可,适合先确认它挑了哪些轨。
三个常见实战场景
🔑 如何给加密视频传入解密密钥
你在浏览器 F12 的抓包里拿到了 KID 和 KEY,但链接直接打不开,存的 TS 文件也播不了。把两者按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"预期结果:分片边下边解,最终在当前目录得到demo.mp4,这段测试流约 90 秒。解密实现见 Crypto 源码,程序会自动调用 mp4decrypt 完成,无需你手动处理。
📺 如何限时录制直播并实时合并
你只想留某场直播的前两个小时,录完还要能直接拖进播放器。用--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"预期结果:录满两小时自动停止,./record下得到可直接播放的完整文件,不用等直播结束再后处理。清单的协议解析逻辑在 解析器源码,DASH、HLS、MSS 各对应一个解析器,报"解析失败"时可按协议去对应文件里排查。
🎬 如何按画质与语言挑选音视频轨
一条流里混着多档画质、多语言配音和多种字幕,你只想要最高画质 + 英文配音 + 全部字幕。用-sv、-sa、-ss三个正则参数各挑各的:
./N_m3u8DL-RE "https://media.axprod.net/TestVectors/v7-Clear/Manifest_1080p.mpd" -sv best -sa "lang=en:for=best" -ss all -M format=mp4预期结果:输出到当前目录,-M format=mp4负责混流,文件名自动带语言标记,多路音频不会互相覆盖。
常用参数对照表
| 参数 | 作用 | 示例值 | 使用场景 |
|---|---|---|---|
--save-dir | 指定输出目录 | ./downloads | 不想让文件堆在当前目录 |
--save-name | 指定成片文件名 | course | 批量任务统一命名 |
-M | 下完把分离的音视频混成一个文件 | format=mp4 | 拿到的是分离的视频和音轨 |
--key | 传入解密密钥,可重复 | KID:KEY | 视频是加密的 |
-sv | 按条件挑视频轨 | res="1920*":for=best | 只想要某一档画质 |
-sa | 按条件挑音频轨 | lang=en:for=best | 只要某语言配音 |
-ss | 按条件挑字幕轨 | all | 想保留全部字幕 |
--thread-count | 下载线程数,默认 10 | 16 | 默认线程跑不满带宽 |
-H | 附加请求头,可多次使用 | "Referer: https://..." | 链接有防盗链校验 |
-R | 限速,单位 Mbps 或 Kbps | 15M | 不想占满上行带宽 |
报错速查
| 报错现象 | 可能原因 | 解决办法 |
|---|---|---|
| 请求返回 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),仅供参考