☰
N_m3u8DL-RE 完整上手:一条命令下载 MPD/m3u8/ISM 流媒体并合并成片
2026/10/16 2:55:43 网站建设 项目流程

N_m3u8DL-RE 完整上手:一条命令下载 MPD/m3u8/ISM 流媒体并合并成片

【免费下载链接】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 是一个跨平台流媒体下载器:把 MPD(DASH)、m3u8(HLS)、ISM(MSS)三种清单解析出来,多线程拉分片、按需解密,最后合并成一个能直接播放的文件,点播和直播都支持。下面带你从安装走到出片:装好程序,跑通第一条下载命令,再练 5 个高频命令,最后把常见报错一次修完。跑完这页,你手里会有一个能直接拖进播放器的完整视频。

能不能用,三秒判断

这一节只干一件事:帮你判断手里的地址能不能交给 N_m3u8DL-RE 处理。

维度支持情况
协议支持DASH(MPD)、HLS(m3u8)、MSS(ISM)
内容类型点播 + 直播(DASH/HLS 直播录制)
加密能力AES-128、ChaCha20、CENC 等;可调用 mp4decrypt、ffmpeg、shaka-packager 解密
轨道选择按分辨率、编码、语言、声道等正则条件筛视频、音频、字幕轨
运行平台Windows、Linux、macOS
许可证MIT,开源免费

全对上了往下看;差一项,现在关掉页面也不亏。

装完到第一条命令跑通

这一节的目标:从安装到出片,一气呵成,中间不绕路。

Windows:从项目 Releases 页下载对应平台的压缩包,解压后直接运行里面的N_m3u8DL-RE.exe,不用装任何依赖。注意老版本 Windows 自带终端可能跑不动它(无响应或乱码),换 cmder 运行同一条命令即可。

Arch Linux 及衍生版:AUR 有现成包,一条命令装好。

源码构建:需要 .NET SDK,目标框架是 net10.0。

git clone https://gitcode.com/GitHub_Trending/nm3/N_m3u8DL-RE cd N_m3u8DL-RE/src && dotnet build

三种方式任选其一。装完先做一件事,确认程序真能跑:

N_m3u8DL-RE --version N_m3u8DL-RE --help

版本号正常打印就说明装好了;--help会把全部参数打出来,后面学参数时随时翻这份字典。

别急着找自己的流,先用仓库自带的公开测试流。TestStreams.md 里列了 20 多条,这条是无加密的 1080p 测试流,带多音轨多字幕,适合当第一枪:

N_m3u8DL-RE "https://media.axprod.net/TestVectors/v7-Clear/Manifest_1080p.mpd" --save-name "demo"

执行后终端会依次出现三件事:

  1. 解析结果:列出这个流里有哪些视频轨、音轨、字幕轨
  2. 多线程拉分片,进度条走完
  3. 自动合并,任务结束

--save-name "demo"指定输出文件名,--save-dir改输出目录,默认是当前目录。成功后目录里会出现 demo 开头的完整视频,外加一份解析信息的 json 文件(--write-meta-json默认开启)。到这一步,解析、下载、合并的完整链路已经打通。

🎬 五个实战命令,由浅入深

5 条命令按难度递进排列,每条都能直接复制执行,涉及的参数逐个用白话讲一遍。

只取字幕,不拉视频

什么时候你会敲这条:只要字幕文件给本地片子挂字幕,视频和音频一分带宽都不想花。

N_m3u8DL-RE "https://devstreaming-cdn.apple.com/videos/streaming/examples/bipbop_adv_example_hevc/master.m3u8" --sub-only --sub-format SRT
  • --sub-only:只挑字幕轨,其余轨道全部忽略
  • --sub-format SRT:字幕输出 SRT,也可以写 VTT;这条清单是 Apple 的高级 HLS 测试示例,自带 VTT 字幕
  • 字幕时间轴修正默认开着(--auto-subtitle-fix默认 true),出来的字幕基本能直接用

跑完到输出目录找.srt文件,用字幕编辑器打开抽查几条时间轴,再丢进播放器看是否同步。

正则挑出指定清晰度和音轨

什么时候你会敲这条:多码率流里只想下自己那一条轨道,其余码率一分带宽都不花。

N_m3u8DL-RE "https://dash.akamaized.net/dash264/TestCases/2c/qualcomm/1/MultiResMPEG2.mpd" -sv 'res="1920*":for=best' -sa 'lang=en:for=best'
  • -sv用正则筛视频轨:res="1920*"匹配 1920 开头的分辨率,也就是 1920x1080 那档
  • for=best:符合条件的只留最匹配的一条(不写时默认也是 best)
  • -sa同样按正则筛音频轨,lang=en只挑英语音轨
  • 想要 4K HEVC 就写-sv 'res="3840*":codecs=hvc1:for=best',这是官方帮助里的现成例子

跑完看解析输出:选中的视频轨分辨率应为 1920x1080;打开输出文件确认音轨只剩你要的那一条。

给直播录制设时长上限

什么时候你会敲这条:录直播但不想守着,录满固定时长自动停。

N_m3u8DL-RE "https://cmafref.akamaized.net/cmaf/live-ull/2006350/akambr/out.mpd" --live-perform-as-vod --live-record-limit 02:00:00 --save-name "live"
  • --live-perform-as-vod:按点播逻辑处理直播流,录出来是完整文件
  • --live-record-limit:格式是 HH:mm:ss,录满即停,这里设 2 小时
  • --save-name "live":指定输出文件名
  • 想边录边拼出可播放的文件,再加--live-real-time-merge;另有--live-pipe-mux可实时混流进 TS,但 README 明确提示网络不稳时别开,管道容易丢数据

跑完程序录满 2 小时自行退出,检查产出文件时长是否约等于 2 小时。

带密钥解密加密流

什么时候你会敲这条:清单标着加密、密钥在手里,想存成正常能播的视频。

N_m3u8DL-RE "https://media.axprod.net/TestVectors/v7-MultiDRM-SingleKey/Manifest_1080p_ClearKey.mpd" --key "9eb4050de44b4802932e27d75083e266:166634c675823c235a4a9446fad52e4d"
  • --key的格式是KID:KEY,冒号前是密钥 ID,冒号后是密钥本体,这条测试流的密钥就写在 TestStreams.md 同一行,直接复制
  • 多组密钥按顺序传多个--key;KEY 相同时也可以只传 KEY
  • 解密默认调用 mp4decrypt,系统没装的话用--decryption-engine换引擎,下一节细讲

跑完用播放器打开文件,音画都正常,说明解密和合并都成了。

只下载视频的指定时间段

什么时候你会敲这条:两小时的片子只要中间 15 分钟,省流量也省时间。

N_m3u8DL-RE "视频地址" --custom-range 05:00-20:00

--custom-range只下载范围内的分片,支持四种写法:

  • 05:00-20:00:时间段(MM:SS 或 HH:MM:SS)
  • 0-10:分片序号,共 11 个
  • -99:前 100 个分片
  • 10-:从第 10 个开始到结尾

时间范围按分片起始时间筛选,保留完整分片、不做精确裁切。拿不准写法先跑N_m3u8DL-RE --morehelp custom-range看官方说明,每个参数都能这样查详情。跑完检查文件时长,应约为 15 分钟而不是完整时长。

影响成片结果的三个底层开关

这三处不动也能正常下载,但成片速度、兼容性、轨道数量最终都由它们说了算。

选轨策略:for=best / best2 / all

默认每种语言只留最匹配的一条轨(for=best)。想多留就写for=best2留两条,for=all全留。筛选条件都是正则:res匹配分辨率、codecs匹配编码、lang匹配语言、channel匹配声道数,|表示"或",比如lang="ja|en"匹配日语或英语音轨。拿不准时别动它,加--auto-select让程序自动挑最佳。

解密引擎:--decryption-engine 三选一

默认MP4DECRYPT速度最快,FFMPEG兼容性好,SHAKA_PACKAGER功能最全,三者都靠调用外部工具完成解密。工具不在 PATH 里时,用--decryption-binary-path或--ffmpeg-binary-path指到全路径即可;解密失败或成片打不开,先换FFMPEG引擎重试一次。

合并混流:ffmpeg 合并还是二进制拼接

下载完默认用 ffmpeg 合并成完整文件。--binary-merge是纯二进制字节拼接,不依赖 ffmpeg,适合 fMP4/CMAF 分片;--skip-merge完全不合并、只留分片;音视频分离在两个文件里时,用-M format=mp4或-M format=mkv:muxer=mkvmerge混流进指定容器。

🛠️ 卡住了,对照着修

卡住先别重跑,对照下面四种高频故障对号入座,每种只给最可能的那条原因。

你看到的:分片反复下载失败,任务卡住大概率是:网络不稳,或默认 100 秒的 HTTP 请求超时对慢速分片太短这样修:重试次数和超时都放宽再跑(--download-retry-count默认 7,--http-request-timeout默认 100 秒)

N_m3u8DL-RE "视频地址" --download-retry-count 5 --http-request-timeout 300

你看到的:解密失败,或文件下载完打不开大概率是:密钥只填了 KEY 没带 KID,按错密钥解密;或默认引擎跟内容不兼容这样修:把--key改成完整的KID:KEY,或换 FFMPEG 引擎重试

N_m3u8DL-RE "视频地址" --key "你的KID:你的KEY" --decryption-engine FFMPEG

你看到的:合并阶段提示找不到 ffmpeg大概率是:ffmpeg 没装,或不在 PATH 里这样修:用--ffmpeg-binary-path指到全路径(README 示例写法是C:\Tools\ffmpeg.exe);不想装 ffmpeg 就临时用--binary-merge或--skip-merge绕开合并

N_m3u8DL-RE "视频地址" --ffmpeg-binary-path "C:\Tools\ffmpeg.exe"

你看到的:老版本 Windows 终端里程序无响应或乱码大概率是:旧系统自带终端不支持本程序,README 有同样提示这样修:换 cmder 运行同一条命令

📦 批量跑 & 最后几条底线

单条命令跑通之后,批量下载就是给 URL 列表套一个循环。

把下面这段存成batch.sh,改一下URLS列表就能批量跑:

#!/bin/bash URLS=( "https://media.axprod.net/TestVectors/v7-Clear/Manifest_1080p.mpd" "http://playertest.longtailvideo.com/adaptive/oceans_aes/oceans_aes.m3u8" ) mkdir -p ./videos for url in "${URLS[@]}"; do N_m3u8DL-RE "$url" --save-dir ./videos --auto-select --thread-count 8 done
  • --save-dir ./videos:产出统一落到 ./videos
  • --auto-select:每种类型自动选最佳轨道,不用手动挑
  • --thread-count 8:8 线程并发下载,默认是 10

换地址只改URLS列表这一处,整条流水线不用动。

最后几条收尾提醒:

  • 装完先跑N_m3u8DL-RE --version确认版本号,遇到问题也先查是不是旧版,很多坑新版已经修了
  • 轨道挑不准就先加--auto-select跑通,再学--morehelp select-video这类精细筛选
  • 网络不稳时把--thread-count调小、--http-request-timeout调大,比反复重跑有效
  • 临时分片默认在任务结束后自动清理(--del-after-done默认 true),想留分片做备份就加--skip-merge
  • 只下载自己拥有合法权限访问的内容,这是 README 写明的使用底线

现在打开终端,把第一条命令跑起来,你的第一个 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

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询