流媒体下载完整实战:6 步从零玩转 N_m3u8DL-RE,把“只能在线看“的视频存进硬盘

发布时间:2026/8/21 1:48:18
流媒体下载完整实战:6 步从零玩转 N_m3u8DL-RE,把“只能在线看“的视频存进硬盘 流媒体下载完整实战6 步从零玩转 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 是一款跨平台、免费开源的流媒体下载器专门解决 MPDDASH、M3U8HLS、ISMMSS视频只能在线看、没法保存的难题同时支持点播下载与直播录制界面还自带中英繁三种语言。下面我用一次真实的下载经历带你从装好工具到搞定加密流、录下整场直播全程走一遍。一个差点让我放弃的下午上个月同事找上我说他报了一门付费在线课网页端只有播放器连个下载按钮的影子都没有课程还被切成几百个 6 秒一段的分片。他问我能弄下来吗我想在通勤路上离线看。说实话我第一反应是拒绝的——手动抓包、拼接几百个分片、再考虑音视频同步想想就头大。但那天下午我还是硬着头皮搜了一圈结果只花了不到十分钟就摸到了正路把链接丢给一个叫 N_m3u8DL-RE 的命令行工具剩下的事它全包了。半小时后整门课以一个完整的 MP4 躺在了硬盘里。如果你也遇到过下面这些情况这篇文章就是为你准备的网站有在线课程或影视资源却没有下载入口想录制一场正在进行的直播赛事或会议下载时只想挑 1080p 的清晰度不想要一堆重复轨道遇到 AES 加密甚至带 DRM 的流不知道从哪下手我们直接开始。第一步先认识这位下载老兵它到底能干什么一句话N_m3u8DL-RE 能读取流媒体清单文件MPD / M3U8 / ISM把视频流切成的大量分片自动下载下来再用 FFmpeg 合并成一个完整文件。点播、直播都支持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能看到版本号就说明没问题。如果后续要解 DRM 加密流再按需准备 mp4decrypt 或 shaka-packager后面第六步会用到。第二步三分钟完成安装安装方式很多挑一条适合你的就行。方式一下载预编译版本最省事打开项目的 Release 页面按自己的系统挑压缩包——Windows 选N_m3u8DL-RE-win-x64.zipmacOS 选 darwin 版本Linux 选对应发行版。解压后直接运行可执行文件即可不用装任何运行时。方式二Arch 系一行搞定Arch Linux 用户用 AUR 最方便社区维护的包有两个# 安装正式发行版 yay -Syu n-m3u8dl-re-bin # 安装开发版体验最新功能 yay -Syu n-m3u8dl-re-git方式三从源码构建想追最新改动可以克隆仓库后用 .NET 编译git clone https://gitcode.com/GitHub_Trending/nm3/N_m3u8DL-RE.git cd N_m3u8DL-RE/src/N_m3u8DL-RE dotnet build -c Release装完先验证一下不管哪种方式先跑版本号确认能正常启动N_m3u8DL-RE --version第三步跑通第一行下载命令一条命令搞定首战程序的用法简单到不像话把链接或本地清单文件直接丢给它就行。N_m3u8DL-RE https://media.axprod.net/TestVectors/v7-Clear/Manifest_1080p.mpd这个链接是项目TestStreams.md里收录的官方测试流多音轨多字幕非常适合第一次练手。程序会自动解析清单、挑选最佳画质、下载并合并全程进度一目了然。推荐再加三个参数实战中我通常顺手带上输出目录、文件名和线程数N_m3u8DL-RE https://media.axprod.net/TestVectors/v7-Clear/Manifest_1080p.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一样能跑第四步踩坑现场——默认下载太大方了测试流跑通后我第一次正式下载就栽了个跟头。当时我下的是一个多音轨多字幕的片源心想反正默认会自动挑最佳结果下完之后发现视频只有一个音频却下回来五六条字幕也全糊在一起。原来默认只挑最佳视频轨但音频和字幕会全收——对只是想存个片的人来说这明显有点大方过头了。踩坑之后找到正解按需挑选还好轨道选择参数用起来不难。三个选择参数都支持正则表达式格式是字段正则用冒号拼接最后用forbest|worst|all决定取几条# 只选 1080p 且 HEVC 编码的最佳视频轨 N_m3u8DL-RE 清单链接 -sv res1920*:codecshvc1:forbest # 只选最佳英语音轨 N_m3u8DL-RE 清单链接 -sa langen:forbest # 所有名字里带中文的字幕全要 N_m3u8DL-RE 清单链接 -ss name中文:forall对应的-dv / -da / -ds则是反向剔除把不想要的轨道扔出去。懒人模式与字幕专属如果你就是想全都要也有现成的懒人开关# 所有轨道都下回来 N_m3u8DL-RE 清单链接 --auto-select # 只下字幕跳过音视频输出 VTT 格式 N_m3u8DL-RE 清单链接 --sub-only --sub-format VTT--sub-format默认输出 SRT可以切成 VTT想提速就加-mt即--concurrent-download让音视频和字幕并发下载。多轨道防重名给文件加上身份证多轨道同时下载时文件名容易撞车用--save-pattern让文件名自动带上清晰度和码率N_m3u8DL-RE 清单链接 --save-name video \ --save-pattern SaveName_Resolution_Bandwidth最终会得到类似video_1920x1080_5000000.mp4的文件。模板还支持Language、Codecs、FrameRate、MediaType等变量随便组合。第五步进阶玩法——直播也能边播边录直播录制是很多人入坑的原因。直播流的分片会无限增长且边播边删和点播完全是两码事所以有专门的参数配合。边播边录录完即得成品直播默认是先下载完再合并录几小时的直播会拖很久。开启实时合并后录完就是成品N_m3u8DL-RE https://cmafref.akamaized.net/cmaf/live-ull/2006350/akambr/out.mpd \ --live-real-time-merge上面是官方直播测试流来自TestStreams.md可用来验证录制流程。限定录制时长不想让它一直录下去用--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-pipe-mux——管道内数据读取由 FFmpeg 负责弱网环境下容易丢直播数据。另外录制时默认保留分片--live-keep-segments想省空间记得关掉。第六步当视频上了锁——手动密钥解密HLS / DASH 常见加密方式有 AES-128、CENCClearKey等N_m3u8DL-RE 支持手动指定密钥解密。先判断流是否加密看清单里有没有#EXT-X-KEYHLS或ContentProtectionDASH字段也可以直接看程序解析时的提示。加密流一般需要KID:KEY形式的密钥。手动指定 KID:KEY每个密钥用一次--key格式为KID:KEYN_m3u8DL-RE https://media.axprod.net/TestVectors/v7-MultiDRM-SingleKey/Manifest_1080p_ClearKey.mpd \ --key 9eb4050de44b4802932e27d75083e266:166634c675823c235a4a9446fad52e4d这条是项目测试流里的 ClearKey 加密流密钥在TestStreams.md中有标注。如果多个分片共用同一个 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 直接硬指定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。症状四合并后文件不完整程序默认会做分片数量校验--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 看日志基本都能定位到原因。顺便说几个知道的人都说香的参数上面已经覆盖了 90% 的使用场景下面这几个属于锦上添花参数作用示例--custom-range只下载指定分片区间适合先试看一段--custom-range 05:00-20:00--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收尾一张自查清单帮你完整走一遍把全文浓缩成一张清单跟着勾就不会迷路✅ 装好 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里面有全部命令行参数的详细说明每个复杂参数都有--morehelp专属示例。翻一翻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),仅供参考