nilaoda /N_m3u8DL-RE

Cross-Platform, modern and powerful stream downloader for MPD/M3U8/ISM. English/简体中文/繁體中文.

★ 9,029⑂ 891👁 75⑃ 95● 702▤ 22
C#Created 2022-05-25
9,029
stars
+0+7+151
891
forks
75
watchers
95
prs
702
issues
22
releases
–
discussions

README

N_m3u8DL-RE

See English version here

跨平台的DASH/HLS/MSS下载工具。支持点播、直播(DASH/HLS)。

         

遇到 BUG 请首先确认软件是否为最新版本(如果是 Release 版本,建议到 Actions 页面下载最新自动构建版本后查看问题是否已经被修复),如果确认版本最新且问题依旧存在,可以到 Issues 中查找是否有人遇到过相关问题,没有的话再进行询问。

---

版本较低的Windows系统自带的终端可能不支持本程序,替代方案:在 cmder 中运行。

Arch Linux 可以从 AUR 获取:n-m3u8dl-re-bin、n-m3u8dl-re-git

bash
 Arch Linux 及其衍生版安装 N_m3u8DL-RE 发行版 (该源非本人维护)
yay -Syu n-m3u8dl-re-bin

 Arch Linux 及其衍生版安装 N_m3u8DL-RE 开发版 (该源非本人维护)
yay -Syu n-m3u8dl-re-git


---

 PowerShell 补全

支持 Windows PowerShell 5.1 和 PowerShell 7。补全脚本内嵌在可执行文件中。将 N_m3u8DL-RE 加入 PATH,然后在 PowerShell 中加载:

powershell
N_m3u8DL-RE --generate-completion powershell | Out-String | Invoke-Expression


输入 N_m3u8DL-RE --sub- 后按 Tab 可补全参数名;--sub-format、--log-level、--ui-language 等参数可补全可选值,文件和目录使用 PowerShell 的默认路径补全。以 ./N_m3u8DL-RE 或完整路径调用程序时也可以使用。

加载仅对当前会话有效。如需每次启动时启用,可将上面的命令写入 $PROFILE。也可用 --generate-completion powershell 单独查看或保存脚本。

 Cookie 文件

使用 --cookies cookies.txt 读取浏览器导出的 Netscape 格式 Cookie 文件:

text
N_m3u8DL-RE "https://example.com/video.m3u8" --cookies "cookies.txt"


Cookie 会按请求的域名、路径、HTTPS 条件及有效期匹配,适用于清单、密钥、初始化文件和分片,支持点播及直播。若同时设置 -H "Cookie: ...",则以手动请求头为准。服务器更新的 Cookie 仅保存在内存中,不回写文件。

 配置文件

常用选项可以保存到 UTF-8 文本配置文件中,程序启动时自动读取:

- Linux / macOS:~/.config/N_m3u8DL-RE/config.conf;若设置了绝对路径的 XDG_CONFIG_HOME,则使用 $XDG_CONFIG_HOME/N_m3u8DL-RE/config.conf。
- Windows:%APPDATA%\N_m3u8DL-RE\config.conf。

程序不会自动创建配置文件,默认文件不存在时使用内置默认值。配置沿用命令行参数语法,支持以  开头的注释行;包含空格的参数值使用双引号:

text
 常用下载选项
-mt
--no-log
--auto-select
--thread-count 16
--save-dir "Downloads/My Videos"


优先级为 命令行  配置文件  内置默认值。同一选项按短名和长名识别,单值选项由命令行替换配置值,被替换的值不再进行下载参数转换或文件读取。--key、--ad-keyword、--mux-import 等可重复选项按配置在前、命令行在后的顺序合并。-H / --header 按请求头名称合并,名称不区分大小写;不同名称保留,同名以命令行为准。布尔选项可用 false 关闭,例如 --no-log false。配置中的 HTTP 超时也视为手动指定,会关闭直播的自动超时调整。

text
N_m3u8DL-RE "https://example.com/video.m3u8" --thread-count 8
N_m3u8DL-RE "https://example.com/video.m3u8" --config "custom.conf"
N_m3u8DL-RE "https://example.com/video.m3u8" --no-config


--config FILE 只读取指定文件,替代默认配置;文件不存在或内容无效时报错。--no-config 不读取配置文件,不能与 --config 同时使用。配置只允许保存下载选项,不允许保存下载地址、配置加载选项或帮助、版本、补全操作。相对路径按当前工作目录解析,程序目录和当前目录不会被自动搜索。

帮助信息会使用配置中的 UI 语言;生成补全脚本及 Tab 补全请求不读取配置。原有 @args.txt 参数文件仍可使用,其中的参数具有命令行优先级。

Docker 部署建议将配置只读挂载到 /config/config.conf,并传入 --config /config/config.conf,不依赖容器的 HOME 或运行用户。

 IPTV 频道列表

text
 交互选择 HTTP TS 直播频道,录制 3 分钟
N_m3u8DL-RE channels.m3u --live-record-limit 00:03:00

 按频道名称筛选;for=all 可同时录制多个匹配频道,分别保存
N_m3u8DL-RE channels.m3u -sv "name=^Channel A$:for=best" --live-record-limit 00:03:00
N_m3u8DL-RE channels.m3u -sv "name=^Channel:for=all" --live-record-limit 00:03:00


 工具命令

| 命令 | 用途 |
| --- | --- |
| concat | 按顺序拼接文件字节,不解析容器,也不需要 FFmpeg;完整 MP4 等文件通常应使用 merge |
| merge | 将多段媒体按时间顺序连接,使用 FFmpeg 流复制,不转码;各段编码及轨道结构需兼容 |
| mux | 把视频、音频和字幕作为不同轨道放入同一文件,不将各输入首尾连接 |
| doctor | 检查外部工具的路径、版本及系统环境;--json 可输出诊断报告 |

三个文件工具都接受 -i 文件、-i 目录,也可用 --input-dir 目录 指定一个目录。-i 可重复,输入之间保持指定顺序;--input-dir 不能与 -i 混用。

- 目录自动识别优先处理有 RE 轨道命名、init 或 parts 等布局的目录,

Snapshot: 2026-11-04T14:00:00Z · Data license Apache-2.0 · JSON