news 2026/10/16 8:50:32

N_m3u8DL-RE 流媒体下载器:M3U8/MPD/ISM 一条命令转成可播放的 MP4

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
N_m3u8DL-RE 流媒体下载器:M3U8/MPD/ISM 一条命令转成可播放的 MP4

N_m3u8DL-RE 流媒体下载器:M3U8/MPD/ISM 一条命令转成可播放的 MP4

【免费下载链接】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 是跨平台流媒体下载器,覆盖 MPD、M3U8(HLS)、ISM(MSS)三类流,解决三类常见问题:分片下载后无法合成单文件、多档清晰度无从挑选、加密分片打不开。点播与直播(DASH / HLS)均可录制,下载完成后可按 AES / CENC 规则自动解密,并混流为 mp4 或 mkv,产物开箱即播。

环境准备:编译发布 N_m3u8DL-RE 并验证版本

程序基于 .NET 编写,本地编译需要 .NET 10 SDK。克隆源码后执行 publish,产物落在 bin 的 publish 目录;随后跑一条版本命令确认编译成功。

# 克隆源码并发布,可执行文件位于 bin/Release/net10.0/publish git clone https://gitcode.com/GitHub_Trending/nm3/N_m3u8DL-RE cd N_m3u8DL-RE dotnet publish src/N_m3u8DL-RE/N_m3u8DL-RE.csproj -c Release
# 输出含版本号与构建日期(形如 N_m3u8DL-RE 0.6.0 20261012)即编译成功 src/N_m3u8DL-RE/bin/Release/net10.0/publish/N_m3u8DL-RE --version

下文示例中的N_m3u8DL-RE均指该可执行文件,重命名后放入 PATH 即可直接调用。想先用公开测试流熟悉参数,可参考仓库内 TestStreams.md 的示例链接。

🎬 点播存片:把 M3U8/MPD 链接合成一个可播放文件

如果目标是把 m3u8 或 mpd 点播链接保存成随时能打开播放的 mp4:

N_m3u8DL-RE "https://example.com/video.m3u8" \ --save-name "我的视频" \ --save-dir "./downloads" \ -M format=mp4

预期产物:./downloads/我的视频.mp4,分片已自动混流为单文件,可直接播放。

提示:-M format=mp4换成-M format=mkv即输出 MKV 容器。

多轨流挑选:-sv 选最高画质,-sa 留最佳英文音轨

如果 master 流带多档分辨率与多条音轨,只想保留最高画质加一条英文音轨,用正则表达式过滤:

N_m3u8DL-RE "https://example.com/master.m3u8" \ -sv best \ -sa lang=en:for=best \ --save-name "高清版" \ -M format=mp4

产物为一条分辨率最高、配英文音轨的 mp4,其余档位不会下载。

提示:-sv res="1920*"按分辨率正则匹配,-sa all保留全部音轨;更多匹配维度(编码、码率、角色)见 README.md 的 morehelp 说明。

📼 直播边播边录:实时合并并到点自动停止

如果目标是把正在播出的直播存下来,且不希望在播完后才处理分片:

N_m3u8DL-RE "https://example.com/live.m3u8" \ --live-real-time-merge \ --live-record-limit 00:30:00 \ --save-name "直播录制"

执行成功后会在输出目录生成边录边合并的直播文件,录满 30 分钟自动停止。

注意:网络不稳时不要加--live-pipe-mux,管道经 ffmpeg 转发容易丢帧;需要固定列表刷新间隔时用--live-wait-time。

🔓 加密流解密:KID:KEY 密钥解开 CENC/AES

如果分片带 CENC / AES 加密,直接下载后无法播放,把密钥交给--key并指定解密引擎:

N_m3u8DL-RE "https://example.com/encrypted.m3u8" \ --key "0123456789abcdef0123456789abcdef:89abcdef0123456789abcdef01234567" \ --decryption-engine MP4DECRYPT \ --save-name "解密视频" \ -M format=mp4

产物为解密后的 mp4,可正常播放。

提示:密钥写法为KID:KEY,KID 在前;多条密钥就重复写多个--key;解密卡住时可用--decryption-engine FFMPEG换引擎。

调参提速:线程数、重试次数、分片区间与限速

日常下载影响最大的四个参数:

  • --thread-count 16:提速主力,推荐区间 8~32,默认跟随本机 CPU 线程数,多数机器不需要调整
  • --download-retry-count 8:默认 3,取值 3~20 均可,网络不稳时调大,并配合--http-request-timeout 60
  • --custom-range 05:00-20:00:源站分片很多但只想要其中一段时,只取第 5~20 分钟,不必下载整条文件
  • -R 15M:限速到 15Mbps,避免下载占满带宽

完整参数列表见 README.md 的命令行章节。

注意:老版本 Windows 自带终端跑不起来属于系统终端限制,换 cmder 等终端再试;其余平台行为一致。

报错自查清单:从解析失败到 ffmpeg 缺失

  • 提示无法解析 URL,或返回的是 HTML 而非 m3u8/mpd:多为请求头缺失。先用 curl 确认响应是清单文件,再检查 Referer / Cookie 是否齐全,最后用-H补齐请求头重试:

    N_m3u8DL-RE "https://example.com/video.m3u8" -H "Referer: https://example.com" -H "User-Agent: Mozilla/5.0"
  • 分片下完但文件打不开、花屏:确认该流确实加密;--key中 KID 在前、KEY 在后,顺序写反解不开;仍失败则--decryption-engine FFMPEG换引擎重试。

  • 下载中途频繁中断、报超时:网络抖动的典型表现,--download-retry-count 8加大重试,--thread-count 4降线程,必要时经--custom-proxy http://127.0.0.1:7890代理出站。

  • 分片齐全,-M 混流时找不到 ffmpeg:mp4/mkv 混流依赖 ffmpeg,确认已安装且在 PATH 中;或--ffmpeg-binary-path /usr/local/bin/ffmpeg指向全路径;也可以先去掉-M只下分片,之后再自行合并。

速查

  • 点播成片:-M format=mp4(或 mkv)
  • 选流:-sv best、-sa lang=en:for=best、-sv res="1920*"、-sa all
  • 直播录制:--live-real-time-merge --live-record-limit 00:30:00
  • 解密:--key KID:KEY,引擎--decryption-engine FFMPEG|MP4DECRYPT
  • 调优:--thread-count 16(8~32)、--download-retry-count 8(3~20)、-R 15M、--custom-range 05:00-20:00
  • 依赖:混流需 ffmpeg 在 PATH 或经--ffmpeg-binary-path指定;老版 Windows 终端用 cmder

【免费下载链接】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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/16 8:49:49

AI安全网关怎么选?2026六大能力模块拆解与13家国内外厂商图谱

厂商信息为公开资料整理,截至 2026 年 10 月;能力描述以各厂商公开资料为准,排列不构成排名。法规条款以官方发布文本为准。2023 年春天,三星半导体部门的工程师为了排查代码问题,把一段源代码粘贴进了 ChatGPT。几周之…

作者头像 李华
网站建设 2026/10/16 8:47:44

可编程子窗口操作:从生命周期管理到脚本化调度实践

1. 内容整体设计与思路拆解标题里挂着一个长长长的前缀“未来之窗昭和仙君”,说实话第一眼很容易让人以为是某个修仙题材的连载栏目。但真正落到“可编程子窗口操作功能”这十个字上,本质就是一个窗口管理框架里,把子窗口从“固定死板的面板”…

作者头像 李华
网站建设 2026/10/16 8:47:06

纯C静态base64工具:离线零依赖,嵌入式与内网场景首选

简介:这是一款专为开发者与安全测试人员设计的Windows平台Base64编码解码离线工具,解决无网络环境下的数据编解码需求,尤其适用于HTML内嵌图片处理、API密文调试、日志分析等场景。资源包共283个文件,含22个可执行程序&#xff08…

作者头像 李华
网站建设 2026/10/16 8:46:18

三菱FX5U PLC工程样板程序:从框架设计到调试落地的完整方法论

做了几年的自动化项目,我发现一个挺讽刺的现象:很多 FX5U 项目,程序是在上一个项目基础上删删改改拼出来的,能跑,但三个月后连写程序的人自己都要花半天才能看懂改哪儿。三菱 FX5U PLC 功能样板程序的价值,…

作者头像 李华
网站建设 2026/10/16 8:46:12

图形语言进化史:从岩画到屏幕,如何用形状色彩留白传达信息

上周内部评审,团队为一张活动主视觉吵了整整两个小时。有人说右上角那组色块太抽象了,用户第一眼根本不知道要表达什么;也有人说图形本来就不该被“读懂”,它负责的是情绪和记忆。两边其实都有道理,但这场争论本身暴露…

作者头像 李华
网站建设 2026/10/16 8:46:07

Agent主动干预之道:何时该打断用户?量化决策与实战指南

最近我在调一个企业内部流程助手时,遇到一个特别典型的场景:用户在对话框里说“帮我订明早9点到某地的会议室”,系统从日历和会议室系统里抓到了两个同名会议室,一个在公司A座3楼,一个在公司B座5楼。助手按往常的“就近…

作者头像 李华