N_m3u8DL-RE 流媒体下载教程:从安装到直播录制的完整上手攻略

📅 2026/8/21 12:11:48
N_m3u8DL-RE 流媒体下载教程:从安装到直播录制的完整上手攻略
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-RE如果你第一次接触 N_m3u8DL-RE一句话介绍就够它是一款跨平台的命令行流媒体下载器专门解决 MPDDASH、M3U8HLS、ISMMSS这类视频只能在线看、没法离线存的难题点播下载和直播录制都能胜任。上个月我为了追一场凌晨两点开场的演唱会线上直播硬是熬到天亮第二天在工位上困得灵魂出窍。那时我突然意识到如果有个工具能在我睡觉的时候把直播原样录下来第二天醒来直接看成品该多省心。后来我找到了 N_m3u8DL-RE现在录直播、存课程、收藏纪录片基本都是一条命令的事。这篇文章就带你走一遍我从认识它到玩转它的完整路线。第一幕 · 它是什么这类视频为什么难下载网页播放器会把一段视频切成几百上千个小分片按照一份清单文件.mpd、.m3u8或.ism逐段播放分片边播边请求、用完即弃。你手动抓包、逐个拼接想想就头大。N_m3u8DL-RE 做的就是这件事读取清单 → 自动下载全部分片 → 用 FFmpeg 合并成一个完整文件。整个过程在终端里敲一条命令就能跑完。它的核心模块长什么样源码组织得很清晰想深入了解的可以顺着目录看源码目录负责的事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 装好。在终端里确认一下ffmpeg -version解密环节还可能需要 mp4decrypt 或 shaka-packager后面会讲到。另外提醒一句版本较低的 Windows 自带终端可能无法正常渲染本程序的界面遇到这种情况换用 cmder 之类的终端即可。第二幕 · 让它跑起来认识完毕现在进入实操环节。安装方式有很多挑一条适合你的就行。一键安装步骤三选一方式一下载预编译版本最省事。打开项目的 Release 页面按系统选择压缩包Windows 选N_m3u8DL-RE-win-x64.zipmacOS 选 darwin 版本Linux 选 linux-x64 版本。解压后直接运行可执行文件无需安装任何运行时。方式二Arch Linux 一行搞定。Arch 系用户用 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程序也接受本地文件作为输入把清单下载到本地后N_m3u8DL-RE playlist.m3u8一样能跑。第三幕 · 进阶玩法到这里基本下载已经难不住你了。但很多片源没这么老实有的塞着五六条音轨、好几组字幕有的正在直播有的还加了密。接下来逐个击破。多轨片源怎么只挑自己想要的很多 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用来反向剔除不需要的轨道。想省心一点直接加--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等变量可以自由组合。 小贴士记不住这些规则没关系程序内置了--morehelp select-video这样的详细说明会列出全部可用字段例如plistDurMin还能按时长筛选长视频。直播录制边播边存不熬夜还记得开头那个凌晨两点的演唱会吗直播流的特点是分片无限增长、边播边删默认策略是先全部下载完再合并录几小时的直播这样会拖得很久。开启实时合并后录完即得成品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想省空间可以把这项关掉。遇到加密流密钥从哪下手HLS 常见 AES-128 加密DASH 常见 CENCClearKey加密。N_m3u8DL-RE 支持手动指定密钥解密每个密钥用一次--key格式为KID: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可选引擎为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⚠️ 请只对你有合法权限的内容使用解密功能本工具仅用于学习与技术研究。 小贴士先看清单里有没有#EXT-X-KEYHLS或ContentProtectionDASH字段或者直接留意程序解析时的提示就能判断这个流是否加密。下载慢、报错、中断怎么排查症状一提示找不到 FFmpeg。合并或解密阶段报 FFmpeg 相关错误多半是没装。Ubuntu / Debian 上执行sudo apt install ffmpegWindows 用户从官网下载后把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 看日志基本都能定位到原因。尾声 · 自查清单与下一步把这篇教程浓缩成一张清单跟着走就不会迷路✅ 装好 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/的实现想给项目贡献功能或定制行为时用得上。工具再多不如亲手跑通一次。现在就去挑一条测试流链接把它变成硬盘里的第一个 MP4——从此只能在线看这五个字基本可以从你的字典里删掉了。【免费下载链接】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),仅供参考