ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

N_m3u8DL-RE 流媒体下载器教程:m3u8 下载与直播录制一次跑通

N_m3u8DL-RE 流媒体下载器教程:m3u8 下载与直播录制一次跑通

N_m3u8DL-RE 流媒体下载器教程:m3u8 下载与直播录制一次跑通

【免费下载链接】N_m3u8DL-RECross-Platform, modern and powerful stream downloader for MPD/M3U8/ISM. English/简体中文/繁體中文.项目地址: https://gitcode.com/GitHub_Trending/nm3/N_m3u8DL-RE

你手里有一条 .m3u8 或 .mpd 链接,想把它存成本地视频,却不知道该敲什么命令。N_m3u8DL-RE 是跨 Windows、Linux、macOS 的命令行流媒体下载器,基于 .NET 10 以 AOT 自包含发布,Release 里的可执行文件装好即可运行,无需另装运行时。覆盖 DASH(.mpd)、HLS(.m3u8)、MSS(.ism)三种清单,支持点播下载与直播录制。

三步跑通:从解压到第一个成品

先执行最小验证,三步走,跑通即验证完成:

# 1. 从 Release 页面下载对应平台产物并解压(Arch 系:yay -Syu n-m3u8dl-re-bin) # 2. 校验版本 N_m3u8DL-RE --version # 3. 用公开测试流跑最短命令 N_m3u8DL-RE "http://playertest.longtailvideo.com/adaptive/oceans_aes/oceans_aes.m3u8" --save-name demo

第三步程序自动选流、多线程抓分片、合并成完整文件,跑完当前目录得到demo成品,临时分片默认自动删除。--version能正常打印,说明文件与系统匹配。

高频参数速查:三个功能域

输入 / 输出控制

参数作用缺省行为
<input>清单链接或本地清单文件必填
--save-name成品文件名自动生成保存名
--save-dir输出目录当前工作目录
--custom-range只下载部分分片(时间或序号)全量下载

选流策略

参数作用缺省行为
-sv/--select-video正则选视频轨,支持res、codecs、bwMin/bwMax自动挑一条
-sa/--select-audio正则选音轨,支持lang、channel自动挑一条
-ss/--select-subtitle正则选字幕自动挑一条
-dv/-da/-ds按同样正则排除对应轨道不排除

传输与容错

参数作用缺省行为
--thread-count下载线程数10
--download-retry-count单分片失败重试次数7 次
--cookies读取 Netscape 格式 Cookie 文件不带 Cookie
--tmp-dir临时分片目录系统默认临时目录
--log-file-path日志落盘路径不写日志文件

另有两项默认行为:--check-segments-count默认开启,核对实际分片数与清单预期;--del-after-done默认开启,合并完成后删除临时分片。

场景实战:按输入类型递进

多清晰度清单:只挑 4K HEVC

适用:清单里有多条清晰度、多语言轨道,你要精确挑一条,而不是接受自动挑选。

N_m3u8DL-RE "https://example.com/course.m3u8" --save-name course \ -sv "res=^3840x:codecs=hvc1:for=best" -sa "lang=en:for=best" -ss "name=中文:for=all"

与最小验证命令的差异全部在-sv/-sa/-ss:用正则按分辨率、编码、语言挑轨,for=best表示每种基础语言取码率最高的一条。

⚠️ 边界:选流挑的是整条流,不是片段;只想要中间一段时间,见下一节。

持续更新的直播流:录满两小时自动停

适用:目标是持续更新的直播,录满指定时长自动停,且不想等结束后再合并。

N_m3u8DL-RE "https://example.com/live.m3u8" --save-name live \ --live-real-time-merge --live-record-limit 02:00:00

变化点是--live-real-time-merge:录制过程同步合成完整文件,而非结束后才合并;--live-record-limit控制录满即停,不写则用 Ctrl+C 手动停止。

⚠️ 边界:--live-wait-time可手动设列表刷新间隔,但清单过短或过密都会拉低录制质量;回看历史时段用--live-catchup。

完整点播:只保留第 5 到第 20 分钟

适用:整集太冗长,只要中间一段。

N_m3u8DL-RE "https://example.com/course.m3u8" --save-name part \ --custom-range 05:00-20:00

变化点是--custom-range:时间格式为MM:SS或HH:MM:SS,也支持0-10、10-、-99这类分片序号写法。

⚠️ 边界:按分片起始时间筛选、保留完整分片,不做精确裁切,两端会略有偏差。

频道列表文件:一次录制多个台

适用:输入是 channels.m3u 频道列表,要为多个台分别落盘。

N_m3u8DL-RE channels.m3u -sv "name=^Sports:for=all" --live-record-limit 00:03:00

差异在输入类型是列表文件:for=all让所有匹配^Sports的频道同时录制并分别保存。

⚠️ 边界:频道名按正则匹配,匹配不到任何台会直接报错退出。

管线拆解:数据流向

输入链接 → 识别 MPD / M3U8 / ISM 格式,解析出轨道与分片列表(见 src/N_m3u8DL-RE.Parser/)→ 按-sv/-sa规则或默认策略选定各轨道 → 多线程并发拉取分片,失败自动重试(见 src/N_m3u8DL-RE/DownloadManager/)→ 按时间轴拼接分片并混流音视频、字幕 → 删除临时文件,成品落盘(合并与混流逻辑在 src/N_m3u8DL-RE/Util/)。

故障定位:症状 → 原因 → 处置

如果你看到多半是先做
分片下载反复失败网络抖动导致请求超时--download-retry-count调大,默认已是 7 次
临时文件占用空间过大临时分区空间不足--tmp-dir指向空间更大的分区
同一命令时成时败直播列表刷新与断网恢复相关--version确认版本,--log-file-path落盘日志对比
老版本 Windows 终端乱码或无法运行系统终端与程序不兼容换 cmder 等第三方终端

提 issue 前附三样:--version输出、完整命令、用--log-file-path落盘的日志文件;先用N_m3u8DL-RE doctor检查工具版本与系统环境。

下载与录制能稳定跑通后,再按需碰--custom-range、--live-catchup这类细分参数。

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

返回列表