N_m3u8DL-RE 流媒体下载与直播录制指南
【免费下载链接】N_m3u8DL-RECross-Platform, modern and powerful stream downloader for MPD/M3U8/ISM. English/简体中文/繁體中文.项目地址: https://gitcode.com/GitHub_Trending/nm3/N_m3u8DL-RE
播放器里 .m3u8 链接放得欢,下载器却只吐一句 403 或"检测到多条流",第一次用它的人多半卡在这里。N_m3u8DL-RE 是跨平台的流媒体下载工具,覆盖 DASH、HLS、Smooth Streaming 三类协议,点播和直播录制一条命令都能跑。
最小闭环:三分钟拿到第一个 mp4
第一次用它,目标只有一个:让一个视频文件落进硬盘。
从项目 Releases 页下载对应平台的二进制,丢进 PATH 就能调用;Arch 用户装 AUR 的 n-m3u8dl-re-bin 也行。M3U8 文件本身只是一份分片清单,工具要做的是解析清单、并发拉取分片,再拼回完整视频。
这条命令下的是测试流清单里一条公开加密 HLS 示例流,成品落到 ./out:
N_m3u8DL-RE "http://playertest.longtailvideo.com/adaptive/oceans_aes/oceans_aes.m3u8" --save-dir "./out" --save-name "oceans"--save-dir成品输出目录--save-name输出文件名--del-after-done完成后删除临时分片,默认开启
跑完在 ./out 里出现能播放的 oceans.mp4,就算跑通:分片已合并,临时文件自动清掉。
按需加料:四块拼图想到哪块看哪块
跑通只是起点,下面四块互相独立,可以只跳到自己需要的那一块。
多档清晰度与音轨怎么挑
不挑流就全下,空间不够的时候这招最省。
DASH 测试流里有多档分辨率和多条音轨,只留 1080p 视频和英文音轨:
N_m3u8DL-RE "https://media.axprod.net/TestVectors/v7-Clear/Manifest_1080p.mpd" -sv "res=1920*" -sa "lang=en"-sv按正则筛视频,res=1920*匹配 1080p-sa按正则筛音频,lang=zh匹配中文--auto-select自动选各类型最佳轨道,省去手动挑
加密流缺密钥怎么补
报"无法解析"多半是密钥没给,补上就能解密。
密钥以 KID:KEY 形式给出,多条密钥就重复传参,也可以放进文件里逐行维护:
N_m3u8DL-RE "加密流.mpd" --key "KID:KEY" --key-text-file "keys.txt" --decryption-engine FFMPEG--keyKID 与 KEY 都写十六进制--key-text-file从密钥文件按 KID 查找 KEY--decryption-engine换解密引擎,默认 MP4DECRYPT
HLS 加密流还能用--custom-hls-method加--custom-hls-key直接指定密钥来源,HEX、Base64 都收。
断流和限速怎么调
卡住的人多半在这一步,动参数比换流有效。
这条命令压低线程、限制速率,并给分片失败多留几次重试:
N_m3u8DL-RE "URL" --thread-count 8 -R 15M --download-retry-count 10 --http-request-timeout 60 -H "User-Agent: Mozilla/5.0"--thread-count下载线程数,默认 10,网络不稳就调低-R限速值,Mbps 或 Kbps;-H补浏览器请求头--download-retry-count分片失败重试次数,默认 7
--http-request-timeout控制单个请求的超时秒数,默认 100,慢网络下放宽些。
临时分片放哪个盘
大文件下载前,想好分片落在哪个盘。
临时文件和成品分开落盘:
N_m3u8DL-RE "URL" --tmp-dir "D:/tmp" --save-dir "E:/media"--tmp-dir临时分片存放位置,系统盘紧张就挪去大盘--save-dir最终成品目录
组合打法:把模块串成完整链路
真实任务很少只用一个参数,下面两条把前面的模块串成完整链路。
录满两小时自动收尾
直播录制没人一直盯着,分片不合流又不好看,就定时长、开实时合并。工具对直播流会自动进录制模式,不用加开关。
N_m3u8DL-RE "URL" --live-record-limit "02:00:00" --live-real-time-merge -M "format=mp4" --save-dir "./live" --save-name "Conference"--live-record-limit到点自动收尾,格式 HH:mm:ss--live-real-time-merge边录边合并,随时打开不花屏--live-wait-time手动调直播列表刷新间隔,流更新快就调小
录制文件是持续追加的,中途中断已录部分仍可播;网络不稳时别开--live-pipe-mux,管道丢帧的风险更高。
多清晰度加字幕一次混流
课程流里多分辨率、多音轨加字幕,只挑想要的能省空间,最后混成单文件方便分发。
只留 1080p、中文音轨和中文字幕:
N_m3u8DL-RE "课程.m3u8" -sv "res=1920*":for=best -sa "lang=zh":for=best -ss "name=中文":for=all --sub-format SRT -M "format=mp4"for=best在匹配出的轨道里再选带宽最高的一条--sub-format字幕输出格式,默认 SRT-M format=mp4把音视频和字幕混进单个文件
翻车急救
报错不用逐行读,对号入座就行。
- 如果你遇到 403 或"内容无法访问" → 先用
-H补 User-Agent、Referer、Cookie 等请求头,也可以--cookies读浏览器导出的 Cookie 文件 - 如果你遇到断流或中途断开 → 先调低
--thread-count,给--download-retry-count留足次数,再放宽--http-request-timeout - 如果你遇到解密失败 → 先核对
--key格式是不是 KID:KEY、十六进制对不对,再换--decryption-engine试另一个引擎 - 如果你遇到磁盘被分片撑爆 → 先用
--tmp-dir把临时文件挪到空间大的盘 - 如果你遇到"检测到多条流"拿不准 → 先加
--auto-select自动选最佳轨道 - 如果你遇到老版本 Windows 终端跑不起来程序 → 按 README 建议在 cmder 里执行
N_m3u8DL-RE 适合习惯命令行、要批量处理 DASH、HLS、Smooth Streaming 流的人;DRM 保护和网页抓链它都不碰,链接还是要你自己先找出来。延伸阅读:README.md 完整命令行说明、TestStreams.md 公开测试流清单、src/ 源码目录。
【免费下载链接】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),仅供参考