N_m3u8DL-RE 上手实践:如何用一条命令把 MPD/M3U8/ISM 在线视频存成 MP4

📅 2026/8/20 11:10:59
N_m3u8DL-RE 上手实践:如何用一条命令把 MPD/M3U8/ISM 在线视频存成 MP4
N_m3u8DL-RE 上手实践如何用一条命令把 MPD/M3U8/ISM 在线视频存成 MP4【免费下载链接】N_m3u8DL-RECross-Platform, modern and powerful stream downloader for MPD/M3U8/ISM. English/简体中文/繁體中文.项目地址: https://gitcode.com/GitHub_Trending/nm3/N_m3u8DL-RE上周五临下班同事把一个链接甩到我桌上明天开讲的一门付费培训课网页端只有播放器、连个下载按钮的影子都没有课程还被按 6 秒一段切成了上千个分片。手动抓包再拼光是想想那几百个网络请求我就头大。最后我只敲了一行命令第二天早上整门课就以一个干净的 MP4 文件躺在硬盘里了。这个救星就是 N_m3u8DL-RE。如果你也遇到过这些情况网站上明明有在线课程或影视资源却找不到下载入口想录制一场正在进行的直播赛事或会议下载时只想留 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另外按需准备 mp4decrypt 或 shaka-packager后面解密环节会用到。在终端里先确认一下环境ffmpeg -version如果提示找不到命令Ubuntu / Debian 上用sudo apt install ffmpeg装一下Windows 用户下载 FFmpeg 后把bin目录加进 PATH 即可。安装方式怎么选预编译版本最省事去项目的 Release 页面按系统挑压缩包比如 Windows 选N_m3u8DL-RE-win-x64.zipmacOS 选 darwin 版本解压直接运行无需装任何运行时。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这个链接是官方测试流多音轨多字幕非常适合第一次练手。输入命令后程序会解析清单、自动挑出最佳画质、下载全部分片并合并全程进度一目了然。推荐再加三个参数实际使用时我通常会顺手加上输出目录、文件名和线程数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一样能跑到这里第一条命令就跑通了。下面我们把难度往上提一档看看真正进阶的玩法。第三章 进阶玩法挑轨道、录直播、解密钥、提速3.1 多音轨多字幕片源怎么挑出想要的那条轨道很多 DASH 清单里塞着三四档清晰度、五六条音轨、好几组字幕。默认只下最佳一套想精细控制就用轨道选择参数。选择参数都支持正则表达式格式是字段正则用冒号拼接最后用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想提速的话加上-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等变量自由组合。3.2 直播录制边播边录录完即得成品直播流的特点是分片无限增长、且边播边删所以需要专门的参数配合。直播默认是先下载完再合并录制几小时的直播会拖很久开启实时合并后录完即得成品N_m3u8DL-RE https://cmafref.akamaized.net/cmaf/live-ull/2006350/akambr/out.mpd \ --live-real-time-merge上面是官方提供的直播测试流可用来验证录制流程。不想让它一直录下去用--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想省空间可以关掉。3.3 遇到加密视频怎么用密钥解密HLS / DASH 常见加密方式包括 AES-128、CENCClearKey等。加密流一般需要KID:KEY形式的密钥。每个密钥用一次--keyN_m3u8DL-RE https://media.axprod.net/TestVectors/v7-MultiDRM-SingleKey/Manifest_1080p_ClearKey.mpd \ --key 9eb4050de44b4802932e27d75083e266:166634c675823c235a4a9446fad52e4d如果多个分片共用同一个 KEY也可以直接简写--key 密钥值。密钥多了还能写进文件用--key-text-file按 KID 自动查找。解密依赖第三方程序通过--decryption-engine切换默认是 MP4DECRYPTN_m3u8DL-RE 加密流链接 \ --key KID:KEY \ --decryption-engine FFMPEG引擎说明MP4DECRYPT默认引擎来自 Bento4 工具集SHAKA_PACKAGERGoogle 开源工具按需安装FFMPEG你已装好的 FFmpeg最省事若程序没装在 PATH 里用--decryption-binary-path指定完整路径。HLS 场景如果知道加密方法、密钥和 IV也可以直接硬指定省去猜流程N_m3u8DL-RE 链接 \ --custom-hls-method AES_128 \ --custom-hls-key 000102030405060708090a0b0c0d0e0f \ --custom-hls-iv 000102030405060708090a0b0c0d0e0f⚠️ 温馨提示请只对你有合法权限的内容使用解密功能工具本身仅用于学习与技术研究。3.4 提速、限速、定时与混流把下载节奏拿捏住先解决太慢和太快两个问题。线程数可以加大提速也可以反向限速N_m3u8DL-RE 链接 --thread-count 16 -R 15M-R--max-speed单位支持 Mbps 和 Kbps比如15M、100K适合不想占满带宽的时候。再来看几个知道的人都说香的参数参数作用示例--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掌握这些之后绝大多数场景都难不倒你了。接下来我们聊聊最容易翻车的几个坑。第四章 避坑指南高频问题的症状、原因与对策症状一提示找不到 FFmpeg原因合并或解密阶段需要调用 FFmpeg但程序没在 PATH 里找到它。解决装好 FFmpeg 后如果还是找不到直接用参数指定全路径N_m3u8DL-RE 链接 --ffmpeg-binary-path /usr/local/bin/ffmpegWindows 用户写成--ffmpeg-binary-path C:\Tools\ffmpeg.exe即可。症状二速度上不去原因多半是线程数太低。解决先加大--thread-count试试如果不想占满带宽反而要用限速参数N_m3u8DL-RE 链接 --thread-count 16 -R 15M症状三网络不稳定分片下载失败原因分片下载失败会自动重试默认 3 次弱网环境不够用。解决调高重试次数和超时时间走代理的加上代理参数N_m3u8DL-RE 链接 --download-retry-count 10 --http-request-timeout 60 N_m3u8DL-RE 链接 --custom-proxy http://127.0.0.1:8888症状四合并后文件不完整原因下载的分片数量和预期不符被静默跳过了。解决程序默认会做分片数量校验--check-segments-count发现问题会给出提示。排查时先把--del-after-done关掉保留临时分片方便二次检查N_m3u8DL-RE 链接 --check-segments-count --del-after-done false症状五界面乱码或进度条不显示原因老版本 Windows 自带的终端不支持本程序的界面渲染。解决换用 cmder 之类的第三方终端即可正常显示。通用排查手段打开调试日志N_m3u8DL-RE 链接 \ --log-level DEBUG \ --log-file-path ./download.log--log-level支持DEBUG / INFO / WARN / ERROR / OFF出问题先开 DEBUG 看日志基本都能定位到原因。收尾一张自查清单与下一步把这篇教程浓缩成一张清单跟着走就不会迷路装好 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.md里面有全部命令行参数的详细说明和--morehelp示例二是翻一翻TestStreams.md里面整理了覆盖点播、直播、加密、多字幕等场景的官方测试流是练手的最佳素材三是对照源码目录了解解析器src/N_m3u8DL-RE.Parser/、下载管理器src/N_m3u8DL-RE/DownloadManager/与解密模块src/N_m3u8DL-RE/Crypto/的实现想给项目贡献功能或定制行为时用得上。工具再多不如亲手跑通一次。现在就去复制一条测试流链接把属于你的第一段视频下载下来吧——从此只能在线看这四个字基本可以从你的字典里删掉了。 写作说明本文的目标读者设定为刚接触流媒体下载的新手/普通用户项目介绍、命令参数均依据仓库内README.md与TestStreams.md整理项目中未发现可用的配图故未插入图片。【免费下载链接】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),仅供参考