N_m3u8DL-RE 完整指南:一条命令下载并解密 M3U8/MPD/ISM 流媒体
N_m3u8DL-RE 完整指南一条命令下载并解密 M3U8/MPD/ISM 流媒体【免费下载链接】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 是一款免费的跨平台流媒体下载器Windows、macOS、Linux 上行为一致你只需贴入 M3U8、MPD 或 ISM 链接它就自动完成解析、解密、多线程分片下载和音视频混流产出可直接播放的文件。本文带你从安装到进阶用法一次跑通。能力速览能力它是怎么干的三协议解析自动识别 M3U8HLS、MPDDASH、ISM微软 Smooth Streaming读出色度、码率、语言、字幕等轨道信息多线程下载默认 10 个线程并行拉取分片再按顺序拼接落盘自动解密HLS 的 AES-128、ChaCha20 内置实现MP4 CENC 类内容调用 mp4decrypt、Shaka Packager 或 ffmpeg 完成下载后混流分离的音轨自动调用 ffmpeg 或 mkvmerge 合成 mp4 / mkv字幕一并封装临时文件默认自动清理直播录制持续拉取新分片、实时合并可设录制时长、回看起点录满自动收尾正则选轨视频、音频、字幕按分辨率、语言、编码等正则筛选不用手动翻轨道 ID配套工具命令doctor体检环境concat/merge/mux可单独对已有文件做拼接和混流想验证解析能力仓库里的 TestStreams.md 列了一批公开测试流可以直接试完整参数说明以 README.md 为准。安装与首次运行获取可运行版本三种方式任选其一官方发布页下载对应系统的压缩包解压即用不依赖额外运行时Arch Linux 及衍生版社区 AUR 包非作者维护yay -Syu n-m3u8dl-re-bin从源码构建需要 .NET SDKgit clone https://gitcode.com/GitHub_Trending/nm3/N_m3u8DL-RE cd N_m3u8DL-RE/src dotnet build N_m3u8DL-RE.sln跑通第一条命令装好后把链接扔给它、指定一个保存目录其余全部走默认值N_m3u8DL-RE https://example.com/course/lesson1.m3u8 --save-dir ./videos成功后你能看到控制台先列出解析出的各条视频、音频、字幕轨道然后是各分片的下载进度结束时./videos下出现可直接播放的成品文件默认还会输出一份解析信息 json可用--write-meta-json false关掉。到这里工具就跑通了。典型场景实操场景一多轨课程点播自动挑最优音视频并合成 mp4课程流里往往混着好几档分辨率和多条音轨不想自己判断哪条最好时把选择权交给程序N_m3u8DL-RE https://example.com/stream.m3u8 --auto-select -M formatmp4--auto-select自动为每种类型挑最佳轨道-M formatmp4表示下载完成后把分离的音视频混流进 mp4 容器。执行完直接得到单一成品文件不用自己再跑一遍 ffmpeg。同一类需求也可以用-sv best -sa best手动指定选最佳。场景二定时录制直播错过开头还能回看补录直播持续三小时只录前 90 分钟、边录边合命令长这样N_m3u8DL-RE https://example.com/live/manifest --live-record-limit 01:30:00 --live-real-time-merge--live-record-limit到点自动收尾--live-real-time-merge让分片录下来实时合并、不用等结束。如果开头错过了--live-catchup可以从一段历史时间接着下例如从一小时前开始、只录 30 分钟并输出 mkvN_m3u8DL-RE https://example.com/live/manifest --live-catchup 01:00:00 --live-record-limit 00:30:00 --live-real-time-merge -M mkv前提是清单里带可靠的时间信息且起点仍在服务端的回看窗口内按完整分片下载边界会有轻微偏差。网络不稳定的环境建议别开--live-pipe-mux管道 ffmpeg 实时混流进 TS管道读数据由 ffmpeg 负责弱网下容易丢直播数据。场景三拿到 KID 和 KEY解密带保护的内容抓包拿到 KID密钥 ID和 KEY 之后直接传给程序即可格式是KID:KEYN_m3u8DL-RE https://example.com/protected.mpd \ --key 4a3b2c1d-8e6f-4a5b-9c7d-1e2f3a4b5c6d:0f1e2d3c4b5a69788796a5b4c3d2e1f0 \ --save-name protected_video多条密钥就重复传--keyKEY 相同时也可以只写 KEY 不写 KID。解密环节由第三方工具完成默认走 mp4decrypt实现与引擎切换见 Crypto 目录网站还要求 Cookie 或特定请求头时用-H逐条附加或把浏览器导出的 Netscape 格式 Cookie 文件交给--cookies。参数速查参数作用-sv/-sa/-ss正则选择视频 / 音频 / 字幕轨如-sv res3840*:forbest--auto-select自动选择所有类型的最佳轨道--thread-count覆盖默认下载线程数默认 10-H/--cookies附加请求头 / 读取 Netscape 格式 Cookie 文件--custom-range只下部分片段如05:00-20:00表示第 5 到 20 分钟--live-record-limit直播录制时长上限格式 HH:mm:ss--live-catchup从指定历史时间或日期时间开始补录-M下载完成后混流如-M formatmp4--key传入KID:KEY用于解密可多次传入--custom-proxy指定请求代理如http://127.0.0.1:7890--log-level日志级别 DEBUG / INFO / WARN / ERROR / OFF排错开 DEBUG两个需要了解的切换项解密引擎--decryption-engine MP4DECRYPT|FFMPEG|SHAKA_PACKAGER默认 MP4DECRYPT。三者对某些 CENC 加密方案的兼容性不同某一路走不通时换另一路试试工具路径用--decryption-binary-path指定。混流容器与工具-M除formatmp4|mkv|ts外还能指定muxerffmpeg|mkvmerge及bin_path自定义程序路径例如-M formatmkv:muxermkvmerge选流参数-sv的详细正则项id、lang、codecs、res、frame、bwMin 等可用--morehelp select-video在程序内查看。踩坑与排错混流报错找不到 FFmpeg或成品文件无法播放先安装 ffmpeg 并确认它已在 PATH 中可用N_m3u8DL-RE doctor检查环境、确认程序能定位到各工具再重跑下载观察混流阶段是否还报错最后仍不行就显式指定路径--ffmpeg-binary-path /path/to/ffmpegWindows 下同理指向 ffmpeg.exe。密钥明明给了解密却还是失败先检查KID:KEY的写法去掉引号内多余空格、确认冒号分隔再确认这把 KEY 确实属于该 KID——多密钥场景下每一条--key都要传全最后切换引擎重试如--decryption-engine FFMPEG或SHAKA_PACKAGER不同引擎对部分 CENC 方案的兼容性不一致。请求总被网站拦截401/403先补齐鉴权信息把浏览器里的 Cookie、User-Agent 用-H Cookie: ...-H User-Agent: ...追加或直接--cookies cookies.txt再考虑代理加--custom-proxy http://127.0.0.1:7890走本地代理最后把--log-level调到 DEBUG 看完整请求日志定位到底是哪一步被拒。老版本 Windows 终端里输出乱码或显示不正常先在较新的系统终端或 cmder 中重跑再试--no-ansi-color去除 ANSI 颜色输出最后用--log-level ERROR收窄日志量避免彩色进度输出刷屏干扰判断。写在最后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),仅供参考