N_m3u8DL-RE流媒体下载快速指南
2026/9/19 14:04:01 网站建设 项目流程

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

凌晨一点,你在网页网络面板里翻到的唯一线索是一条临时的 m3u8 链接——播放器里打不开,手动存下一堆 .ts 文件也拼不成视频。N_m3u8DL-RE 是一个跨平台的流媒体下载工具:把 MPD/M3U8/ISM 链接丢给它,它负责解析、多线程下分片、解密和合并,输出的是能直接播放的文件。点播、直播都支持。

它解决了什么问题

不用工具时的痛点用 N_m3u8DL-RE 之后
手动抓分片、逐个下载再自己拼接自动解析播放列表,多线程下载分片,自动合并成完整文件
m3u8/mpd 只是"目录",本身不可播放输出可播放的媒体文件,分离的音视频还能混流成一个文件
多码率、多语言轨道要人工挑按正则筛选分辨率/语言/编码,for=best自动挑最佳
直播内容结束后无法回看持续录制直播流,边录边实时合并,可设时长上限
AES/SAMPLE-AES/CHACHA20 加密流存不下来自动识别常见加密并解密,CHACHA20 内置实现,也可指定密钥与解密引擎

五分钟跑通第一个任务

环境一句话:装好 .NET 10 运行时,合并/混流环节依赖 ffmpeg(不在 PATH 里就用--ffmpeg-binary-path指定全路径)。输入既可以是链接,也可以是本地播放列表文件。

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

这条用的是仓库 TestStreams.md 里的多音轨多字幕测试流,MPD/M3U8/ISM 的解析逻辑都在 src/N_m3u8DL-RE.Parser/ 中。

预期结果,三句话:程序拉取 MPD 后列出各轨道,默认选每类最佳的轨道;分片默认按 CPU 线程数并发下载,单个分片失败自动重试 3 次;完成后当前目录得到可播放的媒体文件,外加一份解析信息的 JSON(--write-meta-json默认开启),全程无需其他参数。

三个高频场景

如何挑出指定清晰度和语言的轨道

目标:从多码率 HLS 源里只拿 1080p 视频 + 最佳音轨,合并成一个文件。

N_m3u8DL-RE "https://devstreaming-cdn.apple.com/videos/streaming/examples/bipbop_adv_example_hevc/master.m3u8" \ -sv "res=1080*" -sa best \ -M format=mkv --save-name "bipbop"

关键参数:-sv按正则筛视频轨,res=1080*只匹配 1080p;-sa best取最佳音轨;-M format=mkv让程序在全部下载完后把音视频混流进一个 MKV(format=mp4同理)。字幕用-ss同样选法,如-ss best

一个易错点:没写-M时输出是两个分开的文件(视频一个、音频一个)。这是分离音视频源的正常行为,不是失败。

如何定时录制直播流

目标:录 1.5 小时直播,录完自动停,且录制途中文件就能播放。

N_m3u8DL-RE "直播URL" --live-real-time-merge --live-record-limit "01:30:00" --live-wait-time 30

关键参数:--live-real-time-merge开启录制中的实时合并;--live-record-limit是总录制时长,格式 HH:mm:ss;--live-wait-time手动设置直播列表刷新间隔(秒)。

一个易错点:--live-record-limit是"从现在起录多久",不是"几点停"。另外网络不稳时别开--live-pipe-mux,官方文档明确提示它容易在管道内丢直播数据。

如何解密下载加密流

目标:拿到密钥的加密流,下载出来直接能播。

N_m3u8DL-RE "https://azclwds01.akamaized.net/4e8f6858-5d05-4e28-83ab-48c7a2b259e1/XVuosg_tab_hd.ism/Manifest" \ --key "e5114f87b3e54b9faca331e6e6d646a6:55c5d9f1cedfd018b75623f2565a1d29" \ --save-name "decrypted"

关键参数:--key格式为KID:KEY,多个 KID 对应同一 KEY 时直接写--key KEY即可;密钥很多时用--key-text-file指向密钥文件;解密默认调用 MP4DECRYPT 引擎,可用--decryption-engine换成 FFMPEG 或 SHAKA_PACKAGER。CHACHA20/SAMPLE-AES 由程序内置解密,实现见 src/N_m3u8DL-RE/Crypto/。

一个易错点:下载完成但播放花屏/黑屏 → 密钥不完整或 KID 对不上 → 核对KID:KEY的配对关系,注意密钥里不要混入空格和换行。

参数速查

参数作用何时用
--thread-count下载线程数,默认等于 CPU 线程数大文件、网速够但下载慢
--download-retry-count每个分片的重试次数,默认 3网络波动频繁
-mt并发下载已选的视频/音频/字幕多轨源想整体提速
-R限速,单位 Mbps/Kbps,如15M100K不想占满带宽
-sv/-sa/-ss正则筛选视频/音频/字幕轨挑清晰度、语言、字幕
-M下载完成后混流(format=mkvmp4源是分离音视频,要单个成品文件
--sub-only只选取字幕轨道只要字幕
--key解密密钥,支持KID:KEY加密流
--decryption-engineFFMPEG / MP4DECRYPT / SHAKA_PACKAGER默认解密引擎不可用时
--live-real-time-merge录制直播时实时合并边录边存
--live-record-limit录制时长上限 HH:mm:ss定时录制
--custom-range只下载部分分片,如05:00-20:00只想截长视频的一段

完整参数以--help输出为准,单个参数细节可用--morehelp <参数名>查看,README.md 里也有全文档。

避坑清单

  • 分片大量 403/被拒 → 源站校验请求头 → 追加-H "Cookie: ..."-H "User-Agent: ..."-H可重复使用。
  • 合并阶段报错、找不到 ffmpeg → 合并调用 ffmpeg 可执行文件但不在 PATH → 把 ffmpeg 加入 PATH,或用--ffmpeg-binary-path指定全路径。
  • 多轨源输出一堆零散文件 → 分离音视频未混流 → 加-M format=mkv(或 mp4)。
  • 低版本 Windows 系统自带终端跑不了 → 终端不支持程序输出的控制台格式 → 换 cmder 等第三方终端运行。
  • 直播录制卡顿或中断 → 直播列表刷新慢/网络抖动 → 调大--live-wait-time,并在网络不稳时避免--live-pipe-mux

收尾

N_m3u8DL-RE 覆盖 MPD/M3U8/ISM 三大主流格式,从链接到可播放文件一条命令就能跑完。参数拿不准时,--morehelp和仓库 README.md 是现成的答案。从 TestStreams.md 里挑一条流先跑一次——第一次下载成功的 5 分钟,比读十篇教程都管用。

【免费下载链接】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),仅供参考

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

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

立即咨询