N_m3u8DL-RE完全指南:3条命令下载并录制任意M3U8/DASH流
【免费下载链接】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、HLS、MSS 三类播放列表,把多轨内容下载、合并,再混流成可播放文件。点播和直播都能处理,一条命令跑完"解析—选流—下载—合并"全流程。
先搞懂它是什么
N_m3u8DL-RE 是一个纯命令行工具,没有图形界面。你把播放列表链接或本地文件(.mpd / .m3u8 / ISM)丢进终端,它就完成解析、下载、合并。它适合已经拿到流地址、想要稳定可复现下载的人,也方便写进脚本做批处理。和普通下载器的区别在于:它针对三大流式标准的分片格式专门设计,加密流、多码率、多音轨、多字幕都在同一套参数里处理。
为什么值得试
| 对比维度 | 能做到的事 |
|---|---|
| 格式覆盖 | DASH(.mpd)、HLS(.m3u8)、MSS(ISM) 全支持,点播和直播通吃 |
| 多轨处理 | 多码率视频、多音轨、多字幕,交互点选或正则筛选 |
| 加密流 | CENC、AES-128、ChaCha20 等常见加密,可调用 mp4decrypt/ffmpeg 解密 |
| 运行平台 | Windows、macOS、Linux,x64 与 ARM 都有发布 |
最低要求与推荐配置
最低要求
- Windows 10 及以上、macOS 或 Linux 系统(x64 / ARM64 均可)
- 安装 ffmpeg 并在 PATH 中:程序启动时会自动检查,找不到直接报错退出
- 输出目录有足够磁盘空间,取决于要下载的内容体积
推荐配置
- 多核 CPU:默认下载线程数等于 CPU 线程数,核心越多分片拉取越快
- SSD:分片落盘和合并都是磁盘密集操作,机械盘会明显拖慢速度
- 稳定网络:直播录制持续时间长,网络抖动容易造成分片缺失
本地部署步骤
- 安装 ffmpeg。做完在终端执行
ffmpeg -version,能看到版本号才算就绪。 - 获取程序。从 Releases 页面下载对应系统的可执行文件;Arch Linux 可直接走 AUR 源安装(
yay -Syu n-m3u8dl-re-bin)。做完执行N_m3u8DL-RE --version,能看到版本信息才算装好。 - 跑一个点播小流。程序会先在控制台列出解析出的全部轨道,确认后开始下载。做完应看到输出目录里出现合并好的文件和 meta.json。
- (可选)从源码构建。克隆仓库后执行 publish 命令,产物是单个可执行文件,做完在发布目录中能找到二进制文件。
git clone https://gitcode.com/GitHub_Trending/nm3/N_m3u8DL-RE dotnet publish src/N_m3u8DL-RE/N_m3u8DL-RE.csproj -c Release -r win-x64N_m3u8DL-RE "https://你的播放列表地址/master.m3u8"仓库里自带一份可公开访问的测试流清单(TestStreams.md),适合第一次验证环境是否装对。
功能亮点
多轨流,想要哪条选哪条
不带选择参数时,程序解析完会在控制台列出所有轨道让你交互式点选;想固化成脚本就用正则表达式精确定位,比如-sv res="3840*":codecs=hvc1:for=best只挑 4K HEVC 的最佳视频,-sa lang="ja|en":for=best2挑最佳的两条日语或英语音轨。音频、视频、字幕各自独立筛选,还能用-dv / -da / -ds先剔除不想要的流,完整规则见 FilterUtil.cs。典型场景:一个多码率 DASH 源里只取 1080p 视频加一条中文字幕,其余轨道一个字节都不下。
直播录制:定时长,放着走
DASH/HLS 直播流不用守在屏幕前:加--live-record-limit 01:00:00指定录满一小时自动停,程序会按轮询间隔刷新播放列表、持续拉取新分片,录制逻辑在 SimpleLiveRecordManager2.cs 中实现。再开--live-real-time-merge,边录边合成单文件,不用事后手动拼。--live-pipe-mux可以把数据直接管道给 ffmpeg 实时输出 TS,但 README 提醒:网络不稳时该模式容易丢数据,慎用。适合录整场赛事或固定时段的网课。
N_m3u8DL-RE live.m3u8 --live-record-limit 01:00:00 --live-real-time-merge下载后混流与部分下载
下载完成后可以把分离的音视频重新合回一个文件:-M format=mp4交给 ffmpeg 自动完成,format=mkv:muxer=mkvmerge则走 MKVToolNix;用--mux-import path=zh.srt:lang=chi还能把本地字幕、音轨文件塞进容器。如果只需要部分内容,--custom-range 05:00-20:00只下载第 5 分钟到第 20 分钟的分片,省时间也省磁盘。全部参数定义在 MyOption.cs,主流程入口在 Program.cs。
常见问题
运行即报找不到 ffmpeg
现象:程序刚启动就退出,提示 ffmpegNotFound。 原因:系统未安装 ffmpeg,或安装后没进 PATH。 解法:安装 ffmpeg 并确认ffmpeg -version可用,或用--ffmpeg-binary-path直接指定可执行文件全路径。
旧版 Windows 终端显示异常
现象:低版本 Windows 自带终端里运行,界面错乱或无响应。 原因:README 明确说明旧版 Windows 终端可能不支持本程序的交互渲染。 解法:改用 cmder 运行,或升级到更新的 Windows 版本。
直播录制中途断档
现象:录出来的直播流有缺口,或中途停止。 原因:多为网络不稳,或开启了--live-pipe-mux(管道由 ffmpeg 读数据,弱网下易丢)。 解法:关掉--live-pipe-mux,只用--live-real-time-merge;必要时用--download-retry-count调高分片重试次数。
加密流下载后无法播放
现象:文件能下完但播放器报错,画面全黑。 原因:流用了 CENC/AES-128 等加密,没提供解密密钥。 解法:用--key KID:KEY传入密钥,程序默认调用 mp4decrypt 解密(需自行安装),也可换用--decryption-engine切到 ffmpeg 或 shaka-packager。
下一步
先用 TestStreams.md 里的一条点播链接跑通完整流程,再逐步叠加选流、混流参数;完整文档见 README.md。项目仓库地址:https://gitcode.com/GitHub_Trending/nm3/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),仅供参考