news 2026/10/19 1:47:41

N_m3u8DL-RE 流媒体下载:10 分钟跑通 MPD / M3U8 到 MP4 的离线下载

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
N_m3u8DL-RE 流媒体下载:10 分钟跑通 MPD / M3U8 到 MP4 的离线下载

N_m3u8DL-RE 流媒体下载:10 分钟跑通 MPD / M3U8 到 MP4 的离线下载

【免费下载链接】N_m3u8DL-RECross-Platform, modern and powerful stream downloader for MPD/M3U8/ISM. English/简体中文/繁體中文.项目地址: https://gitcode.com/GitHub_Trending/nm3/N_m3u8DL-RE

在线视频只能看不能存,想缓存却总是踩坑。视频被切成几十上百个分片,靠清单文件(.mpd / .m3u8 / .ism)组织边播边拉。N_m3u8DL-RE 一条命令完成流媒体下载:解析清单、并发抓分片、用 FFmpeg 合并成完整文件。点播、直播都支持,10 分钟从 0 到 MP4。

5 分钟装好 N_m3u8DL-RE 并下载第一条流

三种安装方式任选,每种一行:

# 预编译包:到 Release 页面按系统下载 zip(win-x64 / darwin / linux-x64),解压即用,无需运行时
yay -Syu n-m3u8dl-re-bin # Arch Linux 及衍生版,n-m3u8dl-re-git 为开发版
git clone https://gitcode.com/GitHub_Trending/nm3/N_m3u8DL-RE && cd N_m3u8DL-RE/src/N_m3u8DL-RE && dotnet build -c Release

确认程序可用:

N_m3u8DL-RE --version

用官方测试流(多音轨多字幕,最适合首跑)发出第一条下载命令:

N_m3u8DL-RE "https://media.axprod.net/TestVectors/v7-Clear/Manifest_1080p.mpd"

预期输出:程序解析清单、自动挑一套最佳轨道,下载全部分片并合并,进度条跑完,当前目录留下一个 MP4。

日常习惯再挂三个参数,三行参数跑通:

N_m3u8DL-RE "https://media.axprod.net/TestVectors/v7-Clear/Manifest_1080p.mpd" \ --save-dir ./videos \ --save-name "我的收藏" \ --thread-count 8
  • --save-dir:输出目录,不存在会自动创建
  • --save-name:自定义文件名,比默认任务 ID 好认
  • --thread-count:并发下载线程数,可拉到 CPU 核心数两倍左右

再记两个小参数:--ui-language zh-CN切中文界面,--no-log关闭日志文件。

三个典型场景:DASH 轨道选择、直播录制命令、加密流解密参数

场景 A:多清晰度 / 多语言清单精准挑轨道

要解决什么:清单里塞着多档清晰度和好几条音轨,默认只下"最佳"一套,想精细控制就用轨道选择参数。

关键参数:-sv / -sa / -ss分别选择视频、音频、字幕,格式为字段=正则,冒号拼接,for=best|worst|all决定取几条;反向剔除用-dv / -da / -ds,语法相同。

可复制命令(官方多音轨测试流,1080p 最佳视频 + 最佳英语音轨):

N_m3u8DL-RE "https://media.axprod.net/TestVectors/v7-Clear/Manifest_1080p.mpd" \ -sv "res=1920*:for=best" \ -sa "lang=en:for=best"
  • 正则字段可换:codecs=hvc1按编码、name=按名称、frame=按帧率、bwMin=按码率
  • for=all保留全部匹配,例如-ss name="中文":for=all把所有中文字幕全要

坑:下多条轨道时不加--save-pattern "<SaveName>_<Resolution>_<Bandwidth>"区分文件名,后面的会覆盖前面的。

顺带两个细粒度参数:--custom-range 05:00-20:00只下第 5 到 20 分钟分片(也支持0-10这类分片序号写法);--task-start-at 20260815230000让任务定时启动,-M format=mp4与--mux-import path=zh.srt:lang=chi控制产物容器、引入外部字幕。

场景 B:直播录制命令,边播边录还能限时长

要解决什么:直播分片无限增长且边播边删,默认策略"全部下载完再合并",录几小时会很拖,需要实时合并。

关键参数:--live-real-time-merge开启实时合并,录完即得成品;--live-record-limit以HH:mm:ss格式设录制上限。

可复制命令:

N_m3u8DL-RE "https://cmafref.akamaized.net/cmaf/live-ull/2006350/akambr/out.mpd" \ --live-real-time-merge \ --live-record-limit 02:00:00
  • --live-perform-as-vod:把直播当点播一次性拉取
  • --live-keep-segments:录制时保留分片(默认开启),省磁盘可关掉

坑:弱网别开--live-pipe-mux,管道数据由 FFmpeg 读取,容易丢直播数据。

场景 C:加密流配钥匙,解密参数一次配齐

要解决什么:HLS / DASH 常见的 AES-128、CENC(ClearKey)等加密,没钥匙解不了,KID:KEY是关键。

关键参数:--key指定密钥,可重复传多次;--decryption-engine切换解密工具;工具不在 PATH 里就用--decryption-binary-path指全路径。

可复制命令(官方 ClearKey 测试流):

N_m3u8DL-RE "https://media.axprod.net/TestVectors/v7-MultiDRM-SingleKey/Manifest_1080p_ClearKey.mpd" \ --key 9eb4050de44b4802932e27d75083e266:166634c675823c235a4a9446fad52e4d
  • --key KID:KEY:多个分片共用同一 KEY 时可直接简写--key KEY
  • --decryption-engine:默认MP4DECRYPT,可选FFMPEG/SHAKA_PACKAGER
  • --key-text-file:密钥写进文件,程序按 KID 自动查找,密钥多时用

HLS 已知加密方法、密钥和 IV 时,直接硬指定三参数,省去猜测流程(把链接换成你的):

N_m3u8DL-RE "链接" \ --custom-hls-method AES_128 \ --custom-hls-key 000102030405060708090a0b0c0d0e0f \ --custom-hls-iv 000102030405060708090a0b0c0d0e0f

坑:不知道 KID 就先把密钥写进文件,用--key-text-file让程序按 KID 查;解密只针对你有合法权限的内容。

N_m3u8DL-RE 参数速查表

参数作用示例值
--save-dir输出目录,不存在自动创建./videos
--save-name自定义文件名我的收藏
--save-pattern文件命名模板,区分多轨道"<SaveName>_<Resolution>"
--thread-count并发线程数,默认 108
-sv / -sa / -ss正则选择视频 / 音频 / 字幕res="1920*":for=best
-dv / -da / -ds正则剔除轨道period="ad":for=all
--custom-range只下载部分分片05:00-20:00、0-10
--task-start-at任务开始时间 yyyyMMddHHmmss20260815230000
-M混流产物格式format=mp4
--mux-import引入外部字幕 / 音轨path=zh.srt:lang=chi
--live-real-time-merge直播实时合并(开关)—
--live-record-limit直播录制时长上限02:00:00
--live-pipe-mux直播管道实时混流(开关)—
--key解密密钥KID:KEY
--decryption-engine解密工具FFMPEG、MP4DECRYPT、SHAKA_PACKAGER
--key-text-file密钥文件,按 KID 查找keys.txt
--custom-hls-method/key/ivHLS 加密方法 / 密钥 / IV 硬指定AES_128
--download-retry-count分片重试次数,默认 710
--http-request-timeout请求超时(秒),默认 10060
--custom-proxy请求代理http://127.0.0.1:8888
--ffmpeg-binary-pathFFmpeg 全路径C:\Tools\ffmpeg.exe

排障与调优:合并失败、速度上不去先查什么

  • 合并或解密阶段报 FFmpeg 错误,先查是否装了 FFmpeg(ffmpeg -version),再试sudo apt install ffmpeg或用--ffmpeg-binary-path指全路径
  • 速度上不去,先看--thread-count是否太小,再试-R 15M显式限速或--custom-proxy走代理
  • 分片反复失败、中途断流,先查网络稳定性,再试调高--download-retry-count和--http-request-timeout
  • 合并后文件不完整,先看分片数量校验结果(默认开启--check-segments-count),再试--del-after-done false保留临时分片二次排查
  • 旧版 Windows 自带终端渲染不出界面,先换 cmder 之类的终端再试

仍定位不了,开 DEBUG 跟日志走:

N_m3u8DL-RE "链接" \ --log-level DEBUG --log-file-path ./download.log

下一步 🎬

全部参数见 README,单个参数跑N_m3u8DL-RE --morehelp select-video看完整字段列表。TestStreams.md是官方测试流清单,点播、直播、加密、多字幕场景都有,直接复制就能练手。想改行为,看三个源码目录:src/N_m3u8DL-RE.Parser/(清单解析)、src/N_m3u8DL-RE/DownloadManager/(下载调度)、src/N_m3u8DL-RE/Crypto/(解密实现)。

现在复制一条测试流链接,点亮你的第一个本地 MP4。

【免费下载链接】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/19 1:46:40

MCU缺货涨价背后:国产化替代的选型逻辑与实操经验

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

作者头像 李华
网站建设 2026/10/19 1:45:51

没有实体手柄怎么串流游戏?Sunshine 虚拟手柄配置完全手册

没有实体手柄怎么串流游戏&#xff1f;Sunshine 虚拟手柄配置完全手册 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine 周五晚上&#xff0c;你在平板上打开 Moonlight&#xff0c;…

作者头像 李华
网站建设 2026/10/19 1:44:11

漏洞挖掘九种思维:系统化渗透测试方法论与实战指南

在漏洞挖掘这个圈子里&#xff0c;我见过太多人拿着同样的工具、对着同一个目标&#xff0c;却得出完全不同的结果。新手往往盯着界面发呆&#xff0c;不知道从哪里下手&#xff1b;老手却能在几个小时内圈定可疑点&#xff0c;甚至直接打出有效Payload。差别从来不在工具&…

作者头像 李华
网站建设 2026/10/19 1:41:22

CEO视角拆解AI五要素:大模型、Agent、Plugin、Skill与MCP

最近这段日子&#xff0c;不管打开技术群还是产品群&#xff0c;基本都绕不开这几个词&#xff1a;大模型、Agent、Plugin、Skill、MCP。我自己的感受是&#xff0c;词越来越密&#xff0c;但很多人其实是“点状学习”——今天刷一篇文章搞懂了Agent&#xff0c;明天刷另一篇文…

作者头像 李华
网站建设 2026/10/19 1:41:10

3 种环境、5 条命令跑通 Biomni:生物医学 AI 智能体部署指南

3 种环境、5 条命令跑通 Biomni&#xff1a;生物医学 AI 智能体部署指南 【免费下载链接】Biomni Biomni: a general-purpose biomedical AI agent 项目地址: https://gitcode.com/GitHub_Trending/bi/Biomni Biomni 是一个通用生物医学 AI 智能体&#xff1a;LLM 负责推…

作者头像 李华