N_m3u8DL-RE:一条命令把任意 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 是跨平台命令行 m3u8 下载工具,一条 .m3u8 或 .mpd 链接丢进去,点播和直播流都能变成本地视频文件,适合想存课程视频、直播回放而不想用浏览器插件的人。
上手门槛:2 个必备依赖 + 2 个可选件
这台工具的门槛不在硬件,而在依赖。程序本体基于 .NET 10(工程文件声明 net10.0),机器上要装 .NET 10 运行时。
| 依赖 | 作用 | 什么时候需要 |
|---|---|---|
| .NET 10 运行时 | 运行程序本体 | 始终需要 |
| ffmpeg | 下载后合并分片、直播管道混流 | 始终需要(启动时先自检) |
| mkvmerge | 混流为 MKV 容器 | 使用-M muxer=mkvmerge时 |
| mp4decrypt / shaka-packager | DRM 解密 | 传--key做解密时 |
界面支持 en-US、zh-CN、zh-TW 三种语言,用--ui-language zh-CN切换。Arch Linux 用户可直接走 AUR 源安装:yay -Syu n-m3u8dl-re-bin。
3 步拿到第一个文件
第 1 步:拿到可执行程序。从项目发布页下载对应系统的二进制放到任意目录即可;想自己编译也可以克隆仓库源码:
git clone https://gitcode.com/GitHub_Trending/nm3/N_m3u8DL-RE第 2 步:让 ffmpeg 在 PATH 里。程序启动时会预先检查 ffmpeg,找不到直接报错。如果你装 ffmpeg 时用了默认命名,能被自动找到;否则用--ffmpeg-binary-path显式指定全路径。
第 3 步:跑第一条下载命令。链接直接跟程序名后面,默认会弹出交互式轨道选择框:
N_m3u8DL-RE "你的.m3u8或.mpd链接" --save-dir D:\Videos --thread-count 8--thread-count控制并发拉分片的线程数,默认等于本机 CPU 核心数。想跳过手选、直接取最高码率视频,加上-sv best。
功能盘点:5 个最实用的能力
- 三格式统一解析。DASH、HLS、MSS 三种清单(流媒体的播放描述文件)一条命令识别,点播和直播(DASH/HLS)都支持。适合手里一堆来源不明的流链接。
- 正则选轨。
-sv(视频)、-sa(音频)、-ss(字幕)三个参数按正则筛轨道,例如-sv res="3840*":codecs=hvc1只挑 4K HEVC。适合多码率流里只取目标画质。 - 限时直播录制。
--live-record-limit 00:30:00可固定录制时长,配合--live-real-time-merge边录边实时合并成文件。适合定时直播归档。 - DRM 解密。
--key KID:KEY传密钥,由 mp4decrypt / shaka-packager / ffmpeg 执行解密,--decryption-engine可切换引擎。适合拿到密钥的加密课程视频。 - 下载后混流。
-M format=mp4把分离的音视频合成一个 MP4,--mux-import还能把本地字幕、额外音轨塞进容器。适合"视频和音轨分开下"的后处理。
原理速览:从链接到视频文件的 3 步
- 解析。拉取清单,识别类型并列出全部视频、音频、字幕轨道,解析器在 src/N_m3u8DL-RE.Parser/Extractor/ 里按格式各有一个实现。
- 下载。多线程并发拉分片,单个分片失败默认重试 3 次,HTTP 请求超时默认 100 秒。
- 合并。分片全部到齐后拼成完整文件,再按选项走 ffmpeg 做混流或解密。
进阶入口:为自己的站点做扩展
URL 处理链支持挂自定义 Processor:注册点在 Program.cs 的parserConfig.UrlProcessors,参考实现在 src/N_m3u8DL-RE/Processor/,参数通过--urlprocessor-args透传。任何参数细节都可以--morehelp <选项名>现场查,比如--custom-range 05:00-20:00表示点播内容只下载第 5 分钟到第 20 分钟。一个组合用法示例:
N_m3u8DL-RE "你的链接" -sa lang="ja|en":for=best2 --sub-only --sub-format VTT这条命令挑出最佳的 2 条日语/英语音轨,只出字幕并输出为 VTT 格式。
常见坑:3 个高频问题
现象 1:启动即报 ffmpeg not found。排查动作:安装 ffmpeg 并加入 PATH,或用它的全路径参数--ffmpeg-binary-path C:\Tools\ffmpeg.exe指过去。
现象 2:老版本 Windows 终端乱码、没有颜色。排查动作:换 cmder 或 Windows Terminal 运行;参数上可用--force-ansi-console强制按 ANSI 终端处理,或--no-ansi-color去掉颜色。
现象 3:直播管道混流丢数据。排查动作:--live-pipe-mux由 ffmpeg 负责管道内读数据,网络不稳的环境容易丢直播数据,README 明确不建议在这种网络下开启;改成--live-real-time-merge实时合并到文件更稳。
N_m3u8DL-RE 把"解析—下载—合并"整条链路装进了一个命令行工具,点播、直播、DRM、多语言音轨各有对应参数,重试 3 次、超时 100 秒、线程数等于核心数这些默认值也都能覆盖。下一步可以打开 TestStreams.md 里的测试流链接,把上面提到的参数各跑一遍。
【免费下载链接】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),仅供参考