N_m3u8DL-RE 完整指南:DASH/HLS 流媒体快速下载与直播录制
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-RE直播刚结束你想把回放存下来手里却只有一个 m3u8 链接。N_m3u8DL-RE 是一个跨平台的流媒体下载工具输入一个 M3U8、MPD 或 ISM 链接它负责解析轨道、下载分片、合并成片支持 DASH/HLS/MSS 协议的点播与直播录制。工具全景一个命令行工具覆盖三类流媒体协议N_m3u8DL-RE 是一个运行在 Windows、Linux、macOS 上的命令行程序你给它一个播放地址或直接给它一个 m3u8/mpd 文件它输出一个可播放的本地文件。适合三类人想保存在线视频的用户、需要录制直播的技术人员、以及想自己写下载逻辑的开发者。三种协议通吃自动识别 HLSm3u8、DASHmpd、MSSism并解析点播与直播都支持直播可实时合并分片结束即得完整文件解密内建AES-128、CENC、ChaCha20、SAMPLE-AES 等常见加密方式选择与输出可控按分辨率、编码、语言正则挑选音视频与字幕轨道命名灵活文件名模板支持分辨率、码率、语言等变量多流下载不冲突从安装到第一次下载三步跑通先装工具。Arch 系可以直接装包yay -Syu n-m3u8dl-re-bin # Arch 系安装稳定版其他系统从源码构建.NET 8 环境git clone https://gitcode.com/GitHub_Trending/nm3/N_m3u8DL-RE # 克隆仓库 cd N_m3u8DL-RE/src dotnet publish N_m3u8DL-RE/N_m3u8DL-RE.csproj -c Release -o out # 发布可执行文件然后跑第一条命令把链接传给程序指定保存目录和文件名./out/N_m3u8DL-RE https://example.com/demo.m3u8 --save-dir ~/Videos --save-name demo看到什么程序先解析出所有音视频轨道并打印选择结果然后逐分片下载、最后合并结束时输出video: ~/Videos/demo.mp4及一个 meta.json。第一次运行建议先拿短流测试仓库里的 TestStreams.md 列了一批可用于测试的流地址。场景实战多轨道流挑最清晰的视频和中文音轨遇到什么一个 m3u8 里混着 720p、1080p、多路音轨和字幕全下下来又慢又乱。N_m3u8DL-RE https://example.com/vod.m3u8 -sv best -sa langzh:forbest -ss all-sv best选码率最高的视频-sa langzh:forbest选最佳中文音轨-ss all抓全部字幕。看到什么输出目录里出现合并好的video.mp4和.srt字幕文件。想锁 4K把-sv best换成-sv res3840*:codecshvc1:forbest即可。直播流实时录制命令遇到什么直播边播边推分片是滚动更新的普通点播方式拿不到完整录像。N_m3u8DL-RE https://live.example.com/live.m3u8 --live-real-time-merge -M formatmp4 --live-record-limit 01:00:00--live-real-time-merge边下边合-M formatmp4指定成片容器--live-record-limit限定录一小时。看到什么过程中持续更新一个 mp4一小时后任务自动结束得到完整录像文件。注意网络不稳时不要加--live-pipe-mux管道混流它容易丢直播数据。只下载视频的前 20 分钟遇到什么一部电影只想先看开头不想等整个下载完。N_m3u8DL-RE https://example.com/movie.mpd --custom-range 00:00-20:00 --save-name test --save-pattern SaveName_Resolution--custom-range 00:00-20:00按时间截取--save-pattern让文件名带上分辨率。看到什么只下载前 20 分钟对应的分片输出形如test_1920x1080.mp4。也可以按分片序号截取比如--custom-range 10-表示从第 10 个分片一直下载到结尾。按需调参网络波动超时与重试分片反复下载失败时加超时、重试与并发参数一起用N_m3u8DL-RE https://example.com/vod.m3u8 --http-request-timeout 180 --download-retry-count 5 -mt--http-request-timeout 180单次请求最长等 180 秒默认 100--download-retry-count 5单分片失败重试 5 次默认 3-mt并发下载已选的音视频字幕。带宽受限线程数与限速默认线程数等于本机 CPU 线程数带宽有限时可以压下来并限速N_m3u8DL-RE https://example.com/vod.m3u8 --thread-count 8 -R 5M--thread-count 8固定 8 个下载线程-R 5M限制总速度 5Mbps也支持 Kbps 写法。需要代理目标站点走内网或代理才能访问时N_m3u8DL-RE https://example.com/vod.m3u8 --custom-proxy http://127.0.0.1:7890--custom-proxy显式指定代理会覆盖系统代理程序默认读取系统代理。分片链接带签名有的网站分片 URL 上挂着带时效的签名参数直接下载会 403。把页面请求头带上并把输入链接的 query 参数追加到每个分片N_m3u8DL-RE https://example.com/vod.m3u8?tokenabc -H User-Agent: iOS --append-url-params-H设置请求头--append-url-params把输入 URL 的 query 追加到分片请求。加密视频解密参数m3u8 里没写 KEY 的加密流需要手动给密钥N_m3u8DL-RE https://example.com/enc.m3u8 --key KID:KEY--key KID:KEY按 KID 匹配密钥多条用多次--keyKEY 相同可只写--key KEY密钥来源是文件时改用--key-text-file keys.txt。解密引擎默认 mp4decrypt找不到时可加--decryption-engine FFMPEG改用 ffmpeg 完成。排错与延伸常见报错按现象 → 原因 → 一句话解法处理旧版 Windows 终端显示乱码、卡住→ 系统终端不支持程序需要的控制台特性 → 换用 cmder 或新版 PowerShell 运行。结束时提示分片数量不匹配→ 网络波动导致个别分片缺失 → 加大--download-retry-count后重跑或关闭该检查。提示找不到 ffmpeg→ 合并/混流依赖 ffmpeg 但没在 PATH 里 → 安装 ffmpeg 或用--ffmpeg-binary-path指定可执行文件全路径。想看实现从两个目录入手协议解析M3U8/MPD/ISM 如何拆成分片列表在 协议解析模块针对特定网站的链接签名处理下载前对 URL 做二次加工在 自定义处理器目录。所有选项的细节用N_m3u8DL-RE --help复杂选项用--morehelp custom-range这类命令逐条查看。现在拿一个你手边的 m3u8 链接跑一次第一个 mp4 出现之前你只会需要上面那两条命令。核心资源TestStreams.md测试流列表、src/N_m3u8DL-RE.Parser/协议解析源码、--help完整参数。【免费下载链接】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),仅供参考