news 2026/10/16 2:44:43

流媒体下载实操:跑通 N_m3u8DL-RE 从点播到直播

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
流媒体下载实操:跑通 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

N_m3u8DL-RE 是一款面向 MPD/M3U8/ISM(DASH/HLS/MSS)的跨平台流媒体下载工具,点播下载和直播录制都在它的覆盖范围内。这篇文章不按参数清单走,而是带你过一遍真实使用中最常碰到的几个场景:第一次下载、挑轨道、裁时间段、录直播,卡住时去哪查也一并放在最后。

先跑通最短的一条命令 🚀

解压即用(Windows 从 Release 页拿构建,Arch 系走 AUR 装),然后拿 TestStreams.md 里第一条多音轨多字幕的测试流练手:

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

这条命令做的事:解析流、下载选中的轨道、合并成成品 demo,落到当前目录。它默认还会在临时目录(--tmp-dir可改,默认当前目录下)写一份 meta.json,是全部轨道信息的快照,排查问题和写脚本都用得上,不想要就--write-meta-json false。

跑之前记住两件事:合并分片、混流音视频都依赖ffmpeg,装在非标准位置时用--ffmpeg-binary-path <全路径>指一下,也可以先跑N_m3u8DL-RE doctor自检一遍环境;不指定轨道时会弹出交互式选轨界面,用键盘勾选、回车开始,第一次上手走这条路最直观。

  • 换输出目录:--save-dir <目录>
  • 换界面语言:--ui-language zh-CN
  • 确认版本:--version,报 bug 前先确认是不是最新构建

最佳视频 + 最佳音频 + 全部字幕,一条命令选好

跑脚本、批量下载时交互界面碍事,用-sv/-sa/-ss按正则挑轨道:

N_m3u8DL-RE "<流地址>" -sv best -sa best -ss all -mt

-sv best取最佳视频,-sa best取最佳音频,-ss all拿全部字幕,-mt让三路并发下载,完成得更快。嫌写三个过滤器麻烦,--auto-select一把梭:每种类型自动挑最佳。

  • 只下 4K HEVC:-sv res="3840*":codecs=hvc1:for=best
  • 只要英语音轨:-sa lang=en:for=best,lang 里可以写正则
  • 想丢掉某条轨道:换-dv/-da/-ds,写法相同,语义变成"丢弃"
  • 只想看轨道列表不动手:--skip-download
  • 字幕默认输出 SRT,要 VTT 加--sub-format VTT;只下字幕用--sub-only

只要中间一段,别下全片

点播内容不必整段下,--custom-range按时间切:

N_m3u8DL-RE "<流地址>" --custom-range 05:00-20:00

这条只下载第 5 分钟到第 20 分钟的内容,按分片起始时间筛选,跨边界的分片会整个保留,不做精细裁切。

时间两头都可以省略:-00:26只要前 26 秒,00:26-跳过前 26 秒下剩下的。也可以按分片序号写:0-10是第 0 到 10 号分片,10-从 10 号往后,-99取前 100 个。直播流不支持这个参数,录制时长由下一节的--live-record-limit管。

录直播并到点自动停 📺

程序识别到直播流会自动进录制模式,加上时长上限和实时合并:

N_m3u8DL-RE "<直播地址>" --live-real-time-merge --live-record-limit 01:30:00

录制过程中文件就在持续合并更新,到 1 小时 30 分钟自动停,直播结束不用干等合并,忘了 Ctrl+C 也不会把磁盘吃满。

  • 不想一直录、想把直播当点播一次拉下来:--live-perform-as-vod
  • 边录边出一个能播的 TS:--live-pipe-mux,走管道加 ffmpeg 实时混流;项目文档特意提醒网络不稳时别开,管道数据容易丢
  • 从某个历史时间点开始录:--live-catchup "01:00:00"从一小时前开始,也可以写具体日期时间,前提是清单里有可靠的时间信息
  • 手里是 IPTV 频道列表:直接把 m3u 文件当输入,-sv name=^Channel A$:for=best按频道名筛选,for=all可以并行录多个匹配频道

下完自动混成一个 MP4

不想让音视频留成分离文件的话,命令末尾挂上-M:

N_m3u8DL-RE "<流地址>" -sv best -sa best -M format=mp4

下载全部完成后,它把分离的音视频自动混进一个 MP4 容器。-M后面是冒号分隔的键值对,format=mp4或format=mkv指定容器,轨道选择部分见上节。

  • muxer=mkvmerge换混流程序(默认 ffmpeg),配bin_path=<路径>指定程序位置
  • keep=true混流完保留原始分离文件
  • 文件已经下好、只想混一下,工具命令直接办:
N_m3u8DL-RE mux -i <视频文件> -i <音频文件> -o output.mp4

-i也可以直接传录制任务目录,未合并的分片会自动合并各轨道再混流,原分片保留。

卡住了怎么办

终端乱码、花屏→ 老版本 Windows 终端对 ANSI 支持不好。先--no-ansi-color关颜色试试,还不行就换 cmder 这类终端,程序本身没问题。

打开链接就 401/403→ 站点要鉴权:-H "Cookie: <值>"或-H "User-Agent: <值>"补请求头;浏览器导出的 Cookie 文件用--cookies <文件>,它会按域名和路径自动匹配。分片地址还需要带原链接参数时,加--append-url-params。

下载慢、分片老中断→ 默认 10 个线程对某些线路偏激进,--thread-count调小,--download-retry-count调大(默认每分片重试 7 次),或者--custom-proxy http://127.0.0.1:8888换个线路。

文件下完放不了、提示加密→ 内容带加密:--key <KID>:<KEY>传密钥,所有分片同 KEY 时直接--key <KEY>,密钥多就放文件里走--key-text-file <文件>。解密仍报错就--decryption-engine在 FFMPEG、MP4DECRYPT、SHAKA_PACKAGER 之间换。

说不清到底哪一步挂了→--log-file-path <路径>把日志落盘,--log-level DEBUG把详细度拉满;再看下 src/N_m3u8DL-RE/DownloadManager/ 里的点播和直播主流程、StreamExtractor.cs 的解析入口,对照着能快速定位。

输出文件名撞车→--save-pattern加变量区分,比如--save-pattern "<SaveName>_<Resolution>"会输出成 demo_1920x1080.mp4 这种名字。

收束

从 MPD 到 M3U8,N_m3u8DL-RE 把解析、下载、解密、混流都收在一条命令里。从 TestStreams.md 挑一条流跑通最小路径,再按需叠加裁段和录制参数就行。

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/16 2:44:13

Visual Studio 2022 安装教程:从下载到配置,新手避坑完整指南

如果你第一次接触 Visual Studio&#xff0c;大概率会在安装这一步被绕晕&#xff1a;下载器只有几兆&#xff0c;点开之后却要下载好几个 GB&#xff0c;各种“工作负载”“单个组件”看得一头雾水&#xff0c;装完了又不知道选哪个项目模板。我从第一次装到帮别人排查安装问题…

作者头像 李华
网站建设 2026/10/16 2:44:07

安卓离线唐诗三百首应用开发:从数据设计到背诵模式全解析

1. 项目概述与核心动机很多人第一次听到“安卓 唐诗三百首”这个组合时&#xff0c;第一反应往往是“这不就是个本地数据库加列表页面吗&#xff1f;”说实话&#xff0c;三年前我也是这么想的。直到我真正接手了一个类似的项目需求——某个文化类创业团队想做一个面向中小学生…

作者头像 李华
网站建设 2026/10/16 2:44:04

RedisInsight 安装部署完整指南:10 分钟连上你的第一个 Redis

RedisInsight 安装部署完整指南&#xff1a;10 分钟连上你的第一个 Redis 【免费下载链接】RedisInsight Redis GUI by Redis 项目地址: https://gitcode.com/GitHub_Trending/re/RedisInsight 你还在终端里逐条敲 redis-cli 吗&#xff1f;RedisInsight 是 Redis 官方的…

作者头像 李华
网站建设 2026/10/16 2:43:31

你的PC能玩Switch吗?Ryujinx模拟器5分钟安装与流畅运行完整指南

你的PC能玩Switch吗&#xff1f;Ryujinx模拟器5分钟安装与流畅运行完整指南 【免费下载链接】Ryujinx 用 C# 编写的实验性 Nintendo Switch 模拟器 项目地址: https://gitcode.com/GitHub_Trending/ry/Ryujinx Ryujinx是C#编写的开源任天堂Switch模拟器&#xff0c;能在…

作者头像 李华
网站建设 2026/10/16 2:43:00

ESP32 Windows JTAG调试开箱即用包:OpenOCD 0.10.0定制版

简介&#xff1a;本资源是专为Windows平台ESP32嵌入式开发人员提供的OpenOCD调试工具包&#xff0c;面向使用ESP-IDF框架进行固件烧录与源码级调试的中高级开发者&#xff0c;解决JTAG/SWD硬件调试环境搭建难、配置繁琐等实际问题。压缩包为ZIP格式&#xff0c;大小2.01MB&…

作者头像 李华