N_m3u8DL-RE 流媒体下载工具速成教程:一条命令抓 m3u8 与 MPD,5 分钟搞定直播录制
【免费下载链接】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 是一款跨平台的流媒体下载工具,能把 DASH(MPD)、HLS(M3U8)、Smooth Streaming(ISM)三种格式的视频从"在线播放"变成"本地文件",点播和直播录制都支持。你不需要看懂那些协议原理,只需要学会几条命令行参数,就能把浏览器能播的东西存下来。
两种最常见的卡点场景
先对一下号,你是不是也遇到过下面这两种情况:
场景一:链接能播,却存不下来。你抓到一个.m3u8或.mpd链接,丢进下载器只下到一个几百 KB 的播放列表文本,真正的视频是一堆 TS 分片散落在 CDN 上。这正是 N_m3u8DL-RE 的主场——它负责解析播放列表、并发拉取全部分片、自动合并成片,全程你只需要一条命令。
场景二:想把正在直播的节目录下来。直播流一直在滚动更新,普通下载器无从下手。N_m3u8DL-RE 对 DASH/HLS 直播流有专门的录制模式,还能边录边实时混流成 TS 文件,录多少存多少。
后面所有内容都围绕这两个场景展开。
获取下载工具:一步到位
拿到工具只有两条路,选一条就行:
- 从项目 Releases 页面下载对应平台的最新构建包,解压即用(推荐,无编译环境要求);
- 从源码构建,地址是
https://gitcode.com/GitHub_Trending/nm3/N_m3u8DL-RE。
Arch Linux 用户还有一条捷径,直接用 AUR 装:
yay -Syu n-m3u8dl-re-bin⚠️ 低版本 Windows 自带终端可能无法运行本程序,换用 cmder 即可解决,这是官方 README 里明确提到的兼容方案。
最短的下载命令:URL + 一个参数
场景一的完整操作就两步:拿到链接,跑命令。
N_m3u8DL-RE https://example.com/stream.m3u8 -o 我的视频程序会自己解析流、选轨道、并发下载、合并分片,最后在--save-dir(默认当前目录)输出成片。终端里能实时看到进度、速度和状态,全程可中断。
两个立刻用得上的小技巧:
- 加
--auto-select可以自动选择所有类型的最佳轨道,省去手动挑清晰度; - 下载大文件时加
--thread-count 12调整并发线程数,默认值是本机 CPU 线程数,带宽不够就调小。
挑清晰度与音轨:-sv、-sa、-M 参数速查
当你想精确控制"下哪条流"时,用下面这张表就够了,全部来自官方帮助文档:
| 需求 | 参数写法 | 说明 |
|---|---|---|
| 选最高清晰度视频 | -sv best | 不指定就是 best 默认行为 |
| 只要 4K 视频 | -sv res="3840*":for=best | 正则匹配分辨率 |
| 选最佳英语音轨 | -sa lang=en:for=best | 多音轨流常用 |
| 只要中文字幕 | -ss name="中文":for=all | 字幕默认输出 SRT |
| 混流成 mp4 | -M format=mp4 | 音视频分离时用,默认走 ffmpeg |
| 并发下载音/视/字幕 | -mt | 多轨道并行,整体更快 |
| 只下载视频前 20 分钟 | --custom-range 0-20:00 | 按时间/分片区间截取,省流量 |
| 限速 | -R 15M | 单位 Mbps 或 Kbps |
组合起来感受一下,下载 4K 视频 + 最佳英语音轨并混流成 mp4:
N_m3u8DL-RE <链接> -sv best -sa lang=en:for=best -M format=mp4 -o 成片想深挖每个参数的更多写法,项目内置了--morehelp <OPTION>,随时能查。
直播录制参数清单:限时长、实时混流
场景二只需要在直播链接上加几个直播专用参数:
| 参数 | 作用 | 建议 |
|---|---|---|
--live-record-limit 01:00:00 | 录制 1 小时后自动停止 | 必加,防止录爆磁盘 |
--live-pipe-mux | 通过管道 + ffmpeg 实时混流到 TS 文件 | 网络稳定时再开 ⚠️ |
--live-keep-segments | 实时合并时保留原始分片 | 默认开启,丢了还能补救 |
--live-take-count 16 | 首次获取的分片数量 | 默认 16,一般不用动 |
一个可直接套用的录制命令:
N_m3u8DL-RE <直播链接> --live-record-limit 02:00:00 -o 录像注意官方特别提醒:网络环境不稳定时不要开--live-pipe-mux,管道内的数据读取由 ffmpeg 负责,弱网下容易丢直播数据——这种时候就老老实实保留分片、事后手动合并。
加密流解密与常见问题排查
高质量流经常带 AES-128 加密,N_m3u8DL-RE 内置了解密引擎,拿到 KID 和 KEY 就能解:
N_m3u8DL-RE <链接> --key "KID16进制:KEY16进制" --decryption-engine FFMPEG解密依赖 mp4decrypt / shaka-packager / ffmpeg 三选一(默认 MP4DECRYPT),路径不对就用--decryption-binary-path指过去。
遇到坑按这个顺序查一遍,能解决大部分问题:
- 程序没反应或乱码:旧 Windows 终端不支持 → 换 cmder 运行;
- 分片下载失败:网络抖动很常见,
--download-retry-count 5把重试次数从默认的 3 次调高; - 解密报错:确认 KID/KEY 格式正确,或改用
--decryption-engine FFMPEG换引擎; - 行为怪异:先确认你用的是最新版本,老版本的解析问题在新构建里可能已修复。
仓库里有一份现成的测试流清单,覆盖多音轨、直播、加密、高级 HLS 等类型,调试时非常好用:TestStreams.md
N_m3u8DL-RE 适用性边界
最后给你一份实话清单,别期待它包办一切:
✅适合:MPD/M3U8/ISM 三类协议的点播下载、DASH/HLS 直播流录制、AES 加密流的解密下载、多音轨多字幕流的选择与混流
⚠️需注意:直播实时混流(--live-pipe-mux)依赖稳定网络;解密需要自备 KID/KEY,工具不破解密钥来源
❌不适合:Widevine、FairPlay 等商业 DRM 保护的内容;纯网页转码流(非标准 DASH/HLS/MSS 协议)
准备好链接就动手试试,先跑通那条"URL + 一个参数"的最短命令,剩下的参数你用到时再回来查表。
想深入源码时,可以从这几个目录入手:
- 下载调度核心:src/N_m3u8DL-RE/DownloadManager/
- 协议解析器:src/N_m3u8DL-RE.Parser/
- 解密实现:src/N_m3u8DL-RE/Crypto/
【免费下载链接】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),仅供参考