N_m3u8DL-RE流媒体下载实战指南

发布时间:2026/9/19 12:10:22
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手里有一个 MPD、M3U8 或 ISM 链接想把它变成本地能播的文件N_m3u8DL-RE 是一个值得试的跨平台命令行下载工具点播和 DASH/HLS 直播都支持。这份指南带你从一次简单下载到加密流、直播录制按三个场景走一遍。能力全景N_m3u8DL-RE能帮你做什么核心能力适用场景多格式解析下载 MPD/M3U8/ISM 点播内容支持 fMP4、CMAF加密流解密借助 mp4decrypt/FFmpeg 解密 AES、CENC 加密内容直播录制DASH/HLS 直播长时间录制可配置实时合并与时长上限选流与混流按分辨率、编码、语言挑选音视频和字幕混流成 mp4/mkv多线程与容错并行下载分片失败自动重试下面三个场景由简到难先看最常见的下一个点播。场景一MPD/M3U8流媒体下载步骤——从链接到可播放文件你会遇到这种情况拿到了一个 .mpd 链接想存到本地但机器上连程序还没有。装好之后第一件事是确认能跑通。手头已有发行包的话直接解压放进 PATH 即可想拿最新代码从源码编译更稳# 克隆源码需要 .NET SDK 10 编译环境 git clone https://gitcode.com/GitHub_Trending/nm3/N_m3u8DL-RE cd N_m3u8DL-RE/src dotnet build -c Release # 编译产物在 bin/Release/net10.0/ 下程序就绪后先用一条命令试下公开测试流仓库的 TestStreams.md 里列了不少可直接播放的例子N_m3u8DL-RE https://media.axprod.net/TestVectors/v7-Clear/Manifest_1080p.mpd \ --save-dir ~/Downloads # 输出目录不指定时落在当前目录为什么一条命令就够它会解析索引、从多条轨道里自动挑最佳视频/音频/字幕然后并发下载分片并自动合并。默认行为不够用时常见定制就三类——改名、控线程、挑轨道N_m3u8DL-RE https://media.axprod.net/TestVectors/v7-Clear/Manifest_1080p.mpd \ --save-name my_video # 指定输出文件名默认取流标题 --thread-count 8 # 下载线程数默认等于CPU核心数 --tmp-dir /tmp/stream # 临时分片目录建议指向快速磁盘 -sv res1920*:forbest # 选流规则最佳1080p视频轨 -sa langzh:forbest # 选流规则最佳中文音轨⚠️ 注意如果下载出来的是几个分开的文件、直接播放没有声音或没有画面多半是音视频分轨尚未合并补一条-M formatmp4让程序在最后混流。场景二加密流媒体下载——密钥配置与解密引擎选择再进一步你会拿到一个加密流链接能打开直接下载却是无法播放的乱码报错也含糊。关键是两件事——KID 要配对解密工具要选对。大多数情况一行就够N_m3u8DL-RE https://media.axprod.net/TestVectors/v7-MultiDRM-SingleKey/Manifest_1080p_ClearKey.mpd \ --key 9eb4050de44b4802932e27d75083e266:166634c675823c235a4a9446fad52e4d # ↑ 格式为 KID:KEY若所有分片用同一密钥直接 --key KEY 也可以密钥不止一个时逐个写或者放进文件里N_m3u8DL-RE https://media.axprod.net/TestVectors/v7-MultiDRM-SingleKey/Manifest_1080p_ClearKey.mpd \ --key-text-file keys.txt \ # 文件内容每行一个 KID:KEY --decryption-engine FFMPEG # 切换解密工具默认是 MP4DECRYPT参数速查参数说明推荐值--key解密密钥KID:KEY 或 KEYKID 与播放列表中值一一对应--decryption-engine调用哪个第三方工具解密默认 MP4DECRYPT不行再试 FFMPEG/SHAKA_PACKAGER--mp4-real-time-decryption边下边实时解密 MP4 分片磁盘空间紧张时开启⚠️ 注意报错提示密钥相关时先确认密钥编码格式HEX 还是 Base64有没有填错再考虑换解密引擎——三个引擎对 CENC/SAMPLE-AES 的覆盖并不完全相同。场景三直播录制参数配置——实时合并与时长限制录制直播是另一回事播放列表一直在变网络随时可能断不能放着不管。按需求挑一个模板改改就能用。模板一实时合并、录完即看适合演讲、演出这类结束就想看的直播N_m3u8DL-RE https://cmafref.akamaized.net/cmaf/live-ull/2006350/akambr/out.mpd \ --live-real-time-merge \ # 边录边合并最终文件可直接播放 --live-record-limit 2:30:00 \ # 录满2小时30分自动停防止撑爆磁盘 --live-wait-time 60 \ # 播放列表刷新间隔秒可按流更新频率调 --save-name live_session模板二网络不稳时放弃实时合并优先保住分片适合长时间赛事N_m3u8DL-RE https://cmafref.akamaized.net/cmaf/live-ull/2006350/akambr/out.mpd \ --download-retry-count 20 \ # 分片失败重试20次默认只有3次 --live-wait-time 30 \ # 缩短列表刷新间隔断流后更快接上 --live-keep-segments \ # 合并后仍保留分片断点可补救 --save-name sports_final模板三不是真要录而是想把当前直播按点播一次性抓下来适合补看刚结束的节目N_m3u8DL-RE https://cmafref.akamaized.net/cmaf/live-ull/2006350/akambr/out.mpd \ --live-perform-as-vod \ # 按点播方式一次性取完整播放列表 --custom-range 05:00-20:00 # 只下第5分钟到第20分钟省流量⚠️ 注意--live-pipe-mux让 ffmpeg 走管道实时混流成 TS但网络不稳时管道里容易丢数据弱网环境别开。进阶技巧与排错问题下载完是两三个分开的文件视频直接播放没声音。 原因DASH/HLS 天生音视频分轨默认分开保存。 解决加-M formatmp4:muxerffmpeg程序会在全部完成后自动混流。问题解密失败提示找不到密钥。 原因--key 里的 KID 与播放列表里的对不上。 解决逐条核对 keys.txt 中的 KID仍不行就换--decryption-engine试试。问题直播录到一半断了文件不完整。 原因断流时默认重试次数3 次不够程序放弃了后续分片。 解决调大--download-retry-count并用--live-record-limit给总时长兜底。问题选不到高分辨率总是下到最低画质。 原因默认选流不等于最佳多档位流里可能命中了低档。 解决显式写-sv res3840*:forbest具体有哪些档位看运行日志里的轨道表。问题旧版 Windows 终端里运行乱码或直接退出。 原因系统自带终端不支持 ANSI 输出。 解决换用 cmder 或新版终端或加--no-ansi-color降级输出。遇到其他情况完整参数表见官方 README.md仓库的 Issues 区是最活跃的答疑地。【免费下载链接】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),仅供参考