news 2026/9/19 8:36:21

N_m3u8DL-RE 快速上手指南:如何用 3 条命令下载 m3u8 与 MPD 流并录制直播

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
N_m3u8DL-RE 快速上手指南:如何用 3 条命令下载 m3u8 与 MPD 流并录制直播

N_m3u8DL-RE 快速上手指南:如何用 3 条命令下载 m3u8 与 MPD 流并录制直播

【免费下载链接】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、ISM 三大流格式,支持加密流解密与直播录制。你只需在命令行输入链接,它会自动完成解析、选流、下载和合并,直接得到可播放的视频文件。本指南用 4 个实战场景带你从安装到直播录制。

[!TIP] 流媒体下载原理:一个 m3u8/MPD 文件本身不是视频,而是"分片清单",记录了每一小段媒体(片段)的地址。N_m3u8DL-RE 先读取清单,再把分片逐一下载并按顺序拼接成完整文件,加密内容则用密钥还原明文。

初见:3 条命令安装并跑通 N_m3u8DL-RE

最快安装方式:到项目的 Release 页面下载与系统对应的压缩包,解压即可运行,无需额外依赖。Arch Linux 用户可以直接用 AUR:

# Arch Linux 安装(官方 README 推荐) yay -Syu n-m3u8dl-re-bin

💡 依赖说明:程序运行前会检查系统里是否有ffmpeg(一个通用的音视频处理工具),找不到会直接报错退出,所以先装好 ffmpeg。

第一条能跑通的命令:用仓库自带的公开测试流,不用注册也不用版权风险:

# 1. 确认安装成功,应输出版本号 N_m3u8DL-RE --version # 2. 下载官方测试流(多音轨多字幕的 DASH 示例) N_m3u8DL-RE "https://media.axprod.net/TestVectors/v7-Clear/Manifest_1080p.mpd"

预期结果:终端会列出解析到的视频、音频、字幕轨道,并弹出交互式选择框(方向键 + 回车选流)。下载完成后显示绿色的Done,当前目录(临时目录默认也在当前目录)里生成合并后的视频文件。完整的测试流清单见 TestStreams.md,涵盖 HLS、DASH、ISM 和加密样例。

核心场景实战:下载、选画质、录直播、解密

场景一:一条命令下载一个点播视频

场景目标:拿到一个 m3u8 或 MPD 链接,直接得到一个可播放的完整文件。

关键命令

# 不指定轨道参数时进入交互式选择,手动勾选想要的流 N_m3u8DL-RE "http://playertest.longtailvideo.com/adaptive/oceans_aes/oceans_aes.m3u8" \ --save-dir ~/Videos \ # 输出目录 --save-name "oceans" \ # 保存文件名 -M format=mp4 # 完成后把分离的音视频混流为 MP4

结果验证:输出目录出现oceans.mp4,用播放器打开画面声音同步;同目录的临时文件夹会按--del-after-done默认策略自动清理。

常见坑:音视频分离下载时不写-M,会得到 .mp4 视频和 .m4a 音频两个文件,播放器可能只播到其中一路。

场景二:挑选指定画质、音轨和字幕

场景目标:一条流里有很多分辨率和多语言音轨,只下你要的那条,不浪费流量。

关键命令

# 选最佳 4K HEVC 视频 + 最佳英语音轨 + 所有中文字幕 N_m3u8DL-RE "https://media.axprod.net/TestVectors/v7-Clear/Manifest_1080p.mpd" \ -sv res="3840*":codecs=hvc1:for=best \ # 视频流:正则筛选分辨率和编码 -sa lang=en:for=best \ # 音频流:最佳英语 -ss name="中文":for=all \ # 字幕流:名称含"中文"的全部 --sub-format SRT # 字幕输出为 SRT

筛选语法支持正则,for=best2表示取最佳的前 2 条。完整规则可用--morehelp select-video在终端里查。

结果验证:开始下载前,终端会打印"已选择"的流清单,先确认选中的分辨率/语言符合预期再让它跑完。

常见坑:筛选条件太严(比如流里没有 HEVC)会导致"没有可下载的流"报错,先放宽条件跑一次--skip-download(只解析不下载,秒出结果)看看实际有哪些流。

场景三:定时录制 m3u8 直播流

场景目标:从直播开始录到结束,中途断流能自动恢复,磁盘不会被撑爆。

关键命令

# 录制 DASH 直播:实时合并 + 3 小时时长上限 N_m3u8DL-RE "https://cmafref.akamaized.net/cmaf/live-ull/2006350/akambr/out.mpd" \ --live-real-time-merge \ # 边下边合并成完整文件 --live-record-limit "3:00:00" \ # 最多录 3 小时 --live-wait-time 60 \ # 列表刷新/断流等待间隔 60 秒 --save-name "live_session"

三种录制方式的取舍:

方式命令特点适合场景
默认不加直播参数分片落盘、录完再合并最稳,断网可续
实时合并--live-real-time-merge边下边拼文件,随时可看长时间直播
管道混流--live-pipe-mux通过管道+ffmpeg 实时混成 TS追求极致实时

结果验证:录制中终端持续输出分片进度;达到--live-record-limit或你按 Ctrl+C 时,已录部分会完成合并。⚠️ 官方提醒:网络不稳时不要开--live-pipe-mux,管道数据容易丢失。

常见坑:直播流下完不合并、目录里剩一堆分片——检查是否中断在合并之前;想保留分片备份就加--live-keep-segments

场景四:解密加密流

场景目标:流本身打了 DRM(数字版权保护,一种对分片加密、需密钥才能还原的机制),拿到密钥后还原明文视频。

关键命令

# 所有轨道共用一个密钥时 N_m3u8DL-RE "https://media.axprod.net/TestVectors/v7-MultiDRM-SingleKey/Manifest_1080p_ClearKey.mpd" \ --key "9eb4050de44b4802932e27d75083e266:166634c675823c235a4a9446fad52e4d" \ --decryption-engine MP4DECRYPT # 用 mp4decrypt 工具解密(默认引擎) # 多密钥场景:把 "KID:KEY" 逐行写入 keys.txt 再引用 N_m3u8DL-RE "加密.mpd" --key-text-file keys.txt

--key的格式是KID:KEY(密钥 ID 对密钥);多条--key可重复传。--decryption-engine三选一:MP4DECRYPT(默认,需装 mp4decrypt)、FFMPEGSHAKA_PACKAGER

结果验证:播放解密后的文件画面正常、无花屏;若报错"未找到 mp4decrypt",说明解密工具没装,改用--decryption-engine FFMPEG即可用已有的 ffmpeg 顶替。

常见坑:KID 和 KEY 写反或密钥位数不对会导致解密出乱码,核对密钥格式(HEX)是否与流中声明的一致。

[!WARNING] 本工具仅供学习与技术研究使用。请只下载你拥有合法权限的内容,遵守所在地区的法律法规与平台条款,侵权使用需自行承担全部法律责任。

进阶调优:5 个高频参数值得记住

--thread-count <数字>

  • 干什么:并行下载分片的线程数,默认等于 CPU 线程数
  • 什么时候调:下载速度远低于带宽上限,或网络拥挤想降噪
  • 试试:核数的 2 倍拉满;弱网降到 2~4

--custom-range <范围>

  • 干什么:只下载部分分片,支持分片序号或时间点两种写法
  • 什么时候调:只需要内容某一段,或想快速试错省流量
  • 试试:05:00-20:00取第 5 到 20 分钟;-99取前 100 个分片

-R, --max-speed <限速>

  • 干什么:限制下载速度,单位支持 Mbps/Kbps
  • 什么时候调:不想占满带宽,或服务器对高并发限速
  • 试试:15M100K

--download-retry-count <数字>

  • 干什么:单个分片下载失败时的重试次数,默认 3
  • 什么时候调:直播录制或弱网环境下频繁丢分片
  • 试试:10~20,配合场景三的--live-wait-time一起用

--log-file-path <路径>

  • 干什么:把完整日志写入文件,事后排查全流程
  • 什么时候调:任务失败但终端信息看不清原因
  • 试试:logs/run.log,把文件发给 Issue 时很有帮助

故障急救:5 个常见报错与修复

报错现象原因修复方法
启动即提示找不到 ffmpeg程序强依赖 ffmpeg 做合并/混流,系统未安装安装 ffmpeg 并加入 PATH,或用--ffmpeg-binary-path指定全路径
老版本 Windows 终端运行异常/乱码旧系统自带终端不支持该程序(官方已知问题)换用 cmder 之类的第三方终端运行
分片 403 / 下载被拒站点要求特定请求头(Cookie、UA 等)-H "Cookie: xxx"补请求头,可多次;个别站点加--append-url-params把 URL 参数带到分片上
解密时报"未找到 mp4decrypt"默认解密引擎的第三方工具没装装 mp4decrypt,或改用--decryption-engine FFMPEG
直播录制中途停滞不动断流后按默认 3 次重试即放弃调大--download-retry-count--live-wait-time,并确认磁盘空间

排查顺序建议:先确认版本是否最新(官方建议在 Release 里取最新构建),再看日志文件,最后才提问。

收尾

N_m3u8DL-RE 把"解析→选流→下载→合并→解密"整条链路压缩成一条命令行,配合上面 4 个场景和 5 个调优参数,足以覆盖日常点播下载和直播录制。更多参数细节可以直接在终端执行--morehelp <选项名>查看,或阅读 README.md 中的完整参数表。

  • 官方文档:README.md(含全部命令行参数与 More Help)
  • 测试流清单:TestStreams.md
  • 核心源码目录:src/N_m3u8DL-RE/(Program.cs 是主流程)
  • 遇到问题:先到项目 Issues 页搜索是否有人遇到同样问题,附日志文件提问效率最高
  • 源码如需本地研究:git clone https://gitcode.com/GitHub_Trending/nm3/N_m3u8DL-RE,许可证见 LICENSE(MIT)

【免费下载链接】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/9/19 8:34:54

QQ邮箱授权码全解析:获取、SMTP代发邮件与避坑指南

做网站或者小程序开发的人&#xff0c;迟早会遇到一个需求&#xff1a;让系统自动给用户发邮件。注册激活、验证码登录、密码找回、风控通知&#xff0c;后台总得有个能自动发信的通道。我见过很多新手第一反应是拿自己的QQ邮箱去发&#xff0c;结果卡在“授权码”这一步——明…

作者头像 李华
网站建设 2026/9/19 8:34:50

React状态管理与性能优化实战指南

1. React 组件状态机原理与性能优化实战作为一名长期奋战在一线的前端开发者&#xff0c;我见过太多因为状态管理不当导致的性能灾难。React 将组件视为状态机&#xff08;State Machine&#xff09;的设计理念&#xff0c;本质上是对 UI 开发范式的革命性改进。今天我想分享的…

作者头像 李华
网站建设 2026/9/19 8:33:27

open-code-review:可编程的开源代码评审范式

1. “open-code-review”不是新工具&#xff0c;而是一套可落地的开源代码评审范式你可能在 GitHub Trending 或某次技术分享里见过这个词——open-code-review&#xff0c;它不像eslint那样有明确的 npm 包&#xff0c;也不像prettier那样带.prettierrc配置文件。它没有官网、…

作者头像 李华
网站建设 2026/9/19 8:33:02

基于红外脉搏检测的疲劳驾驶报警系统设计与实现

简介&#xff1a;基于单片机的汽车疲劳驾驶报警系统毕业设计论文&#xff0c;面向电子信息、嵌入式方向的本专科生及毕业设计选题者&#xff0c;用于参考完整论文结构、系统方案与关键技术实现。资源为2021-2022年收藏专题资料&#xff0c;压缩包内共1个doc文档&#xff0c;大小…

作者头像 李华
网站建设 2026/9/19 8:31:54

Vue3核心原理与面试高频题:从响应式到路由状态管理

开篇&#xff1a;说实话&#xff0c;我这两年面试了不下百来个前端候选人&#xff0c;Vue相关题目几乎场场都有。最明显的感觉是&#xff0c;很多人在简历上写着"熟练掌握Vue"&#xff0c;但一追问响应式原理、组件通信、路由守卫这些基础中的基础&#xff0c;就开始…

作者头像 李华
网站建设 2026/9/19 8:31:04

Ribo-seq数据分析全流程:从质控到翻译效率差异分析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华