N_m3u8DL-RE 视频下载与直播录制:一行命令下 m3u8/mpd,4 类场景模板直接抄
【免费下载链接】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、mpd、ism 地址变成本地视频。点播直播都支持,内置 AES 与 ChaCha20 解密,混流交给 ffmpeg 自动完成。
一、一条命令跑通首次下载
程序有三种拿法:发布页下载对应系统的 Release 包最省事;想试最新特性就克隆源码编译:
git clone https://gitcode.com/GitHub_Trending/nm3/N_m3u8DL-RE cd N_m3u8DL-RE/src && dotnet publish N_m3u8DL-REArch 系发行版直接装 AUR 里的n-m3u8dl-re-bin。装完跑一下N_m3u8DL-RE --version或--help,能打印版本号就说明环境没问题。
第一次下载只需一条命令,直接复制运行:
N_m3u8DL-RE "https://example.com/video.m3u8" --save-name "第一支视频" --save-dir ./downloads -M format=mp4它会自己解析播放列表、每类轨道挑最佳、逐段下载再合并成片;-M format=mp4顺手把分离的音视频混流成 mp4。手头没有测试地址?仓库里的 TestStreams.md 有一批公开测试流,第一条就能跑通。
二、按场景抄作业:4 个高频场景的命令模板
下面 4 个模板覆盖日常用得最多的情况,替换引号里的地址就能跑。
下载最佳画质视频
视频有多档分辨率,你只要最清晰的那一条:
N_m3u8DL-RE "https://example.com/video.m3u8" --auto-select --save-name "最佳画质" -M format=mp4--auto-select管选轨,视频、音频、字幕全类型自动挑最佳,不用手写正则。想省流量只留片段,加--custom-range 05:00-20:00就能只下第 5 到 20 分钟,它按分片起始时间截取、保留完整分片。
指定分辨率、语言与字幕
4K 视频、英日双语音轨、中文字幕,一条命令全挑对:
N_m3u8DL-RE "https://example.com/video.m3u8" -sv res="3840*" -sa lang="en|ja" -ss name="中文" --save-name "4K双语"-sv res="3840*"只挑 4K 档,-sa lang="en|ja"命中英文或日语音轨,-ss name="中文"抓带"中文"字样的字幕。多轨任务顺手带上-mt并发下载和--save-pattern "<SaveName>_<Resolution>",既提速又防文件名撞车。
直播录制防断流
直播要录满一小时,中途网络抖动也不能缺片段:
N_m3u8DL-RE "https://example.com/live.m3u8" --live-real-time-merge --live-record-limit 01:00:00 --live-wait-time 30 --save-name "直播回放"--live-real-time-merge管实时合并,录出来是完整文件而不是散片;--live-record-limit 01:00:00到点自动停。--live-wait-time 30把列表刷新间隔拉大到 30 秒,配合默认重试扛住短暂掉线;--live-pipe-mux对网络要求高,环境差就别开。
解密 AES 加密流
流带加密,你手头已有密钥:
N_m3u8DL-RE "https://example.com/enc.m3u8" --key "9eb4050de44b4802932e27d75083e266:166634c675823c235a4a9446fad52e4d" --save-name "已解密" -M format=mp4--key的格式是 KID:KEY,两段都是 32 位十六进制;整条流共用一个密钥时直接写--key KEY即可。解密默认走 mp4decrypt 引擎,可用--decryption-engine FFMPEG切换,密钥条目多就改用--key-text-file传文件。
三、核心参数速查表
模板之外的参数按选轨、输出、性能、直播、解密五类对号入座,用到哪行查哪行:
| 参数 | 作用 | 何时需要 |
|---|---|---|
--auto-select | 视频、音频、字幕全类型自动选最佳 | 不想写选择器规则时 |
-sv | 正则选视频轨,如res="3840*"挑 4K | 要锁定分辨率时 |
-sa | 正则选音频轨,如lang="en|ja" | 多音轨挑语言时 |
-ss | 正则选字幕轨,如name="中文" | 要指定字幕时 |
-M | 下载完成后混流,format=mp4/mkv,默认 ffmpeg | 要成品容器格式时 |
--save-dir | 指定输出目录 | 不想堆在当前目录时 |
--save-name | 设置保存文件名 | 想自定义成片名时 |
--sub-format | 字幕输出 SRT(默认)或 VTT | 播放器只认 VTT 时 |
--thread-count | 下载线程数,默认 10 | 网络不稳时调小 |
-R | 限速,单位 Mbps 或 Kbps,如-R 15M | 不想占满带宽时 |
--download-retry-count | 分片异常重试次数,默认 7 | 丢包多、常中断时 |
-mt | 音视频字幕并发下载 | 多轨任务想提速时 |
--live-real-time-merge | 直播录制时实时合并成完整文件 | 录直播必备 |
--live-record-limit | 录制时长上限,格式 HH:mm:ss | 要定时停录时 |
--key | 解密密钥,KID:KEY或单 KEY | 流带加密时 |
表里没列到的参数,用--morehelp <选项名>现查现用。
四、出错时怎么自查
提示无法解析播放列表
- 先用
curl -I或浏览器确认地址本身能打开,Content-Type 是播放列表而非 HTML 页面; - 多数"解析失败"其实是缺 Cookie 或 UA,用
-H补上请求头再试; - 确认程序是最新版——解析器迭代快,旧版本对新格式支持不全。
下载频繁超时、分片反复失败
- 把
--thread-count降到 4~8; - 同时拉高
--download-retry-count与--http-request-timeout,给重试留足窗口。
直播录到一半断了
- 先关掉
--live-pipe-mux,管道混流对网络要求高,不稳就别开; - 用
--live-wait-time加大刷新间隔,配合默认重试扛过短暂掉线。
拿不准某个参数的写法,--morehelp <选项名>能查单项帮助,完整说明见 README.md。
场景套模板、参数查表格、报错按症状排查,就这三条主线。现在去 TestStreams.md 挑一个公开流,下出你的第一条视频。
【免费下载链接】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),仅供参考