N_m3u8DL-RE 流媒体下载教程:MPD/M3U8/ISM 从安装到直播录制的完整指南 N_m3u8DL-RE 流媒体下载教程MPD/M3U8/ISM 从安装到直播录制的完整指南【免费下载链接】N_m3u8DL-RECross-Platform, modern and powerful stream downloader for MPD/M3U8/ISM. English/简体中文/繁體中文.项目地址: https://gitcode.com/GitHub_Trending/nm3/N_m3u8DL-RE假设你要做的事很简单把一路 4K 直播从头到尾录下来存成一个能直接播放的 TS 文件中途不掉帧、不出错。再假设你手里有一个带 CENC 加密的 MPD 链接想拿到能看的视频。这两件事N_m3u8DL-RE都能完成——它是一个跨平台的现代流媒体下载器支持 DASHMPD、HLSM3U8、MSSISM三种格式覆盖点播与直播两种场景并内置 mp4decrypt / shaka-packager / ffmpeg 三套解密引擎。读完本文你能做到在 Windows / Linux / macOS 上装好工具并跑通第一条下载命令完成点播下载、直播录制、加密内容解密三类高频任务用参数表格快速定位线程数、限速、请求头、选流等常用配置根据现象自查下载失败、音画不同步等常见问题一、准备工作环境与安装这一章解决装不上、跑不起来的问题。先把版本和依赖核对清楚再按你的平台选一条安装路径。平台与依赖要求项目要求说明运行框架.NET 10.0程序自包含发布包无需另装源码见 N_m3u8DL-RE.csproj操作系统Windows 10 / Linux / macOS低版本 Windows 终端可能不兼容建议用第三方终端FFmpeg混流、管道混流、FFMPEG 解密引擎需要不装也能下普通明文流mp4decrypt默认解密引擎 MP4DECRYPT 需要下载加密 MP4/CENC 内容必装shaka-packager可选多密钥体系或 CENC 高级场景才需要三种平台的安装方式平台命令说明Arch Linux 系yay -Syu n-m3u8dl-re-bin稳定版想追新特性可装n-m3u8dl-re-git开发版其他 Linux / macOSunzip N_m3u8DL-RE-linux-x64.zip chmod x N_m3u8DL-RE从 Release 页下载对应压缩包解压后加执行权限再放入 PATH 目录Windows解压压缩包把目录加入 PATH解压即用推荐使用 Windows Terminal 运行提示安装完先跑N_m3u8DL-RE --version确认程序可用比直接下载一条流更早暴露环境问题。二、上手三件事这一章用三个最高频场景带你跑通工具。每个场景都是一句话说明 一条命令 预期结果 一个坑的结构照着敲就能出活。2.1 下载一个点播 M3U8场景手里有一条点播链接想拿到完整视频文件。N_m3u8DL-RE URL -H User-Agent: Mozilla/5.0 --save-dir ~/Downloads # URL 替换为你的 m3u8 链接-H 补充站点要求的请求头--save-dir 指定输出目录预期结果~/Downloads下生成与流名称一致的视频文件结束时控制台打印分片校验结果。坑很多站点缺了 Referer 或 Cookie 就返回 403命令里带上-H Cookie: ...和-H Referer: ...基本就能过。2.2 录制一路直播场景直播正在进行想录满 2 小时后自动停止。N_m3u8DL-RE LIVE_URL --live-real-time-merge --live-record-limit 2:00:00 --save-name live # LIVE_URL 为直播地址实时合并边录边拼时长到点后自动结束预期结果录满 2 小时后生成单个合并好的直播文件无需手动拼分片。坑默认会边录边删已合并的分片想留原始分片排查问题就加--live-keep-segments默认为 true 时保留显式声明更稳。2.3 下载带密钥的加密流场景MPD 里声明了 CENC 加密你已从抓包中拿到 KID 和 KEY。N_m3u8DL-RE ENCRYPTED_URL --key KID:KEY --decryption-engine MP4DECRYPT # ENCRYPTED_URL 为加密流地址KID/KEY 替换为实际的十六进制密钥对预期结果程序调用 mp4decrypt 逐片解密最终产出可播放的明文文件。坑只给--key KEY不带 KID时程序会把 KEY 应用到所有 KID 上多密钥流会解出一堆乱码务必核对 KID 匹配关系。三、调优工具箱常用参数与配置这一章把参数按用途分组遇到具体需求直接查表不用翻长帮助。输入输出参数作用示例值--save-dir输出目录~/Downloads--save-name输出文件名不含扩展名--save-name MyVideo--save-pattern命名模板支持ResolutionBandwidth等变量多流防冲突--save-pattern SaveName_Resolution--tmp-dir临时分片目录建议放快盘/fast-ssd/tmp--del-after-done完成后是否删临时文件--del-after-done false留档调试网络参数作用示例值-H追加请求头可多次使用-H Cookie: sessionabc--custom-proxy指定代理http://127.0.0.1:8888--http-request-timeout请求超时秒默认 100--http-request-timeout 120--download-retry-count单分片失败重试次数默认 3--download-retry-count 5性能参数作用示例值--thread-count下载线程数默认等于 CPU 线程数--thread-count 16-R限速支持 Mbps/Kbps-R 10M-mt音视频字幕并发下载-mt过滤与选流参数作用示例值-sv正则选视频流-sv res3840*:codecshvc1:forbest-sa正则选音频流-sa langja|en:forbest2--custom-range只下部分分片支持序号或时间--custom-range 05:00-20:00--ad-keyword按正则过滤广告分片--ad-keyword ad\|adv环境变量与配置文件除命令行参数外工具还读三个环境变量定义见 EnvConfigKey.cs变量作用示例RE_LIVE_PIPE_OPTIONS覆盖--live-pipe-mux时 ffmpeg 的混流参数-c:v copy -c:a aac -b:a 192kRE_LIVE_PIPE_TMP_DIR非 Windows 下命名管道文件目录/tmp/pipeRE_KEEP_IMAGE_SEGMENTS设为1时保留图形字幕的 m4s 原始分片1生效优先级命令行参数 环境变量 程序默认值。比如默认线程数是 CPU 线程数你用--thread-count 16显式指定后就以 16 为准。四、硬核场景这一章讲三个进阶主题。每个主题先给什么时候用它的判断标准再上命令最后点一个坑。4.1 解密引擎怎么选判断标准明文流不用管HLS 的 AES-128 用默认流程即可MP4/CENC 单密钥优先 MP4DECRYPT需要按 KID 精确匹配或多密钥体系时切 SHAKA_PACKAGERTS 容器加密用 FFMPEG 引擎。# 单密钥 CENC默认引擎mp4decrypt N_m3u8DL-RE URL --key KID:KEY # 多密钥场景切 shaka-packager 并显式指定其路径 N_m3u8DL-RE URL --key KID1:KEY1 --key KID2:KEY2 --decryption-engine SHAKA_PACKAGER --decryption-binary-path /usr/local/bin/shaka-packager # 密钥多到不想逐条敲从文件按 KID 查表 N_m3u8DL-RE URL --key-text-file keys.txt坑三个引擎都不在 PATH 里时用--decryption-binary-path/--ffmpeg-binary-path直接给全路径比反复报找不到程序快得多。4.2 直播实时管道混流live-pipe-mux判断标准想要录完即得一个完整 TS、且磁盘上不留一堆分片时用网络抖动明显的环境不要用管道数据由 ffmpeg 读取丢数据风险更高。# 开启管道混流录制直接写入 TS N_m3u8DL-RE LIVE_URL --live-real-time-merge --live-pipe-mux坑管道混流的 ffmpeg 参数可用RE_LIVE_PIPE_OPTIONS覆盖例如设-b:a 192k压一下音频码率避免输出文件过大。4.3 后期混流与字幕处理判断标准下载完音视频分轨、想合成一个成品文件时用-M手里有外挂字幕想合进同一文件用--mux-import只想要字幕文件用--sub-only。# 完成后混流为 mp4保留原始文件 N_m3u8DL-RE URL -M formatmp4:keeptrue # 混流时并入一条外挂字幕 N_m3u8DL-RE URL -M formatmkv:muxermkvmerge --mux-import pathzh.srt:langchi:name中文(简体) # 只下字幕并输出 SRT N_m3u8DL-RE URL --sub-only --sub-format SRT坑-M默认走 ffmpeg 混流mkv 容器建议显式muxermkvmerge对多音轨多字幕的兼容性更好。五、排错自查这一章把最高频的报错整理成速查表配合两条 Q/A 和调试开关遇到卡点先对一遍再动手。现象可能原因解决办法403 Forbidden缺 Referer / Cookie / UA-H补上站点要求的请求头解密失败、画面花屏KID 与 KEY 不匹配或引擎不匹配核对密钥对按 4.1 切换--decryption-engine分片反复超时网络不稳、线程数过高调大--download-retry-count和--http-request-timeout线程数降到 8~16直播录着断开直播端瞬时中断用--live-wait-time 30拉长列表刷新等待找不到 ffmpeg / mp4decrypt程序在 PATH 中搜不到用--ffmpeg-binary-path/--decryption-binary-path给全路径文件名冲突被改名多流下载默认加元数据后缀显式指定--save-pattern SaveName_Resolution高频问答Q直播录出来音画不同步怎么办 A先关实时混流走后期合并--live-pipe-mux不启用如果还是不同步直播字幕场景可试--live-fix-vtt-by-audio用音频起始时间校准 VTT。Q怎么确认是自己版本太旧还是程序真有 BUG A先到 Release 页拿最新自动构建版重跑一遍问题消失就是版本问题依旧复现再带着 DEBUG 日志去 Issues 反馈。日志与调试三件套--log-level DEBUG打开详细日志默认 INFO--write-meta-json true默认开启输出解析后的流信息 JSON选流选错了先看它--del-after-done false保留临时分片便于离线复现合并问题。收尾N_m3u8DL-RE 把 DASH/HLS/MSS 三种协议的点播与直播、加密与混流都收进了一条命令行里学一次参数就够你应付绝大多数流媒体下载任务。想跟进新版本和功能更新去 Release 页看发布记录、到 Issues 页搜同类问题即可。如果这篇教程帮你在 5 分钟内跑通了第一条命令欢迎点个关注后续更新第一时间看到。【免费下载链接】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),仅供参考