零门槛上手:3 步跑通 N_m3u8DL-RE,m3u8 下载、直播录制与排错一次讲清
【免费下载链接】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(DASH)、.m3u8(HLS)、.ism(MSS)三种清单格式,兼顾点播下载和直播录制。适合想凭链接存下一门课、一集剧,或把直播节目录下来的人。本文按一条路线带你走:装好程序并验证 → 跑通最小命令 → 按场景执行 → 出问题快速定位。
动手前:在任意平台装好程序并用一条命令验证
程序基于 .NET 10 构建,Release 产物是预编译的自包含文件,装上就能直接运行,不用另外安装 .NET 运行时;只有从源码自己编译时才需要 .NET 10 SDK。各平台获取产物后用一条命令完成验证:
- Windows:从 Release 页面取对应平台的压缩包,解压到任意目录,在该目录下执行
N_m3u8DL-RE --version。 - macOS:下载 macOS 产物,执行
chmod +x N_m3u8DL-RE加上执行权限,再用./N_m3u8DL-RE --version确认。 - Linux:Arch 系发行版用 AUR 安装,
yay -Syu n-m3u8dl-re-bin,其中 bin 包是稳定版、git 包是开发版;其他发行版取 Release 产物,加执行权限后同样用--version验证。
版本号能正常打出来,安装这步就算完成,后续操作都以该目录为执行目录。
⚡ 先跑通一条命令:下载你的第一个 m3u8
最小命令只需要两个必填要素:一个输入、一个保存名。
./N_m3u8DL-RE "https://example.com/course.m3u8" --save-name my_course执行后程序解析清单、按默认策略选流、多线程抓取分片再合并,最后得到名为 my_course 的成品文件。把这条命令拆开看:
<input>:清单链接或本地清单文件路径,唯一必填项。清单是份"目录":本身不含视频,只列出每个分片的地址与参数。--save-name:成品文件名,省略时使用自动生成的保存名。--save-dir:输出目录,默认当前工作目录。-sv/--select-video、-sa/--select-audio:用正则或 best 选视频轨、音轨,默认自动各选一条。--thread-count:下载线程数,默认取本机 CPU 逻辑核数。
还有两个默认行为值得记住:--del-after-done默认开启,合并完成后自动删除临时分片;--check-segments-count默认开启,会核对实际下载分片数与清单预期是否一致。
🧭 按你的任务来:四个最常见场景
1. 拿到整部内容一条链接对应一部完整内容,无需选段或特殊参数时用。
./N_m3u8DL-RE "https://example.com/course.m3u8" \ --save-name my_course -sv best -sa best比最小命令只多-sv best -sa best:明确取分辨率最高的视频轨和码率最高的音轨,而不是交给自动选轨。
2. 盯住直播目标是持续更新的直播流,要录到指定时长为止,也可以从历史时间点回看。
./N_m3u8DL-RE "https://example.com/live.m3u8" --save-name live \ --live-real-time-merge --live-record-limit 02:00:00多出的两个参数各管一件事:--live-real-time-merge让录制过程同步合成完整文件,而不是结束后才处理分片;--live-record-limit 02:00:00限定录两小时后自动停止。
3. 只留中间一段清单里只需要某段时间,前后部分都不想要时用。
./N_m3u8DL-RE "https://example.com/course.m3u8" \ --save-name part --custom-range 05:00-20:00--custom-range时间格式为 MM:SS 或 HH:MM:SS,只保留起始时间落在区间内的完整分片,不做精确裁切;也支持10-、-99这类按分片序号的写法。
4. 一批一起跑输入是多个文件或多个链接,参数完全相同时,适合写进循环。
for url in list1.m3u8 list2.m3u8 list3.m3u8; do ./N_m3u8DL-RE "$url" --save-dir ./out done比最小命令的变化在于输入来自循环变量、输出统一进--save-dir ./out,每个文件独立解析与合并,互不影响。
🩺 出了问题怎么办:五条快速问答
- 老版本 Windows 终端显示乱码或无法运行?原因通常是系统自带终端与本程序不兼容。处置:换到 cmder 等第三方终端中运行。
- 分片下载反复失败?多是网络抖动导致分片请求超时。程序默认对每个分片异常重试 7 次,可用
--download-retry-count调整次数;分片数量校验默认开启,失败会以提示体现。 - 临时文件占用空间过大?是临时目录所在分区空间不足。用
--tmp-dir把临时文件指到空间更大的分区,完成后默认删除,确认磁盘回收即可。 - 稳定版与开发版行为不一致?AUR 的 bin 包对应发布版、git 包对应开发版,构建内容不同。先确认当前版本号是否为最新,仍复现则记录版本信息再反馈。
- macOS 首次运行被安全提示拦截?属于系统默认的安全机制。到"系统设置"里放行程序即可继续。
🔍 想看得更深:从行为到源码目录
源码按职责分目录,遇到具体行为可以直接跳过去看:
- 下载调度(点播下载、直播录制、直播回看与合并策略):src/N_m3u8DL-RE/DownloadManager/
- 清单解析(.mpd/.m3u8/.ism 提取与轨道信息处理):src/N_m3u8DL-RE.Parser/
- 加解密工具(AES、ChaCha20 等实现):src/N_m3u8DL-RE/Crypto/
- 通用工具函数(合并、混流、清理、日志):src/N_m3u8DL-RE/Util/
提 Issue 前先在仓库已有 Issue 中检索相同问题;确认无人提过后新建,描述中附上版本号、完整命令,以及用--log-file-path落盘的日志文件,方便复现与定位。
【免费下载链接】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),仅供参考