猫抓M3U8解析器三步下载完整HLS视频【免费下载链接】cat-catch猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catchcat-catch 是一个开源的浏览器资源嗅探扩展能在你看网页时捕获页面发出的媒体请求。它内置的 M3U8 解析器可以把 HLS 流的切片列表、清晰度与加密信息一次解析出来再并行下载、自动合并成完整视频文件全程不需要安装 ffmpeg 或其他本地工具。项目速览项目形态浏览器扩展Manifest V3支持 Chrome、Edge 等 Chromium 内核浏览器及 Firefox开源协议 GPL-3.0界面支持十种语言。适用人群想把网页上的 HLS 视频保存下来的普通用户以及想查看流媒体结构切片、码率、密钥的新手开发者。核心模块后台嗅探逻辑在js/background.jsM3U8 解析页面由m3u8.html与js/m3u8.js实现下载器独立在js/m3u8.downloader.js界面截图见 README/ 目录。三步上手指南前置条件安装猫抓扩展。可直接从各浏览器扩展商店安装也可以从源码加载git clone https://gitcode.com/GitHub_Trending/ca/cat-catch打开扩展管理页面如chrome://extensions开启开发者模式点加载已解压的扩展程序并选中克隆下来的目录即可。另外完整功能建议 Chromium 内核 93 以上104 以上体验最佳见 README.md 兼容性说明。操作步骤打开目标视频页面并让视频播放起来点击浏览器右上角的猫抓图标。弹窗会按标签页列出捕获到的媒体资源包括 m3u8 地址、大小与来源。点击其中的 m3u8 条目M3U8 解析页面会自动打开。页面会显示切片数量、总时长、分辨率、码率加密流还会给出密钥地址与算法。若是包含多档清晰度的主播放列表Master Playlist先在选择界面按分辨率和码率挑一档视频、一条音轨随后在解析页点合并下载。下载进度会同步显示在标签页标题上完成后自动合并保存。得到什么一个完整的视频文件。默认是 ts 切片按顺序合并的结果勾选mp4格式后会在浏览器内用 mux.js 转封装成 mp4勾选提取音频则只保留音轨。猫抓弹窗界面按标签页列出捕获的媒体资源点击即可进入对应解析器核心机制拆解多线程流水线下载器猫抓解析页最核心的价值是js/m3u8.downloader.js里的Downloader类。它按输入 → 处理 → 输出三层工作输入js/m3u8.js用 hls.js 解析完播放列表后得到一份切片对象数组每个对象带有url、duration时长、encrypted/decryptdata加密信息和顺序号index。处理Downloader按设定线程数默认 6同时启动多个downloader()每个线程用 fetch 拉取下一个切片。关键设计有两处乱序下载、按序落盘。多线程下载完成顺序是随机的但视频文件必须按顺序拼。所以每个切片的处理结果先写入this.buffer[index]的固定槽位sequentialPush()再从 0 号开始逐个检查、推送已就绪的数据。这样边下边存流式下载模式也不会乱帧。可插拔的处理管线。每个 buffer 依次经过pipeline中的步骤数据预处理部分站点把 ts 伪装在 PNG/JPG 图片头部之后这里按魔数切掉图片数据→ 解密从 m3u8 中声明的密钥地址取回 16 字节 key用 AES 解密→ 转码勾选 mp4 时用 mux.js 把 ts 重封装为 mp4。管线通过use(fn, name)注册每一步都能单独开启或跳过。输出全部切片就绪后触发allCompleted所有 buffer 合成一个 Blob交给chrome.downloads.download保存为文件勾选在线 ffmpeg 时则把文件发送给页面内置的 ffmpeg-wasm 实例转码。之所以这样设计是因为 HLS 下载的难点不在下载而在保序 容错 可定制。管线让解密、转码、清洗各自独立新增一种处理只加一个函数每个切片带index重试失败的片段单独补下而不必重头再来自动重试最多 3 次间隔递增。猫抓 M3U8 解析器上方显示媒体信息与切片列表下方是下载范围、线程数与格式选项适用场景与局限典型场景说明点播 m3u8 下载解析全部切片可只选一部分范围按序号或时间下载多清晰度主播放列表解析后列出各档视频/音轨按分辨率与码率选择视频音轨可交给内置 ffmpeg 合并AES-128 加密流自动下载并使用密钥页面同时展示密钥 Hex/Base64 供核对也支持手动填入自定义 key 与 IV直播录制解析页出现录制直播按钮按序持续下载新增切片并边下边存需要坦诚说明两个限制一是DRM 保护的内容无法处理带 Widevine、PlayReady 等 ContentProtection 的流解析器只会提示加密类型而不提供解密能力二是Chrome 下超大文件受限源码中明确写了 Chrome 单进程约 2G 的内存上限超过约 1.8G 的文件走 ffmpeg 转码路径时会自动改为直接保存或流式保存避免浏览器崩溃。此外 SAMPLE-AES-CTR 这类加密算法也不在解密范围内。常见问题Q解析 m3u8 时报错、显示 403怎么办通常是服务器校验请求头导致的。猫抓在解析失败时会自动用来源页面信息补上 Referer/Origin 再试一次也可以点解析页的设置请求头按钮手动指定如果地址是一次性签名的 URL解析器会尝试从原网页缓存中读取 m3u8 原文来救场。先确认该地址换浏览器或换个会话还能否直接访问。Q下载中部分切片失败合并出来的文件不完整下载器对每个失败切片会自动重试最多 3 次间隔递增页面同时提供重新下载所有失败项按钮点一下即可只补下失败的切片不用从头再来。如果失败较多可以把线程数调低默认 6减轻对服务端并发的压力。猫抓把找地址、解析列表、下载、合并这条繁琐的链路收敛成了三次点击且整个流程都在浏览器本地完成数据不经过第三方服务器。如果你正在评估它是否好用建议先拿一个未加密的点播 m3u8 走一遍上面三步感受一下从嗅探到合并成文件的完整链路。【免费下载链接】cat-catch猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考