浏览器兼容性

FlowPick 各功能在不同浏览器中的支持情况,包括 API 兼容性矩阵、降级策略和浏览器选择建议。

FlowPick 在不同浏览器中的功能可用性取决于浏览器对现代 Web API 的支持程度。本文档提供详细的功能兼容性矩阵和降级策略说明。


快速检测你的浏览器

在开始使用 FlowPick 之前,可以通过以下方式快速判断你的浏览器是否满足要求:

检查项如何验证不满足时的替代方案
浏览器版本 ≥ 86地址栏输入 chrome://version 查看升级浏览器到最新版
是否为 Chromium 内核查看浏览器关于页面换用 Chrome 或 Edge
File System Access API打开 在线工具,看是否有"选择保存目录"按钮使用 Blob 下载模式(自动降级)
SharedArrayBuffer打开 在线工具,下载一个 TS 文件看合并速度自动降级为单线程 FFmpeg
如果不确定自己的浏览器是否兼容,直接安装 ChromeEdge 最新版即可获得最佳体验。详见 安装指南

浏览器支持概览

浏览器最低版本扩展支持在线工具推荐程度
Google Chrome86+完整支持完整支持推荐
Microsoft Edge86+完整支持完整支持推荐
Brave86+完整支持完整支持推荐
Opera72+完整支持完整支持可用
360 极速浏览器最新版完整支持完整支持可用
QQ 浏览器最新版完整支持完整支持可用
Firefox待定即将推出部分支持开发中
Safari不支持不支持部分支持不推荐
360 极速浏览器和 QQ 浏览器均基于 Chromium 内核,理论上兼容所有功能。但由于国内浏览器可能对部分 API 有额外限制,建议优先使用 Chrome 或 Edge。

功能可用性速查表

以下表格按功能维度展示各浏览器的支持情况,方便快速查阅:

功能ChromeEdgeFirefoxSafari相关文档
扩展自动检测🚧视频嗅探
在线工具下载⚠️⚠️在线工具
目录选择与持久化在线工具 — 保存目录
流式写入(FSA)下载引擎 — 写入策略
StreamSaver.js⚠️⚠️下载引擎
FFmpeg WASM 多线程⚠️格式转换
AES-128 解密视频嗅探 — 加密流
批量下载队列⚠️⚠️批量下载
桌面通知配置参考
大文件下载 (>2GB)下载引擎

✅ 完整支持 · ⚠️ 部分支持(有降级) · 🚧 开发中 · ❌ 不支持


API 兼容性矩阵

FlowPick 依赖以下浏览器 API。不同浏览器的支持情况直接影响功能可用性。

核心 API

API用途ChromeEdgeFirefoxSafari
fetch下载分片42+14+39+10.1+
WritableStream流式写入59+79+100+14.1+
Web Crypto APIAES 解密37+79+34+10.1+
WebAssemblyFFmpeg 运行57+16+52+11+
Service WorkerStreamSaver45+79+44+11.1+
Notifications API下载通知22+14+22+7+

高级 API

API用途ChromeEdgeFirefoxSafari
File System Access API目录选择与持久化86+86+
SharedArrayBufferFFmpeg 多线程需要 COEP/COOP需要 COEP/COOP需要 COEP/COOP
showSaveFilePicker另存为对话框86+86+
showDirectoryPicker目录选择器86+86+
requestIdleCallback延迟加载优化47+79+55+


功能降级策略

当浏览器不支持某个 API 时,FlowPick 会自动降级到替代方案,确保核心功能始终可用。

文件写入降级链

File System Access API (最佳)
    ↓ 不可用时降级
StreamSaver.js (流式写入)
    ↓ 不可用时降级
Blob + <a> download (内存写入,有大小限制)

File System Access API 不可用时的影响

  • 无法使用"选择保存目录"功能
  • 每次下载需要手动选择保存位置(弹窗模式)
  • 大文件(>1.5GB)可能因内存限制而失败

StreamSaver.js 不可用时的影响

  • 文件先完整加载到内存再触发下载
  • 受 Blob 大小限制(1.5GB 硬上限)
  • 大文件下载前会显示警告
关于三种写入策略的详细对比、适用场景和性能数据,请参阅 下载引擎架构 — 写入策略

FFmpeg 多线程降级

SharedArrayBuffer 可用 → 多线程 FFmpeg (快速)
    ↓ 不可用时降级
SharedArrayBuffer 不可用 → 单线程 FFmpeg (较慢)
    ↓ FFmpeg 加载失败时降级
TS 格式 → 直接二进制拼接 (最快,无需 FFmpeg)

SharedArrayBuffer 不可用时的影响

  • FFmpeg 合并速度降低约 40-60%
  • 功能完全不受影响,仅速度变慢
  • 选择 TS 输出格式可以完全跳过 FFmpeg
关于 FFmpeg WASM 的加载机制、内存管理和性能优化,请参阅 格式转换 — FFmpeg WASM 引擎。关于 TSToMP4Muxer 流式转封装(无需 FFmpeg 的替代方案),请参阅 格式转换 — 双引擎架构

通知降级

Notifications API 可用 → 系统桌面通知
    ↓ 不可用时降级
界面内状态提示

安全头要求

FlowPick 网站需要配置以下 HTTP 响应头以启用全部功能:

必需的安全头

Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Embedder-Policy: require-corp

这两个头是 SharedArrayBuffer 的前置条件,影响 FFmpeg 多线程模式。

推荐的安全头

X-Frame-Options: SAMEORIGIN
Cross-Origin-Resource-Policy: same-origin

这些头确保 StreamSaver.js 的 mitm.html 和 Service Worker 正常工作。

FlowPick 官网已配置上述安全头。如果你自行部署,请参考 在线工具 — 技术限制 中的配置说明。

部署检查清单

如果你自行部署 FlowPick 网站,请确认:

  • / 路径返回 Cross-Origin-Opener-Policy: same-origin
  • / 路径返回 Cross-Origin-Embedder-Policy: require-corp
  • /mitm.html 可正常访问
  • /streamsaver-sw.js 可正常访问且 Service-Worker-Allowed 头正确
  • /_nuxt/* 静态资源路径设置了正确的 COEP/COOP 头

各浏览器详细说明

Google Chrome(推荐)

版本要求:86+

支持的全部功能

  • File System Access API(目录选择、持久化权限)
  • SharedArrayBuffer(需 COEP/COOP 头)
  • StreamSaver.js
  • FFmpeg WASM 多线程
  • 所有扩展功能

已知问题:无

Chrome 是 FlowPick 的主要开发和测试平台,所有功能在 Chrome 上经过最充分的验证。推荐从 Chrome 网上应用店 安装扩展。详见 安装指南

Microsoft Edge(推荐)

版本要求:86+

支持的全部功能:与 Chrome 相同(基于 Chromium)

已知问题

  • 部分企业策略可能禁用 File System Access API
  • 扩展需要从 Edge 加载项商店安装
Edge 与 Chrome 共享 Chromium 内核,功能兼容性完全一致。如果你的公司电脑预装了 Edge 且无法安装 Chrome,Edge 是完美的替代方案。详见 安装指南 — Edge

Firefox(开发中)

当前状态:扩展版本开发中,在线工具部分可用

限制

  • 不支持 File System Access API
  • 不支持 showSaveFilePicker
  • SharedArrayBuffer 需要 COEP/COOP 头(Firefox 79+)
  • StreamSaver.js 支持有限

降级行为:所有下载使用 Blob 模式

Firefox 扩展版本正在开发中。在正式发布前,Firefox 用户可以使用 在线工具 进行下载,但功能会受限(无目录选择、大文件受 Blob 限制)。

Safari(不推荐)

当前状态:不支持扩展版本

限制

  • 不支持 File System Access API
  • 不支持 SharedArrayBuffer
  • 不支持 showSaveFilePicker
  • 不支持 showDirectoryPicker
  • WebAssembly 支持有限
  • Service Worker 功能受限

降级行为:仅支持基本的 Blob 下载模式,FFmpeg 可能无法加载


移动端浏览器

FlowPick 主要面向桌面浏览器设计。移动端浏览器的扩展支持有限:

平台扩展支持在线工具
Android Chrome不支持扩展部分可用
Android Firefox有限支持部分可用
iOS Safari不支持扩展部分可用
iOS Chrome不支持扩展部分可用

移动端的限制:

  • 不支持 File System Access API
  • 内存限制更严格
  • 下载管理体验不如桌面端
如果你需要在移动端下载流媒体,建议在桌面端使用 FlowPick 下载后传输到移动设备。移动端浏览器的内存和 API 限制使得大文件下载体验不佳。

如何选择浏览器

使用场景推荐浏览器原因
日常使用,追求最佳体验Google Chrome功能最完整,测试最充分
公司电脑,无法安装 ChromeMicrosoft Edge与 Chrome 内核相同,预装在 Windows 中
注重隐私保护Brave基于 Chromium,内置隐私保护
国内用户,习惯国产浏览器360 极速浏览器 / QQ 浏览器基于 Chromium,兼容性好
仅使用在线工具Chrome / Edge / Firefox在线工具对浏览器要求较低
需要下载超大文件 (>2GB)Chrome / Edge需要 File System Access API 流式写入
无论选择哪个浏览器,都建议保持浏览器为最新版本。旧版本可能缺少关键 API 支持,导致功能降级或不可用。

常见问题

为什么我的浏览器看不到"选择保存目录"按钮?

"选择保存目录"依赖 File System Access API,需要 Chrome/Edge 86+ 版本。如果你的浏览器版本满足要求但仍看不到,可能是企业策略禁用了该 API。此时会自动降级为 Blob 下载模式。

FFmpeg 合并速度很慢怎么办?

FFmpeg 多线程模式需要 SharedArrayBuffer,这要求网站配置 COEP/COOP 安全头。如果你自行部署 FlowPick 且未配置这些头,FFmpeg 会自动降级为单线程模式,速度降低约 40-60%。

解决方案

  1. 使用 FlowPick 官网(已配置安全头)
  2. 选择 TS 输出格式,跳过 FFmpeg 合并
  3. 自行部署时配置 COEP/COOP 头

移动端能用 FlowPick 吗?

移动端浏览器不支持扩展,但可以使用 在线工具。不过移动端存在内存限制和 API 缺失,大文件下载体验不佳。建议在桌面端完成下载。

Firefox 什么时候能完整支持?

Firefox 扩展版本正在开发中。Firefox 对 Manifest V3 的支持仍在完善,且 File System Access API 在 Firefox 中暂无实现计划。在扩展发布前,Firefox 用户可以使用在线工具。


相关文档