N_m3u8DL-RE 完整 m3u8 下载指南:一条命令保存点播与直播流
【免费下载链接】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、ISM 两大格式,点播、直播都能处理,一条链接就能存下完整可播放的视频文件。📺
能下什么:m3u8 背后的"清单"
你在网站看到的视频,其实不一定是完整大文件。网站会把它切成成百上千个小分片陆续发送,再附一份"列着每个分片地址和顺序"的小文本文件。这份文本就是常说的m3u8(对应 DASH 的 MPD、MSS 的 ISM)。
打个比方:视频像被拆成一千个小包裹的快递,m3u8 就是快递公司的"运单清单",上面写着每个小包裹的地址和顺序。N_m3u8DL-RE 干的事就三步:读清单、派"快递员"按顺序并发取件、全部取完后拼回一个视频文件。
怎么安装:三个系统的最省事路径
- Windows:到项目 Release 页面下载
N_m3u8DL-RE-win-x64.zip,解压后双击N_m3u8DL-RE.exe即可,无需安装。旧系统自带终端可能不被支持,运行报错时换 cmder 这类终端试试。 - macOS / 一般 Linux:到 Release 页面下载对应平台的压缩包,解压后运行里面的
N_m3u8DL-RE可执行文件。 - Arch Linux 系:直接用包管理器:
yay -Syu n-m3u8dl-re-bin想尝鲜最新构建(需先装 .NET SDK):
git clone https://gitcode.com/GitHub_Trending/nm3/N_m3u8DL-RE cd N_m3u8DL-RE/src/N_m3u8DL-RE dotnet build -c Release第一次 m3u8 下载怎么做
核心用法就一行:
N_m3u8DL-RE "https://example.com/video.m3u8"再加三个参数就完全受控:
N_m3u8DL-RE "https://example.com/video.m3u8" \ --save-dir "./videos" \ --save-name "公开课-第01讲" \ --thread-count 8--save-dir:视频存到哪个文件夹--save-name:给文件起个你认识的名字--thread-count:同时开工取件的"快递员"数量,越多越快
建议:线程数设为 CPU 核心数的 1.5~2 倍,网络好时提速明显。
直播怎么录:边看边存
直播最怕"错过了",一条命令边看边录:
N_m3u8DL-RE "https://example.com/live.m3u8" \ --live-real-time-merge \ --live-record-limit 02:00:00--live-real-time-merge:录到的分片边下边拼成完整视频--live-record-limit:录制时长上限,02:00:00即录满 2 小时自动停
网络稳定时可以再开--live-pipe-mux,让数据走管道直通 ffmpeg 实时混流;但网络不稳时别开它——管道一旦丢数据,直播画面就会缺帧。录制调度逻辑可以看 直播录制调度。
多语言课程:音轨和字幕怎么一次拿下
课程经常中文、英文、字幕轨混在一起。省事的做法是全都要,到家再挑:
N_m3u8DL-RE "https://example.com/lecture.m3u8" \ --auto-select \ -sa all \ --save-dir "./courses"--auto-select:自动挑画质最好的视频-sa all:所有音轨全部下载
只要中文音轨就改成-sa lang=zh:for=best,意思是"中文轨里挑最好的一条"。
加密流怎么喂密钥
加密流(常见 AES-128 或 CENC)直接下只会得到乱码,需要把钥匙交出去:
N_m3u8DL-RE "https://example.com/encrypted.mpd" \ --key "KID:KEY" \ --decryption-engine FFMPEG--key:传密钥,格式KID:KEY;所有分片共用一把钥匙时直接--key KEY即可,密钥很多时改用--key-text-file从文件读取--decryption-engine:选谁来执行解密,默认 MP4DECRYPT,也可用 FFMPEG、SHAKA_PACKAGER- 解密工具不在默认路径时,用
--decryption-binary-path指绝对路径
建议:解密失败先读日志报错,十有八九是密钥本身不对或 KID 没对上,别急着换工具。AES、ChaCha20 的实现都在 解密算法目录。
只想要一部分:按时间段截取
不必全量下载,指定时间段即可:
N_m3u8DL-RE "https://example.com/movie.m3u8" \ --custom-range 05:00-20:00只取第 5 分钟到第 20 分钟的内容,适合从长视频里单独存精华片段。
下载失败先查这四处
| 症状 | 常见原因 | 解法 |
|---|---|---|
| 提示缺少运行时 | 系统没装 .NET Runtime | Windows 从微软官网装对应版本;Ubuntu/Debian 执行sudo apt install dotnet-runtime |
| 合并阶段报 ffmpeg 错误 | 没装 ffmpeg 或找不到路径 | 用ffmpeg -version确认,不在默认路径就用--ffmpeg-binary-path指向绝对路径 |
| 分片反复下载失败 | 网络波动或网站限速 | 调大--download-retry-count,需要走代理时用--custom-proxy |
| 解密失败、输出乱码 | 密钥格式错或 KID 对不上 | 先对照日志确认密钥,必要时换--decryption-engine引擎 |
想深挖时打开详细日志:
N_m3u8DL-RE "https://example.com/video.m3u8" \ --log-level DEBUG \ --log-file-path "./download.log"再开个终端执行tail -f download.log,下载过程中就能实时盯进度。
源码怎么读:三步路线
想看懂它如何工作,按这个顺序:
- src/N_m3u8DL-RE.Parser/Extractor/——MPD、M3U8、ISM 三种清单的解析器,即"读运单"的环节
- src/N_m3u8DL-RE/DownloadManager/——点播与直播两条流程的调度核心
- src/N_m3u8DL-RE/Crypto/ 与 src/N_m3u8DL-RE/Util/——解密算法和各类实用工具
读完后跑一遍dotnet test,执行 src/N_m3u8DL-RE.Tests/ 里的测试用例,能直接感受它的行为边界。
常见疑问
Q:只能下 m3u8 吗?不是。MPD(DASH)、M3U8(HLS)、ISM(MSS)三类主流格式都支持,点播、直播皆可。
Q:下载中途断网怎么办?分片独立下载,每个分片失败默认重试 3 次(--download-retry-count可调);完成后还会默认核对实际分片数量与预期是否一致,对不上会直接报错,不用自己数。
Q:怎么挑指定画质?-sv res="1920*":for=best会在 1080p 流里挑最好的一条;懒得写规则就用--auto-select全类型自动选最佳。
Q:收费吗?使用合规吗?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),仅供参考