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把网页播放器里的 .m3u8 链接另存为得到的只是一份几 KB 的文本打开自然播不了。原因是这个文件只是分片清单真正的视频数据分散在几百个小段里。N_m3u8DL-RE 就是干这件事的跨平台流媒体下载工具解析 DASH、HLS、Smooth Streaming 三类清单并发拉取分片再合并成完整文件点播和直播都覆盖。先跑通拿一条公开测试流走完整流程安装一句话带过从项目 Releases 下载对应平台的二进制放进 PATHArch Linux 可以直接yay -S n-m3u8dl-re-binAUR 包非作者维护。跑通之前先别谈调参。N_m3u8DL-RE https://storage.googleapis.com/shaka-demo-assets/angel-one-hls/hls.m3u8 --save-dir ./out这条 URL 来自仓库自带的 TestStreams.md 公开测试流清单。--save-dir指定输出目录--save-name固定文件名不指定则按流名自动生成。--skip-download只解析清单不下载适合先看看这条流里有什么。分片和初始化文件默认在下载结束后自动删除--del-after-done默认 true。判定标准很直观./out里出现一个能直接播放的媒体文件就算跑通了。挑清度和音轨正则加 forbest一条 DASH 流里常有多档分辨率和多语言音轨不挑就会全下既慢又占空间。-sv、-sa、-ss接收正则表达式按res分辨率、lang语言、codecs编码等维度过滤N_m3u8DL-RE https://media.axprod.net/TestVectors/v7-Clear/Manifest_1080p.mpd -sv res1920*:forbest -sa langen:forbestres3840*匹配 4K 视频codecshvc1只留 HEVC 编码。forbest在匹配结果里再按码率选最高的一条forbest2选前两条forall全部保留默认就是 best。懒得挑就加--auto-select工具会为每种类型直接选最佳轨道。反向过滤用-dv、-da、-ds比如-dv periodad可以剔掉广告 Period。加密流打不开把密钥给对地方加密内容报无法解析多数情况不是工具的问题而是缺密钥或密钥没对上。--key支持KID:KEY格式两条密钥就写两个--keyN_m3u8DL-RE 加密流.mpd --key 0123...AB:0123...CD --key-text-file keys.txt --decryption-engine FFMPEGKID 和 KEY 都写十六进制如果多条 KID 共用同一个 KEY直接--key KEY即可。密钥多时用--key-text-file指向文件文件内一行一条KID:KEY程序按 KID 查找。解密默认走 mp4decrypt--decryption-engine可切到 SHAKA_PACKAGER 或 FFMPEG。HLS 加密另有专用通道--custom-hls-method指定方式AES_128、CHACHA20 等配合--custom-hls-key文件、HEX 或 Base64--custom-hls-scope VIDEO可限定只作用于视频流。直播限时录制边录边合并还能回看过去工具识别到直播会自动进入录制模式不需要开关。录制可以设时长上限也可以从过去的某个时间点开始补录N_m3u8DL-RE https://livesim.dashif.org/dash/vod/live/stream1.mpd --live-record-limit 00:30:00 --live-real-time-merge -M formatmp4--live-record-limit HH:mm:ss到点自动收尾不指定就一直录。--live-catchup 00:30:00从半小时前开始补录也支持日期时间写法前提是清单提供可靠时间且起点还在服务端回看窗口内。--live-real-time-merge让分片边下边合随时打开文件都是可播状态。--live-idle-timeout 300可在列表连续 5 分钟无新分片时自动停止默认关闭。组合一完整会议存档录两小时产出可播 mp4要长时间盯直播靠人肉不现实。把时长上限、实时合并和混流串起来录完就是一个完整文件N_m3u8DL-RE https://cmafref.akamaized.net/cmaf/live-ull/2006350/akambr/out.mpd --live-record-limit 02:00:00 --live-real-time-merge -M formatmp4 --save-dir ./archive --save-name Conference录制文件持续追加中途中断已录部分仍可播放。--live-wait-time手动调整直播列表刷新间隔流更新快就调小。--live-pipe-mux会走管道实时混流成 TSREADME 明确提示网络不稳时别开它。想改容器格式用-M formatmkv:muxermkvmerge这种键值写法。组合二点播挑最高画质中文字幕一并入库课程站点一条流塞着四档画质、两种语言和若干字幕只挑想要的能省不少空间N_m3u8DL-RE https://media.axprod.net/TestVectors/v6-Clear/Manifest_1080p.mpd -sv res1920*:forbest -sa langen:forbest -ss all --sub-format SRT -M formatmp4 --save-dir ./course正则只负责圈定候选forbest负责在候选里按带宽取最高。--sub-format支持 SRT 和 VTT默认 SRT字幕时间轴默认自动修正可用--auto-subtitle-fix false关闭。-M formatmp4让分离的音视频和字幕在全部下载完成后混成单个文件。下载完成后任务目录会留一份解析信息 JSON--write-meta-json默认开启核对选流结果很方便。按现象排错403、断流、解密失败如果你遇到 403 或内容无法访问通常是站点只认浏览器先试-H User-Agent: ...、-H Referer: ...补请求头还不行用浏览器导出 Netscape 格式 Cookie 文件配合--cookies cookies.txt它会按域名和有效期自动匹配到清单、密钥和分片请求。清单带签名参数而分片不带时加--append-url-params。如果下载中途断流或慢得离谱别急着怀疑流本身把--thread-count调低默认 10给--download-retry-count留足重试默认 7--http-request-timeout放宽超时网络环境特殊时再用--custom-proxy走代理或--interface eth1固定出口网卡。如果解密失败先核对--key的KID:KEY格式和编码是十六进制还是 Base64再把--decryption-engine换到另一个引擎重试一轮。如果临时分片把磁盘撑爆用--tmp-dir把临时文件挪到大容量盘。另外老版本 Windows 自带终端可能跑不动这个程序换 cmder 执行Arch 用户记得从 AUR 装包而不是自己编译。N_m3u8DL-RE 适合习惯命令行、要批量处理 DASH、HLS、MSS 流的用户一条命令覆盖点播和直播。它不解决 DRM 保护问题也不会从网页里帮你找流地址纯网页链接仍需要自己先抓出来。完整参数说明见 README.md行为对不上预期时先用 TestStreams.md 里的公开测试流排查通常更快想深入机制可以看 src/ 下的源码解析、下载、合并分别在不同模块里。【免费下载链接】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),仅供参考