☰
N_m3u8DL-RE 流媒体下载与直播录制指南
2026/10/16 2:23:45 网站建设 项目流程

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),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询