N_m3u8DL-RE 流媒体下载:4 条命令搞定 m3u8 下载、加密解密与直播录制

📅 发布时间:2026/9/19 17:57:59
N_m3u8DL-RE 流媒体下载:4 条命令搞定 m3u8 下载、加密解密与直播录制
N_m3u8DL-RE 流媒体下载4 条命令搞定 m3u8 下载、加密解密与直播录制【免费下载链接】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 是一个跨平台的流媒体下载工具支持 DASH.mpd、HLS.m3u8、MSS.ism三种协议覆盖点播和直播。本文用几个真实任务串起它的核心用法拉一条测试流、给加密分片喂密钥、把直播落成文件、批量挑轨最后附参数速查与排错表。先跑通一条 m3u8 下载命令未安装的话参考仓库 README.md 中的发行版获取方式Arch 可直接yay -Syu n-m3u8dl-re-bin。下面这条命令会从 Akamai 的公开测试流下载一个 AES-128 加密的 m3u8M3U8 播放列表告诉播放器按顺序拿哪些小文件的文本文件N_m3u8DL-RE http://playertest.longtailvideo.com/adaptive/oceans_aes/oceans_aes.m3u8 \ --thread-count 12 \ # 12 个并发线程默认是 CPU 核心数 --save-dir ./downloads # 输出目录默认当前目录执行后它会先打印解析出的流列表视频/音频/字幕轨道没有额外选项时进入交互式选择框用方向键勾选后开始下载完成后自动把分片合并成单个文件。想要跳过交互、直接选最佳轨道可加--auto-select。带着登录态抓加密分片有些流不加密有些则带着 DRM 之外的普通加密AES-128 / CENC 等此时程序需要你提供解密密钥。密钥可以从浏览器抓包或站点接口里拿到格式为KID:KEY。N_m3u8DL-RE 视频URL \ -H User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) \ -H Referer: https://原始站点.com \ # 防盗链通常校验这两个头 -H Cookie: sessionxxx \ # 登录态 --key 9eb4050de44b4802932e27d75083e266:166634c675823c235a4a9446fad52e4d \ --decryption-engine MP4DECRYPT--key可以重复出现来覆盖多个 KID如果密钥较多写成每行一个KID:KEY的文本文件用--key-text-file my_keys.txt传入。--decryption-engine决定用哪个外部程序做解密默认MP4DECRYPTmp4decrypt兼容性最好也可换成FFMPEG或SHAKA_PACKAGER。注意DASH 加密流走 mp4decrypt 前需要本机装有该工具若站点把 KID 藏在 MPD 里程序会尝试自动提取失败时再手动指定。如果密钥相同但站点没给 KID直接--key KEY一行搞定。把正在播的直播落成文件直播流没有总时长程序会自动进入录制模式并提示。要让它稳定地一直录到你想停为止需要控制刷新间隔、限制时长并决定是逐片落盘还是实时合并N_m3u8DL-RE 直播URL \ --live-wait-time 30 \ # 列表每 30 秒刷新一次 --live-record-limit 1:30:00 \ # 录满 1.5 小时自动停止 --live-real-time-merge \ # 边录边合并磁盘占用低 --save-name 直播录制--live-wait-time别设太小20~30 秒是兼顾延迟和请求量的常见取值--live-record-limit不传就会一直录适合配合--task-start-at 20260918200000这类定时启动参数。想要边录边混进 TS 容器加--live-pipe-mux会自动开启实时合并它通过管道调 ffmpeg网络不稳时容易丢数据弱网环境建议不开。录满后若提示分片数量校验失败先检查是否中途断流再考虑--check-segments-count的取舍。批量挑轨一整季视频只留 4K 中文字幕批量任务里最常用的是正则选轨避免交互打断脚本for url in ${URLS[]}; do N_m3u8DL-RE $url \ -sv res3840*:forbest \ # 正则匹配 4K 视频取最佳一条 -sa langzh|en:forbest \ # 中英文音轨各取最佳 -ss name中文:forall \ # 所有含中文的字幕 -mt \ # 音视频字幕并发下载 -M formatmp4 \ # 完成后混流为 mp4 --save-pattern SaveName_Resolution done-sv/-sa/-ss用正则匹配轨道属性forbest取最优一条、forall全取、forbest2取前两条-mt让多条轨道并行下载而不是逐条排队。--save-pattern用Resolution等变量区分同名文件批量跑时防止覆盖。只想要字幕不想要媒体把上面换成--sub-only --sub-format SRT即可输出为独立 SRT 文件。常用参数速查参数作用示例值--save-dir输出目录./downloads--save-name保存文件名episode-01--tmp-dir临时分片目录./temp--thread-count下载线程数默认 CPU 核心数12-H, --header追加请求头可多次-H Cookie: xxx--key解密密钥KID:KEY可多次9eb4…:1666…--key-text-file从文件批量读密钥keys.txt--decryption-engine解密外部程序MP4DECRYPT-sv/-sa/-ss正则选视频/音频/字幕res3840*:forbest-mt多轨道并发下载布尔开关-M完成后混流formatmp4--auto-select自动选最佳轨道跳过交互布尔开关--custom-range只下载部分分片05:00-20:00-R, --max-speed限速15M--live-wait-time直播列表刷新间隔秒30组合建议-H--key常一起出现-sv搭配-M formatmp4--live-real-time-merge搭配--live-record-limit。排错速查现象请求全部返回 403 / 播放列表为空。常见原因站点校验 Referer、Cookie 或 User-Agent缺头直接被拒。 修复N_m3u8DL-RE URL -H Referer: https://原始站点.com -H Cookie: sessionxxx现象启动即报 ffmpeg 找不到。常见原因程序启动前必须能定位到 ffmpeg 可执行文件不在 PATH 里就会直接失败。 修复N_m3u8DL-RE URL --ffmpeg-binary-path /usr/local/bin/ffmpeg现象下载完成但解密失败或文件无法播放。常见原因KID 与 KEY 不匹配或加密方式未正确识别CENC 与 AES-128 走不同路径。 修复N_m3u8DL-RE URL --key KID:KEY --decryption-engine FFMPEG # 仍失败时尝试 --custom-hls-method CENC 显式指定加密方式现象直播录制中途卡住、分片数校验失败。常见原因断流后未重新拿到新分片或录制时长跨了列表滚出窗口。 修复N_m3u8DL-RE URL --live-wait-time 30 --download-retry-count 5用环境变量固化录制参数每次敲同样的参数容易漏把低频变动的项放进 shell 环境即可Config/EnvConfigKey.cs 里列了全部支持项# ~/.bashrc 或 ~/.zshrc export RE_LIVE_PIPE_OPTIONS-c:v copy -c:a aac -b:a 192k # 定制管道混流的 ffmpeg 参数 export RE_LIVE_PIPE_TMP_DIR/var/tmp/re_pipe # 非 Windows 下管道文件目录 export RE_KEEP_IMAGE_SEGMENTS1 # 图形字幕调试时保留 m4s 分片live-pipe-mux场景下RE_LIVE_PIPE_OPTIONS会原样拼进 ffmpeg 命令行改这里就不用每次在命令里写混流参数。到这里下载、解密、录制三条主线的操作都已覆盖。想更进一步可以去看 TestStreams.md 里那批带注释的公开测试流逐个验证不同加密方式的--key组合录制党则可以研究--task-start-at cron 做整点定时录制。【免费下载链接】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),仅供参考