
N_m3u8DL-RE 完整教程一条命令把线上 DASH/HLS 流存成本地完整文件【免费下载链接】N_m3u8DL-RECross-Platform, modern and powerful stream downloader for MPD/M3U8/ISM. English/简体中文/繁體中文.项目地址: https://gitcode.com/GitHub_Trending/nm3/N_m3u8DL-REN_m3u8DL-RE 能把浏览器里能播放的线上流MPD、m3u8、ISM 三种格式直接存成本地可播放的完整视频文件解析、多线程抓分片、解密、合并全由它完成。读完这篇你会装好它、用一条命令下载完点播流并掌握选清晰度、解密加密流、定时录直播这三个高频操作。一分钟搞懂N_m3u8DL-RE 能做什么、不能做什么项目说明它是什么跨平台Windows / Linux / macOS命令行流媒体下载工具MIT 协议开源当前版本 0.6.0支持的输入MPDDASH、m3u8HLS、ISMMSS清单地址点播和直播DASH/HLS 直播录制都支持能力边界清单地址要由你提供它不解析网页源码找流不下载网页整站资源解密依赖外部工具mp4decrypt / ffmpeg / shaka-packager且程序启动前必须能找到 ffmpeg否则直接报错退出 最后一行很关键ffmpeg 不是可选项。后面所有任务都默认你系统里已经装好了它。30 秒装好并自检三条安装路径任选其一Windows到项目 Releases 页下载对应平台压缩包解压后直接运行N_m3u8DL-RE.exe无需安装。⚠️ 老版本 Windows 自带终端可能跑不动本程序出现无响应或乱码时换 cmder 运行官方 README 里有同样提示。Arch Linux 及其衍生版AUR 有现成包yay -Syu n-m3u8dl-re-bin任意平台源码构建需要 .NET SDK目标框架 net10.0git clone https://gitcode.com/GitHub_Trending/nm3/N_m3u8DL-RE cd N_m3u8DL-RE dotnet build装完跑两条自检命令N_m3u8DL-RE --version N_m3u8DL-RE --help能打印出N_m3u8DL-RE 0.6.0这样的版本号就说明装好了--help列出全部参数相当于随身携带的字典。顺手确认一下ffmpeg -version也能跑通这一步不过关后面所有任务都起不来。下载是如何完成的四步链路拿到一个任务后程序内部按固定顺序走四步理解了这个模型后面出任何问题你都知道它卡在哪一步解析读取 MPD/m3u8/ISM 清单列出全部轨道视频、音频、字幕和分片地址。清单就像目录页分片才是正文。各协议的解析器在 src/N_m3u8DL-RE.Parser/Extractor/一个协议一个提取器。抓片按你选中的轨道多线程拉分片线程数默认等于本机 CPU 线程数逻辑在 src/N_m3u8DL-RE/DownloadManager/。解密若清单标记了加密按你提供的密钥调用 mp4decrypt / ffmpeg / shaka-packager 等外部工具逐片解密见 MP4DecryptUtil.cs。合并默认调用 ffmpeg 把分片拼成完整文件MergeUtil.cs合并完成后临时分片默认自动清理还会输出一份解析信息的 json。实战任务一一条命令存下点播流 目标先跑通解析 → 抓片 → 合并全链路拿到一个能播的文件。做法用仓库测试流清单里的无加密 1080p DASH 流带多音轨多字幕适合当第一枪N_m3u8DL-RE https://media.axprod.net/TestVectors/v7-Clear/Manifest_1080p.mpd --save-name demo --auto-select关键参数为什么这么配--auto-select不指定轨道时默认不会替你挑这个参数让它自动选所有类型里的最佳轨道新手最省心--save-name demo指定输出文件名输出目录默认当前目录也可用--save-dir改。怎么验收命令结束后当前目录出现 demo 开头的视频文件用播放器打开能正常播放同目录还有一份 json 元数据文件--write-meta-json默认开启记录了解析出的全部轨道信息。实战任务二从多码率流里挑出你要的清晰度和音轨这一步比任务一多了筛选任务一是全都要这里只下你想要的那条轨道其余码率一分带宽不花。 目标从多码率流里只下 1920x1080 视频 英语音轨。做法官方多分辨率测试流 MultiResMPEG2 正好用来练筛选N_m3u8DL-RE https://dash.akamaized.net/dash264/TestCases/2c/qualcomm/1/MultiResMPEG2.mpd -sv res1920*:forbest -sa langen:forbest关键参数为什么这么配-sv/-sa后面的条件都是正则表达式字段包括res分辨率、codecs编码、lang语言、ch声道、name等|表示或forbest表示符合条件的只留最匹配的一条这也是默认值写best2留两条、all全留想下 4K HEVC写成-sv res3840*:codecshvc1:forbest这是官方帮助里的现成例子。怎么验收看解析输出选中视频轨分辨率应为 1920x1080打开输出文件音轨应只剩你要的那条英语。实战任务三带密钥解密加密流这一步比任务二多了解密片段在传输时是密文程序调用外部工具把明文摘出来再合并产出的文件才能直接播。 目标把一份 ClearKey 加密的流存成正常可播放的视频。做法测试流清单里有一条 ClearKey 流密钥就写在同一行直接复制N_m3u8DL-RE https://media.axprod.net/TestVectors/v7-MultiDRM-SingleKey/Manifest_1080p_ClearKey.mpd --key 9eb4050de44b4802932e27d75083e266:166634c675823c235a4a9446fad52e4d关键参数为什么这么配--key的格式是KID:KEY冒号前是密钥 ID、冒号后是密钥本体多组密钥就按顺序传多个--key所有片共用同一把 KEY 时也可以只传 KEY解密默认调用 mp4decrypt--decryption-engine默认MP4DECRYPT它必须装在 PATH 里没有就换引擎--decryption-engine FFMPEG或SHAKA_PACKAGER也可以用--decryption-binary-path指全路径密钥多到不想敲命令行时用--key-text-file传一个密钥文件。怎么验收用播放器打开文件画面正常、声音正常、拖动进度条不花屏说明解密和合并都成了。按需组合参数先想清楚你要改什么不急着背参数按你想改什么对号入座改输出--save-dir输出目录、--save-name文件名批量下载多个同类型流容易重名时用--save-pattern套模板例如--save-pattern SaveName_Resolution会输出demo_1920x1080.mp4这种带分辨率的文件名。改选轨-sv/-sa/-ss按正则挑视频、音频、字幕-dv/-da/-ds反向排除匹配到的轨道懒得写条件就--auto-select。改速度和稳定性--thread-count线程数默认本机 CPU 线程数、--download-retry-count单片重试次数默认 3、--http-request-timeout请求超时秒数默认 100、-R限速如-R 15M、-mt并发下载已选的音视频字幕。改解密--decryption-engine MP4DECRYPT | FFMPEG | SHAKA_PACKAGER三选一配套--decryption-binary-path指工具全路径。改时间范围--custom-range只下载部分分片四种写法05:00-20:00时间段、0-10片段序号、-99前 100 个分片、10-从第 10 个到结尾。直播录制把直播按点播逻辑录下来、录满即停N_m3u8DL-RE https://cmafref.akamaized.net/cmaf/live-ull/2006350/akambr/out.mpd --live-perform-as-vod --live-record-limit 02:00:00 --save-name live--live-perform-as-vod让程序按点播方式处理直播流产出完整文件--live-record-limit格式是 HH:mm:ss录到 2 小时自动退出。想边录边拼出可播放的文件再加--live-real-time-merge。⚠️ 另有--live-pipe-mux可实时混流进 TS但官方明确提示网络不稳时别开它管道内数据由 ffmpeg 读取容易丢直播数据。改合并策略默认 ffmpeg 合并--binary-merge纯二进制拼接、不重封装适合 fMP4/CMAF 分片--skip-merge完全不合并只留分片下载完想把分离的音视频混进指定容器用-M formatmp4或-M formatmkv:muxermkvmerge。 任何参数拿不准写法跑N_m3u8DL-RE --morehelp 参数名比如--morehelp select-video、--morehelp custom-range能直接看到官方详细帮助和示例。翻车了对号入座症状分片反复下载失败任务卡住或极慢。 根因网络不稳或默认的 100 秒请求超时对慢速分片太短重试 3 次也救不回来。 处方把重试提到 5、超时拉长到 300 秒线程适当调小再跑N_m3u8DL-RE 流地址 --download-retry-count 5 --http-request-timeout 300 --thread-count 4症状程序一启动就提示找不到 ffmpegffmpegNotFound。 根因ffmpeg 没装或不在 PATH 里。程序在开始下载前会预先检查 ffmpeg找不到直接拒绝启动。 处方装好 ffmpeg 后自检ffmpeg -version装在不同目录就用--ffmpeg-binary-path指全路径README 里的示例写法是C:\Tools\ffmpeg.exe。症状解密失败或下载完成的文件打不开、播放花屏。 根因--key只传了 KEY 没带 KID程序按错密钥解了密或默认 mp4decrypt 引擎与该内容的加密方式不兼容。 处方补齐完整KID:KEY格式重跑仍不行就--decryption-engine FFMPEG换引擎再试。症状老版本 Windows 终端里程序无响应或输出乱码。 根因旧系统自带终端不支持本程序README 有同样的提示。 处方换 cmder 运行同一条命令参数一个都不用改。进阶让脚本替你跑批量下载是最常见的进阶需求。把下面这段存成batch.sh以后加流只改URLS列表这一处#!/bin/bash URLS( https://media.axprod.net/TestVectors/v7-Clear/Manifest_1080p.mpd http://playertest.longtailvideo.com/adaptive/oceans_aes/oceans_aes.m3u8 ) mkdir -p ./videos for url in ${URLS[]}; do N_m3u8DL-RE $url --save-dir ./videos --auto-select --thread-count 8 done循环体里集中维护所有公共参数自动选最佳轨道、8 线程、产出统一落进./videos。换地址只动URLS整条流水线不用碰。带走这份速查表你想做的事命令 / 参数版本自检N_m3u8DL-RE --version基本下载N_m3u8DL-RE 流地址 --save-name demo --auto-select改输出目录--save-dir ./videos选视频轨-sv res1920*:forbest选音频轨日或英-sa langja\|en:forbest只下字幕--sub-only --sub-format SRTSRT/VTT 可选默认 SRT带密钥解密--key KID:KEY多组传多个换解密引擎--decryption-engine FFMPEG只下部分时间段--custom-range 05:00-20:00直播定时录制--live-perform-as-vod --live-record-limit 02:00:00限速 / 重试 / 超时-R 15M --download-retry-count 5 --http-request-timeout 300查参数详解--morehelp 参数名最后几条习惯能帮你少走不少弯路装完先跑--version遇到问题先确认不是旧版本很多坑新版已修轨道挑不准就先--auto-select跑通链路再学-sv/-sa精细筛选网络不稳时把--thread-count调小、--http-request-timeout调大比反复重跑有效临时分片默认任务结束后自动清理想留分片做备份就加--skip-merge⚖️ 只下载你拥有合法权限访问的内容这是 官方 README 里写明的使用底线【免费下载链接】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),仅供参考