N_m3u8DL-RE 怎么用最顺手流媒体下载工具一条命令把 DASH/HLS 存成本地文件【免费下载链接】N_m3u8DL-RECross-Platform, modern and powerful stream downloader for MPD/M3U8/ISM. English/简体中文/繁體中文.项目地址: https://gitcode.com/GitHub_Trending/nm3/N_m3u8DL-REN_m3u8DL-RE 是一款跨平台流媒体下载工具支持 MPD、M3U8 与 ISM 三种协议帮你把点播视频、直播节目和加密流存成可播放的本地文件。装好 跑通从项目 Releases 页面下载对应平台的构建包放进任意目录并加入 PATH这是官方推荐的方式。Arch Linux 用户可以直接装 AUR 包省掉手动部署yay -Syu n-m3u8dl-re-bin # 预期终端内可直接执行 N_m3u8DL-RE 命令装完先跑一条点播测试流确认这个流媒体下载工具可用N_m3u8DL-RE https://media.axprod.net/TestVectors/v7-Clear/Manifest_1080p.mpd --save-dir ~/Videos --save-name demo # 预期分片下载并合并完成~/Videos 下生成可播放的视频附带元数据 json 和日志文件输出名由--save-name决定不写时它按时间和源名称自动生成。那份 json 记录了选了哪条视频轨、哪条音轨打开核对一眼就知道下载对不对。能力全景下面按任务把核心能力分成四组命令都能直接复制。怎么选轨只保留你要的轨道一条流里常有多档清晰度、多条音轨和字幕默认会挑各类型里质量最高的一条。-sv、-sa、-ss分别控制视频、音频、字幕forbest表示每种语言保留质量最高的一条N_m3u8DL-RE https://media.axprod.net/TestVectors/v7-Clear/Manifest_1080p.mpd -sa langen:forbest --save-dir ~/Videos # 预期按最佳英语音轨下载视频仍取默认最佳怎么录直播限时长边播边存直播流没有终点直播录制要自己定录多久。--live-record-limit按HH:mm:ss限定录制时长到点自动退出加--live-real-time-merge后分片边下边合录到一半文件就已经能播N_m3u8DL-RE https://masterpl.hls.nhkworld.jp/hls/w/live/smarttv.m3u8 --live-record-limit 00:05:00 --save-dir ~/Videos # 预期连续录制 5 分钟后自动退出得到一个完整录像怎么解密加密流带上 KID:KEY 直接出明文拿到密钥后按KID:KEY格式传给--key默认调用 mp4decrypt 完成加密流解密逐片解密后再合并不用自己再跑一遍解密工具N_m3u8DL-RE https://media.axprod.net/TestVectors/v7-MultiDRM-SingleKey/Manifest_1080p_ClearKey.mpd --key 9eb4050de44b4802932e27d75083e266:166634c675823c235a4a9446fad52e4d --save-dir ~/Videos # 预期解密并合并完成输出可直接播放的视频怎么只下一部分按时间段裁剪不想下完整影片时用--custom-range按分片号或时间取一段时间写法MM:SS或HH:MM:SS边界按分片对齐N_m3u8DL-RE https://media.axprod.net/TestVectors/v7-Clear/Manifest_1080p.mpd --custom-range 05:00-10:00 # 预期只下载第 5 到 10 分钟对应的分片区间场景实战批量拉取测试流先验证环境你刚装好工具想先确认网络和解码环境没问题再碰真实地址。把仓库里的公开测试流放进循环DASH 下载和 HLS 混在一起跑#!/bin/bash # 批量下载两条不同协议的测试流按序号命名 URLS( https://media.axprod.net/TestVectors/v7-Clear/Manifest_1080p.mpd http://playertest.longtailvideo.com/adaptive/oceans_aes/oceans_aes.m3u8 ) for i in ${!URLS[]}; do N_m3u8DL-RE ${URLS[$i]} --save-dir ~/Videos --save-name batch_$((i1)) done # 预期~/Videos 下出现 batch_1 与 batch_2 两个独立成片两种协议都能跑通说明环境没问题可以放心换地址。环境验证过了下一个最常见的需求是录直播。边播边存录下一场 30 分钟的直播节目正在播你想存下接下来半小时并且希望录到一半时文件就已经完整可用。开启实时合并再限定时长N_m3u8DL-RE https://cmafref.akamaized.net/cmaf/live-ull/2006350/akambr/out.mpd \ --live-real-time-merge --live-record-limit 00:30:00 \ --save-dir ~/Videos --save-name live_demo # 预期分片边录边合入同一个输出文件到 30 分钟自动退出跑完后命令自己结束~/Videos下得到一个完整录像不需要再手动合并一次。直播是在播内容有些频道还会再套一层加密拿到的分片必须解密才能用。解密加密频道拿到 KID:KEY 直接出片密钥一般来自播放器的调试信息或授权接口形式固定为KID:KEY。把地址和密钥一起交给它N_m3u8DL-RE https://media.axprod.net/TestVectors/v7-MultiDRM-SingleKey/Manifest_1080p_ClearKey.mpd \ --key 9eb4050de44b4802932e27d75083e266:166634c675823c235a4a9446fad52e4d \ --save-dir ~/Videos --save-name clearkey_demo # 预期下载完成后解密合并输出文件可直接播放解密和合并在同一次任务里完成。默认走 mp4decrypt换引擎时用--decryption-engine指定 ffmpeg 或 shaka-packager。踩坑与自救源站返回 403 或要求登录→ 请求没带有效凭证 →-H Cookie: 你的cookie -H User-Agent: iOS传请求头或用--cookies cookies.txt传浏览器导出的 Netscape 文件。分片偶发失败、过一会儿又恢复→ 网络抖动超出了重试预算 →--download-retry-count 10 --http-request-timeout 180把重试和超时调高。合并出来的视频放不了或卡顿→ 分片头部不一致 → 换--binary-merge按字节拼接或--use-ffmpeg-concat-demuxer让 ffmpeg 走 concat 分离器。合并或解密时提示找不到 ffmpeg→ 系统里没装 ffmpeg → 安装并加入 PATH或用--ffmpeg-binary-path 路径直接指向可执行文件。下载到的轨道不是想要的想要 1080p 却给了 720p→ 默认挑的是最高码率而非你的预期 →-sv res1920*:forbest明确指定。往深走TestStreams.md点播、直播、加密格式的公开测试流清单换参数前挑一条在这里验证。README.md完整参数列表以及-sv、-M混流、--custom-range、--save-pattern的详细语法。src/N_m3u8DL-RE.Tests/单元测试看解析器对 DASH/HLS 各类输入的处理行为。先拿 TestStreams 里一条点播流完整跑一遍确认输出命名和合并结果再换成你自己的地址。【免费下载链接】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),仅供参考
阅读完成 · 觉得有帮助?