
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-REN_m3u8DL-RE 是一款跨平台的开源流媒体下载器专门用来把 DASHMPD、HLSM3U8和 MSSISM清单对应的在线视频保存到本地同时支持点播下载与直播录制。上周有个同事要做一场市场调研需要把一批课程视频逐段下载下来归档那些视频在网页里只能在线播放没有下载按钮分片还多达几百个。我帮他敲了一行命令二十分钟后整段课程就以一个完整的 MP4 躺在了指定目录里。如果你也遇到过只能看、不能存的尴尬这篇文章就是为你准备的。序幕先认识一下你要用的工具下载的原理其实不复杂视频网站不会把整段视频放在一个文件里而是切成许多小分片再用一个清单文件描述它们的地址和顺序。N_m3u8DL-RE 做的事情就是读取这份清单、把分片全部拉下来、最后合并成一个完整文件。点播VOD把已经上传完的视频下载到本地直播Live持续刷新清单把正在播的内容一段段录下来三种格式MPDDASH、M3U8HLS、ISMSmooth Streaming三大平台Windows / macOS / Linux 全部支持如果想深入了解它的内部实现源码目录也组织得很清晰源码目录职责src/N_m3u8DL-RE.Parser/解析 MPD / M3U8 / ISM 清单提取音视频轨道信息src/N_m3u8DL-RE/DownloadManager/下载调度包含直播录制管理器src/N_m3u8DL-RE/Crypto/AES、ChaCha20 等加解密逻辑src/N_m3u8DL-RE/Util/合并、字幕、工具类等通用能力src/N_m3u8DL-RE.Common/实体定义、日志、HTTP 工具等公共层下载本身零依赖但合并与解密阶段会用到 FFmpeg建议提前装好并在终端确认一下ffmpeg -version第一幕装好工具跑通第一行命令三分钟完成的两种安装方式方式一直接下载预编译版本推荐去项目的 Release 页面按系统选择压缩包即可Windows 选 win-x64macOS 选 darwinLinux 选 linux-x64。解压后直接运行可执行文件不需要装任何运行时环境。方式二从源码构建想追最新改动可以克隆仓库后用 .NET 编译git clone https://gitcode.com/GitHub_Trending/nm3/N_m3u8DL-RE.git cd N_m3u8DL-RE/src/N_m3u8DL-RE dotnet build -c ReleaseArch Linux 用户也可以用 AUR 源安装n-m3u8dl-re-bin是正式发行版n-m3u8dl-re-git是开发版。装完之后先验证一下程序能正常启动N_m3u8DL-RE --version第一条下载命令越简单越好程序的用法极其直接把链接或本地清单文件直接丢给它。下面用官方测试流练手多音轨多字幕非常适合第一次体验完整流程N_m3u8DL-RE https://dash.akamaized.net/dash264/TestCases/2c/qualcomm/1/MultiResMPEG2.mpd运行后你会看到程序解析清单、自动挑选最佳画质、并发下载分片、合并输出全程有进度条和速度显示像在看一段顺畅的流水线作业。推荐随手加上的三个参数实际使用时我会习惯性地带上输出目录、文件名和线程数N_m3u8DL-RE https://dash.akamaized.net/dash264/TestCases/2c/qualcomm/1/MultiResMPEG2.mpd \ --save-dir ./videos \ --save-name 第一次下载 \ --thread-count 8--save-dir保存目录不存在会自动创建--save-name自定义文件名比默认的一长串 ID 好认--thread-count并发线程数默认取 CPU 线程数宽带足够时可以调到核心数的 2 倍左右补充技巧想要中文界面加--ui-language zh-CN支持 en-US / zh-CN / zh-TW不想要日志文件刷屏加--no-log输入也支持本地文件把.m3u8清单存到本地后N_m3u8DL-RE playlist.m3u8一样能跑第二幕从一堆轨道里精准挑出你想要的很多 DASH 清单里塞着三四档清晰度、五六条音轨、好几组字幕。默认只下最佳一套想精细控制就用轨道选择参数。按分辨率、语言、字幕精挑细选三个选择参数都支持正则表达式格式是字段正则用冒号拼接最后用forbest|worst|all决定取几条# 只选 4K 且 HEVC 编码的最佳视频轨 N_m3u8DL-RE 清单链接 -sv res3840*:codecshvc1:forbest # 选最佳英语音轨 N_m3u8DL-RE 清单链接 -sa langen:forbest # 所有名字带中文的字幕全要 N_m3u8DL-RE 清单链接 -ss name中文:forall对应的还有-dv / -da / -ds用来反向剔除不需要的轨道。想按播放列表时长过滤还能用plistDurMin/plistDurMax这样的条件比如只选时长大于 1 小时 20 分的视频轨N_m3u8DL-RE 清单链接 -sv plistDurMin1h20m30s:forbest一次拿全所有轨道懒人模式是让程序把全部轨道都下回来N_m3u8DL-RE 清单链接 --auto-select想提速的话加上-mt--concurrent-download让音视频和字幕并发下载总耗时能明显缩短。只想下字幕怎么办只需要字幕时用--sub-only跳过音视频配合--sub-format选择输出格式默认 SRT可切 VTTN_m3u8DL-RE 清单链接 --sub-only --sub-format VTT用命名模板避免文件重名多轨道同时下载时用--save-pattern让文件名自动带上清晰度和码率N_m3u8DL-RE 清单链接 --save-name video \ --save-pattern SaveName_Resolution_Bandwidth最终会得到类似video_1920x1080_5000000.mp4的文件。模板还支持Language、Codecs、FrameRate、MediaType、Channels、VideoRange等变量自由组合即可。第三幕直播录制把正在播变成已保存直播流的特点是分片无限增长、边播边删所以需要专门的参数配合。边播边录实时合并直播默认是先下载完再合并录几个小时的直播会拖很久。开启实时合并后录完即得成品N_m3u8DL-RE https://livesim.dashif.org/dash/live/testpic_2s/Manifest.mpd \ --live-real-time-merge这是 DASH-IF 官方提供的直播模拟流适合用来验证录制流程。限制录制时长不想让它一直录下去用--live-record-limit设定上限格式是时:分:秒N_m3u8DL-RE 直播链接 \ --live-real-time-merge \ --live-record-limit 02:00:00直播转点播与管道混流想把正在播的直播当点播一次性拉取用--live-perform-as-vod追求低延迟成品可以尝试--live-pipe-mux通过管道把数据实时喂给 FFmpeg 混流输出如果画面和字幕对不上试试--live-fix-vtt-by-audio程序会读取音频起始时间来修正 VTT 字幕想自己控制首次拉取分片数量用--live-take-count手动设置清单刷新间隔用--live-wait-time⚠️ 网络不够稳定时别开--live-pipe-mux——管道内数据读取由 FFmpeg 负责弱网环境下容易丢直播数据。另外录制时默认保留分片文件--live-keep-segments想省空间可以关掉。第四幕面对加密流如何用密钥解密下载HLS / DASH 常见加密方式包括 AES-128、CENCClearKey等。N_m3u8DL-RE 支持手动指定密钥解密。先判断是否加密看清单里有没有#EXT-X-KEYHLS或ContentProtectionDASH字段也可以直接看程序解析时的提示。加密流一般需要KID:KEY形式的密钥。手动指定 KID:KEY每个密钥用一次--key格式为KID:KEY。下面用 Smooth Streaming 加密测试流演示该测试流在项目文档的 TestStreams 中有记录N_m3u8DL-RE https://azclwds01.akamaized.net/4e8f6858-5d05-4e28-83ab-48c7a2b259e1/XVuosg_tab_hd.ism/Manifest \ --key e5114f87b3e54b9faca331e6e6d646a6:55c5d9f1cedfd018b75623f2565a1d29如果多个分片共用同一个 KEY也可以直接简写--key 密钥值。密钥多了还能写进文件用--key-text-file按 KID 自动查找。选择解密引擎解密依赖第三方程序通过--decryption-engine切换默认是 MP4DECRYPTN_m3u8DL-RE 加密流链接 \ --key KID:KEY \ --decryption-engine FFMPEG可选引擎为FFMPEG | MP4DECRYPT | SHAKA_PACKAGER若程序没装在 PATH 里用--decryption-binary-path指定完整路径。HLS 场景直接硬指定如果知道加密方法、密钥和 IV也可以直接硬指定省去猜测流程N_m3u8DL-RE 链接 \ --custom-hls-method AES_128 \ --custom-hls-key 000102030405060708090a0b0c0d0e0f \ --custom-hls-iv 000102030405060708090a0b0c0d0e0f温馨提示请只对你有合法权限的内容使用解密功能。本工具仅用于学习与技术研究任何侵权或非法使用行为均需使用者自行承担后果。第五幕下载慢、报错、中断按这张排查地图走症状一提示找不到 FFmpeg合并或解密阶段报 FFmpeg 相关错误多半是没装。Ubuntu/Debian 上执行sudo apt install ffmpegWindows 用户从 FFmpeg 官网下载后把bin目录加进 PATH或者直接用--ffmpeg-binary-path指定 exe 全路径。症状二速度上不去先检查线程数是否太低可以加大--thread-count如果反过来想限速用-R支持 Mbps / KbpsN_m3u8DL-RE 链接 --thread-count 16 -R 15M症状三网络不稳定分片下载失败分片下载失败会自动重试默认 3 次弱网环境可以调高重试次数和超时时间N_m3u8DL-RE 链接 --download-retry-count 10 --http-request-timeout 60走代理的用--custom-proxy例如--custom-proxy http://127.0.0.1:8888不想用系统代理时用--use-system-proxy控制。症状四合并后文件不完整程序默认会做分片数量校验--check-segments-count发现下载数和预期不符会给出提示。把--del-after-done关掉能保留临时分片方便二次排查。通用排查手段打开调试日志N_m3u8DL-RE 链接 \ --log-level DEBUG \ --log-file-path ./download.log--log-level支持DEBUG / INFO / WARN / ERROR / OFF出问题先开 DEBUG 看日志基本都能定位到原因。老版本 Windows 自带的终端可能不支持本程序的界面渲染换用 cmder 之类的终端即可正常显示。第六幕几个知道的人都说香的进阶参数参数作用示例--custom-range只下载指定分片区间适合先试看一段--custom-range 05:00-20:00只下第 5 到 20 分钟--task-start-at定时执行任务格式yyyyMMddHHmmss--task-start-at 20260815230000-M/--mux-after-done下载完成后混流成指定容器-M formatmp4或-M formatmkv:muxermkvmerge--mux-import混流时引入外部音轨/字幕--mux-import pathzh-Hans.srt:langchi:name中文 (简体)--ad-keyword用正则匹配广告分片 URL 并跳过--ad-keyword ad|promo--append-url-params给分片追加 URL 参数部分网站必须开--append-url-params--write-meta-json把解析出的流信息写成 JSON 文件默认开启便于查看轨道细节想查看某个复杂参数的具体用法随时可以问程序本身N_m3u8DL-RE --morehelp select-video N_m3u8DL-RE --morehelp custom-range终章一张自查清单和三个出发方向把整篇教程浓缩成一张清单跟着走就不会迷路✅ 装好 N_m3u8DL-RE 与 FFmpeg用--version验证可用✅ 用官方测试流跑通第一条N_m3u8DL-RE 链接命令✅ 用--save-dir / --save-name / --thread-count规范输出✅ 多轨道用-sv / -sa / -ss精确挑选-mt并发提速✅ 直播用--live-real-time-merge--live-record-limit边录边合并✅ 加密流用--key KID:KEY配合--decryption-engine解密✅ 出问题先开--log-level DEBUG再看日志对症下药想继续深入的话推荐三个方向一是通读项目内的 README里面有全部命令行参数的详细说明二是翻一翻TestStreams.md里面整理了覆盖点播、直播、加密、多字幕等场景的官方测试流是练手的最佳素材三是对照源码目录了解解析器Parser、下载管理器DownloadManager与解密模块Crypto的实现想给项目贡献功能或定制行为时用得上。工具再多不如亲手跑通一次。现在就去复制一条测试流链接把属于你的第一段视频下载下来吧——从此只能在线看这四个字基本可以从你的字典里删掉了。【免费下载链接】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),仅供参考