猫抓怎么解析 MPD、把 DASH 视频存到本地
【免费下载链接】cat-catch猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch
猫抓(cat-catch)是浏览器资源嗅探扩展,支持 MPD 解析,DASH 下载不用自己读 XML:输入一个 MPD 地址,就能拿到可下载的文件。
🎬 视频能播,下载按钮在哪
你打开一个网页视频,播放很流畅,但右键"另存为"只能拿到一个 mpd 后缀的文本文件,浏览器里根本打不开。点开 DevTools 找分段链接,又要面对一长串带占位符的 URL——这些片段的拼接规则写在 MPD 文件(一份描述视频有哪些清晰度、音频轨、时间轴的 XML 清单)里,手工拼出来既慢又容易漏段。
⚙️ 四步把 MPD 变成可下载文件
- 喂地址:嗅探列表里 mpd 资源会被标记为可解析(js/popup-utils.js 里匹配
mpd后缀或application/dash+xml类型),点解析图标即可;也可以直接打开 mpd.html,在mpdUrl输入框粘贴地址。 - 拉取解析:扩展用 fetch 请求拿到 XML,交给 lib/mpd-parser.min.js 转成结构化数据。
- 选清晰度:视频下拉框逐条列出流名称、码率(kbps)、帧率、分辨率,音频是单独一个下拉框,互不干扰。
- 拿结果:点"提取切片"得到该流全部分段 URL;点"转换为 M3U8"则自动生成播放列表并跳到 m3u8 解析页,后续合并、下载全部复用现成链路。
如果 MPD 里带ContentProtection节点,解析页会先把加密类型(Widevine / PlayReady / FairPlay)和 pssh 值列出来,加密内容能不能直接下,一眼看明白。
📦 MPD 转 M3U8,一条下载链路通吃
MPD 转 M3U8 格式互通
转换逻辑在 js/mpd.js:按选中的流生成带初始化段引用的播放列表,内容通过getMpdId参数传给 m3u8 页。
m3u8Content += '#EXT-X-MAP:URI="' + items.segments[0].map.resolvedUri + '"\n';之后切片、合并、断点续传都走 js/m3u8.js 那套你熟悉的流程,不用为 DASH 另学一套工具。
🌐 带 Referer 也能下
Referer 与自定义请求头设置
解析页有独立的 Referer 输入框,填了之后会被打包进requestHeaders参数,由setRequestHeaders注入当前标签页的请求;m3u8 下载页读取同一个参数。站点校验来源头时,这样请求就不会被拒。
📌 实操速查
- 嗅探列表里 mpd 资源加粗并带解析图标,没看到就确认响应头是不是
application/dash+xml。 - 视频流、音频流是分开下载的,选流看码率和分辨率即可,需要合并时直接送 ffmpeg。
- Referer 填视频所在的播放页地址,别填成 MPD 文件的域名。
猫抓把 DASH 的解析门槛降到了"填个 URL",剩下的下载工作交给 m3u8 那条你已经熟悉的链路。
【免费下载链接】cat-catch猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考