☰
N_m3u8DL-RE 流媒体下载与直播录制实用手册:10 分钟从安装到批量处理
2026/10/22 7:11:11 网站建设 项目流程

N_m3u8DL-RE 流媒体下载与直播录制实用手册:10 分钟从安装到批量处理

【免费下载链接】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 是一款跨平台的流媒体下载工具,支持 DASH(MPD)、HLS(M3U8)、MSS(ISM)三种清单格式,覆盖点播下载与直播录制两类任务,适合只会基础命令行操作、想把视频和直播保存到本地的用户。

三步拿到第一个文件

你手上有一条视频链接,想尽快把它存下来——这一节让你从零走到第一个成功结果。

第一步:拿到能直接跑的可执行文件。程序基于 .NET 10 构建,Release 产物采用 AOT 静态编译,自带运行时,解压即用;只有源码编译才需要 .NET 10 SDK。

  • Windows:取对应平台的压缩包,解压到任意目录。
  • Linux:Arch 系发行版可直接从 AUR 安装,yay -Syu n-m3u8dl-re-bin;其他发行版取 Linux 产物后加执行权限。
  • macOS:下载产物后执行chmod +x N_m3u8DL-RE,首次运行若被系统拦截,在"系统设置"里放行即可。

第二步:验证安装。在解压目录里执行:

N_m3u8DL-RE --version

能输出版本号,说明文件与系统匹配。

第三步:跑一条最小命令。一条命令只需两个要素:输入和保存名。

./N_m3u8DL-RE "https://example.com/course.m3u8" --save-name my_course

执行后程序会自动解析清单、挑选视频与音轨、多线程抓取分片并合并,最终得到 my_course 命名的成品文件。如果清单里有多档画质,想明确锁定最高规格,加上-sv best -sa best取最高分辨率视频和最高码率音频;想改输出位置,追加--save-dir指定目录。点播下载到这里就完成了。

读懂下载行为:清单、分片与默认策略

你好奇程序"为什么这么下"——选哪条流、开几个线程、临时文件去哪了,答案都在这。

先弄清两个概念:

  • 清单(MPD/M3U8/ISM):一份索引文件,本身不含媒体数据,只列出分片地址与编码参数。
  • 分片:真正的媒体数据单元,程序按清单逐个抓取,再拼成完整文件。

理解这两点,三条默认策略就很好解释:

  1. 选流:缺省时程序自动挑选一条视频轨和一条音轨;只有你对自动结果不满意(比如想要 4K 而非 720p),才需要显式传-sv、-sa。
  2. 线程数:缺省取Environment.ProcessorCount,即本机逻辑核数;带宽紧张时用--thread-count调低,追求速度时调高。
  3. 临时文件:分片先落在临时目录,--del-after-done默认开启,合并完成后自动清理;--check-segments-count也默认开启,会把实际下载分片数与清单预期比对,数量对不上会明确提示,帮你发现漏片而不是拿到残缺文件。

想深入看这些策略的实现,可以从下载调度模块入手:src/N_m3u8DL-RE/DownloadManager/。

常用参数工具箱:输入、输出、选流与性能

你不需要背下全部参数,按下表分组记住高频项即可——左列是作用,右列是不写时的缺省行为。

分组参数作用缺省行为(不写时)
输入<input>清单链接或本地清单文件路径必填,无缺省
输入--cookies <FILE>读取 Netscape 格式 Cookie 文件,用于需要登录态的来源不携带 Cookie
输入-H, --header追加自定义请求头,如 User-Agent使用默认请求头
输出--save-name指定输出文件名自动生成保存名
输出--save-dir指定输出目录当前工作目录
输出--tmp-dir指定临时分片存储目录系统默认临时目录
选流-sv, --select-video按正则、分辨率、码率等条件选视频轨,或写 best自动选一条视频轨
选流-sa, --select-audio按语言、声道等条件选音轨,或写 best自动选一条音轨
选流-ss, --select-subtitle选择字幕轨不下载字幕
性能与行为--thread-count下载线程数本机逻辑核数
性能与行为--download-retry-count单个分片异常时的重试次数7 次
性能与行为-R, --max-speed限速,支持 Mbps/Kbps 单位,如 15M不限速
性能与行为--del-after-done完成后删除临时文件开启
性能与行为--custom-range只下载指定时间区间或序号范围的分片下载全部内容

场景演练:直播录制、截取时间段与批量清单

前面的点播流程解决不了这三类需求:内容还在持续更新、只要中间一段、或一次要处理多条清单。逐个来看。

📺 直播录制关键参数

什么情况下用:目标是持续更新的直播流,你要录到指定时长为止,而不是等直播结束。

./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限定录满两小时自动停止;不加这个参数,程序会一直跟到手动停止。
  • 如果错过了节目开头,--live-catchup支持从历史时间点开始下载,覆盖首部分片数量的默认取值。

🎬 截取时间段:只留中间一段

什么情况下用:清单对应完整内容,但你只想要某一段,前后部分都不要。

./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-表示从第 10 片开始,-99表示只要前 100 片。

📦 批量清单处理

什么情况下用:输入是多个链接或多个本地清单,参数完全相同,比如频道列表、成片合集。

for url in list1.m3u8 list2.m3u8 list3.m3u8; do ./N_m3u8DL-RE "$url" --save-dir ./out done

关键参数为何这样写:输入来自循环变量,参数只写一套;--save-dir ./out把输出统一收进一个目录,每条清单独立解析、独立合并,某一条失败不影响其余的。

避坑问答:下载卡住的四种常见情况

你的执行过程如果和下面描述的症状对得上,按对应问答处理即可。

老版本 Windows 终端显示乱码、甚至无法运行,怎么办?原因是系统自带终端与本程序不兼容。处置:换到 cmder 这类第三方终端中运行;仍异常的话,先用--version确认执行文件与系统架构匹配。

分片下载反复失败、报超时错误,怎么调?原因是网络抖动导致分片请求超时。处置:程序默认每个分片失败后重试 7 次,偶发波动通常自动恢复;如果网络环境普遍差,用--download-retry-count调高次数。分片数量校验默认开启,漏片会在结果中体现,据此判断是否需要重跑。

临时文件把磁盘占满了,如何处理?原因是临时目录所在分区剩余空间不足。处置:用--tmp-dir把临时文件指到空间更大的分区;合并完成后--del-after-done默认会清理临时分片,处理完回看磁盘占用是否回落即可。

稳定版和开发版行为对不上,是不是 Bug?原因是 AUR 的 bin 包对应发布版、git 包对应开发版,两者构建内容不同,行为差异未必是缺陷。处置:先执行--version确认当前版本号;已是最新版仍复现,记录版本信息后再反馈。

代码地图:按行为快速定位源码目录

你想看某个行为背后的实现或参与贡献,按职责对号入座:

  • 下载调度——点播下载、直播录制、直播回看与合并策略: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 里搜过相同问题;确认没人提过再新建,描述中附上三样东西,方便复现定位:版本号(--version输出)、完整命令、以及用--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),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询