FDM 扩展视频检测与抓取实战
核心原理
FDM 浏览器扩展的视频检测能力来自浏览器的 webRequest API——当浏览器向服务器发起任何 HTTP 请求时,扩展能拦截并查看请求的 URL。如果 URL 匹配视频文件(.mp4 .webm .mkv)或流媒体清单(.m3u8 .mpd),扩展就把它列出来供你下载。
这个原理也意味着:扩展能检测到的,是浏览器能拿到的。如果视频被 DRM 加密、或浏览器看不到真实 URL(比如视频用 WebSocket 传输),扩展也抓不到。
常见平台实测
Bilibili(哔哩哔哩)
| 检测情况 | 说明 |
|---|---|
| 常规视频 | ✅ 能检测到 .m3u8 清单或 .mp4 直链 |
| 清晰度 | 取决于 UP 主上传的分辨率(1080P/4K 只要有源就能抓) |
| B 站大会员视频 | 视频能检测到,但需要大会员登录后的 Cookie(扩展会自动带上你浏览器的 Cookie) |
| 局限性 | 某些 B 站视频用了 HLS 动态清单,清单地址有时效(几小时过期) |
操作流程:打开 B 站视频页 → 等扩展工具栏出现角标数字 → 点击 FDM 图标 → 勾选要下载的清晰度 → 点击下载。FDM 桌面端会自动拉取 .m3u8 里的所有分段,下载完成后拼接成完整的 .mp4。
YouTube
| 检测情况 | 说明 |
|---|---|
| 常规视频 | ✅ 能检测到 .mp4 / .webm 源,但通常分辨率有限 |
| 局限性 | YouTube 把视频轨和音频轨分开了(DASH 流媒体),扩展可能只检测到视频轨或只检测到音频轨 |
| 推荐方案 | 用 yt-dlp(命令行工具)处理 YouTube,FDM 单独处理其他网站 |
FDM 处理 YouTube 的视频抓了后可能只有画面没有声音(或反之),因为 FDM 的下载引擎只负责拉 URL 对应的内容,不负责多轨合并。如果一定要用 FDM,建议配合 yt-dlp 先用 --merge-output-format mp4 把多轨合并成单轨文件,再用 FDM 下载合并后的文件。
Twitter / X
| 检测情况 | 说明 |
|---|---|
| 视频 Tweet | ✅ 能检测到 .mp4 直链 |
| 格式 | Twitter 的视频通常是 H.264 .mp4,分辨率不太高(最高 1080P) |
| Cookie | 登录后的 Cookie 会被扩展自动带上,能抓到需要登录才能看的视频 |
小红书 / 抖音 / 快手
| 检测情况 | 说明 |
|---|---|
| 检测难度 | ⚠️ 这些平台的视频 URL 有多重加密和签名,扩展不一定能直接检测到 |
| 签名有效期 | URL 签名通常只有几分钟有效,错过时间 FDM 下载会报 403 |
| 推荐方案 | 用专门的短视频下载工具(比如某条下载 API、手机录屏、或网页端分享链接提取) |
Netflix / Disney+ / Apple TV+
| 检测情况 | 说明 |
|---|---|
| DRM 保护 | ❌ 完全抓不到 |
| 原因 | Widevine DRM 会把视频流在浏览器内解密后再渲染,扩展只能看到加密的 .m3u8 清单和加密分片,下载后无法播放 |
| 技术现状 | 这不是 FDM 或任何下载工具的局限——DRM 设计目标就是禁止下载,除非浏览器本身有漏洞 |
清晰度选择
FDM 扩展检测到视频源后,会在弹出的视频列表里显示每个源的分辨率和格式:
[ ] 1080P MP4 1920x1080 8.5 MB/s
[ ] 720P MP4 1280x720 4.2 MB/s
[ ] 480P WebM 854x480 2.1 MB/s
不同清晰度的文件大小可能差很多——1080P 是 480P 的 4 倍以上。根据你的带宽和磁盘空间选择合适的清晰度。
HLS 视频的特殊处理
HLS(HTTP Live Streaming)是苹果主推的流媒体协议,现在 B 站、Twitter、国内大部分视频站都在用。HLS 的结构是:
主清单(.m3u8)
├── 子清单 1(1080P)
│ ├── segment_0.ts
│ ├── segment_1.ts
│ └── ...
├── 子清单 2(720P)
│ └── ...
└── 子清单 3(480P)
└── ...
FDM 下载 HLS 视频的流程:
- 从扩展拿到
.m3u8清单 URL - 下载主清单,解析出所有子清单和分片 URL
- 下载所有
.ts分片(用 FDM 的分段引擎并行下载) - 所有分片下载完成后,在本地把
.ts文件拼接成一个完整文件 - 默认输出
.ts格式(可以在 FDM 的媒体转换器里转成.mp4)
HLS 下载失败排查
- 清单地址过期——HLS 清单通常有时效性(几小时到几天),过期后 FDM 下载会报 404 或 403。解决:重新打开视频页面、让扩展重新获取最新清单、再添加进 FDM
- 分片下载超时——某些 CDN 对 HLS 分片做了限速,FDM 并发拉取时分片间延迟可能触发超时。解决:FDM 偏好设置里增加下载超时阈值(
网络 → 请求超时时间从 30 秒调到 60 秒) - 鉴权 Cookie 丢失——需要登录才能看的 HLS 视频,清单 URL 里可能带鉴权 token。如果 token 过期,重新在浏览器里登录对应网站再让扩展检测
实战建议
- B 站、Twitter 等支持的网站:直接用 FDM 扩展,体验完整
- YouTube:单独用 yt-dlp,不要用 FDM
- 抖音 / 小红书 / 快手:用专门的短视频下载工具
- DRM 平台:放弃,无法下载
- HLS 视频下载后转格式:FDM 媒体转换器可以把下载好的
.ts转成.mp4,见 媒体预览与转换
浏览器集成专题讲完,进入媒体预览与转换——这是 FDM 相对其他下载器的差异化功能之一。下载中预览。