N_m3u8DL-RE 是一款跨平台 m3u8/mpd 视频下载工具,支持 DASH/HLS/MSS 点播和直播录制。内置智能轨道选择、DRM 加密解密、ffmpeg 混流,全程命令行操作,Windows/macOS/Linux 全平台支持,GPL-3.0 开源免费。
🎤 引言
想下载一个 m3u8 视频,但找不到好用的工具?或者想录制爱奇艺、优酷的直播,但市面上收费软件一搜一大把?
N_m3u8DL-RE 这个开源项目可能就是你要的答案。它是 N_m3u8DL 系列的续作,GitHub 上 8.2k stars、833 forks,支持 DASH/HLS/MSS 三大协议,点播直播通吃,命令行操作,对技术用户来说比 GUI 软件更灵活。MIT 协议开源,Windows/macOS/Linux 全平台可用。
之前系列 N_m3u8DL 用的人不少,但 RE 版本在架构上做了重新设计,功能更全。这篇来好好聊聊它能干啥、怎么用、有啥坑。
⭐ 核心功能
N_m3u8DL-RE 最大的特点是协议覆盖全、功能选项细。一个工具解决 m3u8 下载、mpd 下载、直播录制三个需求,不用找三个不同软件。
🌐 三协议支持
- HLS:最常见的 m3u8 播放列表格式,B站、油管、土豆优酷都在用
- DASH/MPD:Netflix、爱奇艺等长视频平台爱用的自适应流媒体格式
- MSS:微软系内容偶尔会用到的小众协议
一个命令行覆盖三种格式,不用再为不同平台找不同工具。
📡 直播录制
这是 N_m3u8DL-RE 和普通下载工具拉开差距的核心功能。
- 直播流边录边混:开启
--live-real-time-merge,录制过程中用 ffmpeg 实时把 TS 分片混流成完整文件,录完直接出成品,不用等 - 直播录制时长限制:
--live-record-limit 05:00:00设置最长录制时间,到点自动停 - 定时录制:配合
--task-start-at,可以预约某个时间点开始录 - 直播转点播:开了
--live-perform-as-vod,会把直播流当普通点播下载,中途卡了会自动重试
实际场景:刷到某平台深夜直播节目怕错过,挂机录一晚上,--live-record-limit 防止磁盘被塞满。
🎛 轨道选择与过滤
视频站通常会提供多种码率、多种语言、多种字幕的轨道,N_m3u8DL-RE 支持精细化选择:
# 自动选最佳轨道(最常用)
N_m3u8DL-RE "https://example.com/video.m3u8" --auto-select
# 只选视频,选 4K+HEVC
N_m3u8DL-RE "https://example.com/video.m3u8" -sv res="3840*":codecs="hvc1":for=best
# 选最佳英语音轨
N_m3u8DL-RE "https://example.com/video.m3u8" -sa lang=en:for=best
# 选所有中文字幕
N_m3u8DL-RE "https://example.com/video.m3u8" -ss name="中文":for=all选完后还支持 --mux-import 引入外部字幕文件,混流时直接烧进去。
🔐 DRM 解密
HLS 和 DASH 经常遇到 AES-128、SAMPLE-AES 等加密,RE 版本内置了解密引擎:
# 指定解密密钥
N_m3u8DL-RE "https://example.com/video.m3u8" --key KID1:KEY1 --key KID2:KEY2
# 密钥文件批量解密
N_m3u8DL-RE "https://example.com/video.m3u8" --key-text-file keys.txt支持的解密程序:mp4decrypt(默认)、shaka-packager、ffmpeg,可按需切换。
🛠 ffmpeg 混流
下载分片后要合并成完整视频,RE 版本内置调用 ffmpeg 的能力:
# 下载完成后自动混流为 mkv
-M format=mkv
# 使用 mkvmerge 混流(需要安装 MKVToolNix)
-M format=mkv:muxer=mkvmerge
# 混流时引入外部字幕
-M format=mkv --mux-import path=zh-Hans.srt:lang=chi混流完成后默认自动删除临时分片文件(--del-after-done),磁盘空间干净。
⚡ 并发下载与限速
# 并发下载视频、音频、字幕三路同时跑
N_m3u8DL-RE "https://example.com/video.m3u8" -mt
# 限速 15Mbps
N_m3u8DL-RE "https://example.com/video.m3u8" -R 15M
# 设置下载线程数(默认=CPU线程数)
N_m3u8DL-RE "https://example.com/video.m3u8" --thread-count 16🔧 丰富的自定义选项
--save-pattern:自定义输出文件名模板,支持<Resolution>、<Bandwidth>、<Codecs>等变量,避免下载多个轨道时文件名冲突--custom-range:只下载某个时间范围,比如只想拿某视频的 5-20 分钟片段--write-meta-json:输出下载元信息 JSON,方便二次处理或记录归档--use-system-proxy/--custom-proxy:代理支持,爬虫友好--ui-language:内置中英双语界面
📥 安装使用
Windows(最简单)
直接去 Releases 页面下载最新版的 .exe 文件,Windows 自带终端(Win11 或 Win10 新版)可以直接运行,不用装 .NET 环境。
⚠️ 如果是较老的 Windows 版本终端不支持,可以下个 cmder 当终端用。
macOS / Linux(需要 .NET)
先装 .NET 运行时,然后:
# 下载最新 release
curl -sL https://github.com/nilaoda/N_m3u8DL-RE/releases/latest/download/N_m3u8DL-RE-linux-x64.tar.gz | tar xz
# 运行
chmod +x N_m3u8DL-RE
./N_m3u8DL-RE "https://example.com/video.m3u8"Arch Linux(官方 AUR 支持)
# 发行版
yay -Syu n-m3u8dl-re-bin
# 开发版
yay -Syu n-m3u8dl-re-git快速上手
# 基本下载(自动选最佳轨道+混流)
N_m3u8DL-RE "https://example.com/video.m3u8" --auto-select
# 指定输出目录和文件名
N_m3u8DL-RE "https://example.com/video.m3u8" --save-dir ~/Videos --save-name my_video
# 下载直播(边录边混流)
N_m3u8DL-RE "https://example.com/live.m3u8" --live-perform-as-vod --live-real-time-merge
# 带 cookie 下载(绕过登录限制)
N_m3u8DL-RE "https://example.com/vip.m3u8" -H "Cookie: yourcookie"
# 只下字幕
N_m3u8DL-RE "https://example.com/video.m3u8" --sub-only --sub-format VTT🎯 适用场景
- 下载网课/技术视频:很多平台用 m3u8 切片存放,离线观看或转格式方便整理
- 录直播存档:深夜直播、演唱会、游戏赛事,设定时长限制后挂机自动录
- 提取特定片段:用
--custom-range 05:00-20:00只下载某个时间段,不用下完整视频 - 多轨视频整理:自动选最佳视频+音轨+字幕,一次搞定
- 技术向用户:CI/CD 里集成自动化下载,配合 ffmpeg 做成工作流
🔍 对比/替代方案
| 工具 | 协议支持 | 直播录制 | DRM | 平台 | 价格 |
|---|---|---|---|---|---|
| N_m3u8DL-RE | HLS/DASH/MSS | ✅ | ✅ | Win/Mac/Linux | 免费开源 |
| yt-dlp | HLS/DASH | ❌(点播) | 部分 | Win/Mac/Linux | 免费开源 |
| StreamFab | HLS/DASH | ✅ | ✅ | 仅 Win | $49.9+ |
| VideoDownloader Pro | HLS 为主 | ✅ | 部分 | 浏览器扩展 | $20+ |
yt-dlp 更偏向 YouTube 等主流平台,N_m3u8DL-RE 更偏底层协议层面,对小众平台兼容性反而更好;StreamFab 这类商业软件功能全但要钱,RE 版本 MIT 协议白嫖还要啥自行车。
⚠️ 注意事项
- 命令行有门槛:纯终端操作,没有 GUI,新手要花时间熟悉参数。可以用
--morehelp查看每个选项的详细说明 - 需要 ffmpeg:混流功能依赖本机 ffmpeg,没装的话需要下载并用
--ffmpeg-binary-path指定路径 - 低版 Windows 终端不兼容:老系统自带终端可能报 ANSI 错误,换 cmder 或 Windows Terminal 解决
- 直播录制受网络影响:长时间录直播建议配合
--live-record-limit,防止断网导致录了一半 - 131 个 Open Issues:活跃项目但仍有少量 bug,遇到问题先去 Issues 搜一下,很可能有现成解法
✅ 总结
N_m3u8DL-RE 属于那种"一学就会、越用越香"的工具。上手门槛是命令行,但一旦摸透了常用的几个参数(--auto-select、-M format=mkv、--live-real-time-merge),比任何 GUI 工具都高效。
优点:
- 三协议通吃,HLS/DASH/MSS 一个工具全覆盖
- 直播录制 + 实时混流,长时间挂机无忧
- 轨道选择灵活,精细化下载
- MIT 开源,跨平台 Win/Mac/Linux
- Arch Linux 官方 AUR 支持
缺点:
- 纯命令行,GUI 用户劝退
- ffmpeg 需要单独安装配置
- 文档是英文为主(但参数注释有中文)
适合谁:有命令行基础的技术用户、下载需求多样的折腾党、想白嫖直播录制工具的性价比选手。
不适合谁:完全不会终端的小白、追求一键下载的普通用户。
GitHub:https://github.com/nilaoda/N_m3u8DL-RE,有中文 README,Issues 里问题反馈也挺活跃。