N_m3u8DL-RE:一条命令把任意 M3U8/DASH 流变成本地文件
2026/9/19 7:48:47 网站建设 项目流程

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-packagerDRM 解密--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 个最实用的能力

  1. 三格式统一解析。DASH、HLS、MSS 三种清单(流媒体的播放描述文件)一条命令识别,点播和直播(DASH/HLS)都支持。适合手里一堆来源不明的流链接。
  2. 正则选轨。-sv(视频)、-sa(音频)、-ss(字幕)三个参数按正则筛轨道,例如-sv res="3840*":codecs=hvc1只挑 4K HEVC。适合多码率流里只取目标画质。
  3. 限时直播录制。--live-record-limit 00:30:00可固定录制时长,配合--live-real-time-merge边录边实时合并成文件。适合定时直播归档。
  4. DRM 解密。--key KID:KEY传密钥,由 mp4decrypt / shaka-packager / ffmpeg 执行解密,--decryption-engine可切换引擎。适合拿到密钥的加密课程视频。
  5. 下载后混流。-M format=mp4把分离的音视频合成一个 MP4,--mux-import还能把本地字幕、额外音轨塞进容器。适合"视频和音轨分开下"的后处理。

原理速览:从链接到视频文件的 3 步

  1. 解析。拉取清单,识别类型并列出全部视频、音频、字幕轨道,解析器在 src/N_m3u8DL-RE.Parser/Extractor/ 里按格式各有一个实现。
  2. 下载。多线程并发拉分片,单个分片失败默认重试 3 次,HTTP 请求超时默认 100 秒。
  3. 合并。分片全部到齐后拼成完整文件,再按选项走 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),仅供参考

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

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

立即咨询