N_m3u8DL-RE流媒体下载工具实用指南:5分钟跑通 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
N_m3u8DL-RE 是一款跨平台流媒体下载工具,支持 HLS(M3U8)、DASH(MPD)、MSS(ISM)三种协议,能下载加密点播视频、录制直播并回看历史直播,适合需要备份课程、录制会议或处理流媒体的普通用户与开发者。下文的流程大约 5 分钟就能让你跑通第一次下载。
从点播到直播:能力与命令速查表
这一节给你全局视图:下表把常见使用目标映射到对应的命令或参数,后文不会展开的用法也可以直接查这里。
| 使用目标 | 对应命令或参数 |
|---|---|
| 下载点播 M3U8/MPD 链接 | N_m3u8DL-RE "<URL>" |
| 自动选最佳音视频与字幕 | --auto-select |
| 按分辨率、编码、码率筛选 | -sv res="1920*":codecs=avc1 |
| 限制直播录制时长 | --live-record-limit 01:00:00 |
| 直播边录边实时合并 | --live-real-time-merge |
| 从过去某时刻回看直播 | --live-catchup "01:00:00" |
| 解密加密流 | --key/--decryption-engine |
| 访问需 Cookie 的流 | --cookies cookies.txt |
| 合并、混流已下载分片 | concat、merge、mux子命令 |
| 检查运行环境 | doctor |
安装并跑通第一条下载命令
这一节解决"怎么拿到能用的程序"的问题。N_m3u8DL-RE 是 .NET 程序,源码编译需要 .NET 10 SDK;不想编译的话,也可以从项目的 Release 页下载预编译版本,解压即用。环境就绪后,首次下载只需两步:
git clone https://gitcode.com/GitHub_Trending/nm3/N_m3u8DL-RE cd N_m3u8DL-RE && dotnet build src/N_m3u8DL-RE.sln -c Release # 用仓库 TestStreams.md 里的示例点播流 N_m3u8DL-RE "https://media.axprod.net/TestVectors/v7-Clear/Manifest_1080p.mpd" --auto-select --save-dir ./out程序会自动解析清单、选择最佳轨道、下载并合并分片,成品视频落在./out目录。仓库里的 TestStreams.md 还列了其他点播与直播示例,适合验证不同协议。
加密流下载深讲:三种给密钥的方式
这一节解决"清单能打开、分片下回来却全是乱码"的问题。流媒体平台常用 AES-128 或 CENC 加密,密钥需要你自己提供,N_m3u8DL-RE 支持三种途径:
--key KID:KEY直接给出密钥,多条可重复传入;--key-text-file keys.txt从文件按行读取KID:KEY;--custom-hls-method AES_128配合--custom-hls-key,在工具未正确识别加密方式时手动指定;--decryption-engine FFMPEG|MP4DECRYPT|SHAKA_PACKAGER可切换执行解密的第三方工具。
# 直接提供密钥 N_m3u8DL-RE "https://example.com/enc.mpd" --key "9eb4050de44b4802:166634c675823c2" # 从文件读密钥,并用 FFmpeg 解密 N_m3u8DL-RE "https://example.com/enc.m3u8" --key-text-file keys.txt --decryption-engine FFMPEG解密工具实现位于 src/N_m3u8DL-RE/Crypto/,HLS 密钥解析逻辑在 src/N_m3u8DL-RE.Parser/Processor/HLS/。
直播录制深讲:限时长、实时合并与回看
这一节覆盖直播场景的三个高频需求:录多久、要不要边录边合并、如何从过去某时刻开始。
# 录制 1 小时直播并实时合并,结束后直接得到完整文件 N_m3u8DL-RE "https://example.com/live.m3u8" --live-record-limit 01:00:00 --live-real-time-merge # 从 1 小时前回看,录 30 分钟并混流为 MKV N_m3u8DL-RE "https://example.com/live.mpd" --live-catchup "01:00:00" --live-record-limit "00:30:00" --live-real-time-merge -M mkv注意回看依赖清单提供可靠的时间信息,且起点必须仍在服务端回看窗口内;分片按完整段下载,边界可能略有偏差。直播流程的调度与断线恢复实现见 src/N_m3u8DL-RE/DownloadManager/。
常见故障现象与处理办法
这一节按"现象 → 原因 → 处理"列出四个最高频的问题,出问题时可按序排查:
- 请求返回 403/401:服务器校验身份,默认标识或缺少登录态被拒。用
-H "User-Agent: ..."换成浏览器标识,或从浏览器导出 Netscape 格式 Cookie 后以--cookies cookies.txt传入;同时设置了-H "Cookie: ..."时以请求头为准。 - 合并出的文件无法播放或花屏:分片未解密或解密结果异常。先看日志确认密钥是否生效,换用
--decryption-engine SHAKA_PACKAGER或FFMPEG;HLS 流识别错加密方式时用--custom-hls-method强制指定。 - FFmpeg 合并、混流步骤报错:环境缺少 FFmpeg 或路径找不到。先运行
N_m3u8DL-RE doctor自检工具链,再用--ffmpeg-binary-path明确指定可执行文件位置。 - 直播录制卡住或中断:流暂时没有新分片或网络波动。加
--live-idle-timeout在连续无新分片时自动停止,用--http-request-timeout与--download-retry-count放宽超时和重试。
文档入口与合法使用提醒
N_m3u8DL-RE 覆盖了从清单解析、加密分片下载到直播录制的完整链路,是流媒体下载里功能完整的选择。全部参数说明见 README.md,源码按解析器、下载管理、后处理等模块组织在 src/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),仅供参考