Browser Compatibility

FlowPick feature support across different browsers, including API compatibility matrix, fallback strategies, and browser selection recommendations.

FlowPick's feature availability across different browsers depends on browser support for modern Web APIs. This document provides detailed feature compatibility matrix and fallback strategy explanations.


Quick Browser Check

Before starting to use FlowPick, you can quickly determine if your browser meets requirements through following methods:

Check ItemHow to VerifyAlternative if Not Met
Browser version ≥ 86Enter chrome://version in address barUpgrade browser to latest version
Chromium-based kernelCheck browser about pageSwitch to Chrome or Edge
File System Access APIOpen Online Tools, check if "Select Save Directory" button existsUse Blob download mode (auto fallback)
SharedArrayBufferOpen Online Tools, download a TS file and check merge speedAuto fallback to single-threaded FFmpeg
If unsure whether your browser is compatible, just install latest version of Chrome or Edge for best experience. See Installation Guide for details.

Browser Support Overview

BrowserMinimum VersionExtension SupportOnline ToolsRecommendation Level
Google Chrome86+Full supportFull supportRecommended
Microsoft Edge86+Full supportFull supportRecommended
Brave86+Full supportFull supportRecommended
Opera72+Full supportFull supportUsable
360 Speed BrowserLatest versionFull supportFull supportUsable
QQ BrowserLatest versionFull supportFull supportUsable
FirefoxTBDComing soonPartially supportedIn development
SafariNot supportedNot supportedPartially supportedNot recommended
360 Speed Browser and QQ Browser are both based on Chromium kernel, theoretically compatible with all features. However, domestic browsers may have additional restrictions on some APIs, so recommend prioritizing Chrome or Edge.

Feature Availability Quick Reference

Following table shows browser support status by feature dimension for quick lookup:

FeatureChromeEdgeFirefoxSafariRelated Documentation
Extension auto-detection🚧Video Sniffing
Online tool download⚠️⚠️Online Tools
Directory selection & persistenceOnline Tools — Save Directory
Streaming write (FSA)Download Engine — Write Strategy
StreamSaver.js⚠️⚠️Download Engine
FFmpeg WASM multi-threaded⚠️Format Conversion
AES-128 decryptionVideo Sniffing — Encrypted Streams
Batch download queue⚠️⚠️Batch Download
Desktop notificationsConfiguration Reference
Large file download (>2GB)Download Engine

✅ Full support · ⚠️ Partial support (with fallback) · 🚧 In development · ❌ Not supported


API Compatibility Matrix

FlowPick depends on following browser APIs. Different browser support directly affects feature availability.

Core APIs

APIPurposeChromeEdgeFirefoxSafari
fetchDownload segments42+14+39+10.1+
WritableStreamStreaming write59+79+100+14.1+
Web Crypto APIAES decryption37+79+34+10.1+
WebAssemblyFFmpeg runtime57+16+52+11+
Service WorkerStreamSaver45+79+44+11.1+
Notifications APIDownload notifications22+14+22+7+

Advanced APIs

APIPurposeChromeEdgeFirefoxSafari
File System Access APIDirectory selection & persistence86+86+
SharedArrayBufferFFmpeg multi-threadingRequires COEP/COOPRequires COEP/COOPRequires COEP/COOP
showSaveFilePickerSave As dialog86+86+
showDirectoryPickerDirectory picker86+86+
requestIdleCallbackLazy loading optimization47+79+55+


Feature Fallback Strategies

When a browser doesn't support certain API, FlowPick automatically falls back to alternative solution to ensure core functionality is always available.

File Write Fallback Chain

File System Access API (Best)
    ↓ Fallback when unavailable
StreamSaver.js (Streaming write)
    ↓ Fallback when unavailable
Blob + <a> download (Memory write, has size limit)

Impact when File System Access API unavailable:

  • Cannot use "Select Save Directory" feature
  • Need to manually select save location each time (popup mode)
  • Large files (>1.5GB) may fail due to memory limitations

Impact when StreamSaver.js unavailable:

  • File fully loaded into memory before triggering download
  • Subject to Blob size limit (1.5GB hard cap)
  • Warning displayed before large file downloads
For detailed comparison of three write strategies, applicable scenarios, and performance data, see Download Engine Architecture — Write Strategy.

FFmpeg Multi-threading Fallback

SharedArrayBuffer available → Multi-threaded FFmpeg (Fast)
    ↓ Fallback when unavailable
SharedArrayBuffer unavailable → Single-threaded FFmpeg (Slower)
    ↓ Fallback when FFmpeg loading fails
TS format → Direct binary concatenation (Fastest, no FFmpeg needed)

Impact when SharedArrayBuffer unavailable:

  • FFmerge speed reduced by ~40-60%
  • Functionality completely unaffected, only slower
  • Selecting TS output format can completely bypass FFmpeg
For FFmpeg WASM loading mechanism, memory management, and performance optimization, see Format Conversion — FFmpeg WASM Engine. For TSToMP4Muxer streaming remuxing (alternative that doesn't need FFmpeg), see Format Conversion — Dual Engine Architecture.

Notification Fallback

Notifications API available → System desktop notification
    ↓ Fallback when unavailable
In-app status prompt

Security Header Requirements

FlowPick website needs following HTTP response headers configured to enable all features:

Required Security Headers

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

These two headers are prerequisites for SharedArrayBuffer, affecting FFmpeg multi-threaded mode.

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

These headers ensure StreamSaver.js's mitm.html and Service Worker work properly.

FlowPick official website has configured above security headers. If you deploy yourself, refer to configuration instructions in Online Tools — Technical Limitations.

Deployment Checklist

If you deploy FlowPick website yourself, please confirm:

  • / path returns Cross-Origin-Opener-Policy: same-origin
  • / path returns Cross-Origin-Embedder-Policy: require-corp
  • /mitm.html accessible normally
  • /streamsaver-sw.js accessible normally with correct Service-Worker-Allowed header
  • /_nuxt/* static resource paths have correct COEP/COOP headers set

Detailed Browser Descriptions

Version requirement: 86+

All features supported:

  • File System Access API (directory selection, persistent permissions)
  • SharedArrayBuffer (requires COEP/COOP headers)
  • StreamSaver.js
  • FFmpeg WASM multi-threading
  • All extension features

Known issues: None

Chrome is FlowPick's main development and testing platform; all features most thoroughly verified on Chrome. Recommend installing extension from Chrome Web Store. See Installation Guide for details.

Version requirement: 86+

All features supported: Same as Chrome (based on Chromium)

Known issues:

  • Some enterprise policies may disable File System Access API
  • Extension needs to be installed from Edge Add-ons store
Edge shares Chromium kernel with Chrome, complete functional compatibility. If your company computer comes with Edge pre-installed and cannot install Chrome, Edge is perfect alternative. See Installation Guide — Edge.

Firefox (In Development)

Current status: Extension version in development, online tools partially available

Limitations:

  • Does not support File System Access API
  • Does not support showSaveFilePicker
  • SharedArrayBuffer requires COEP/COOP headers (Firefox 79+)
  • Limited StreamSaver.js support

Fallback behavior: All downloads use Blob mode

Firefox extension version is under development. Before official release, Firefox users can use Online Tools for downloading, but functionality will be limited (no directory selection, large files subject to Blob limitations).

Current status: Extension version not supported

Limitations:

  • Does not support File System Access API
  • Does not support SharedArrayBuffer
  • Does not support showSaveFilePicker
  • Does not support showDirectoryPicker
  • Limited WebAssembly support
  • Restricted Service Worker functionality

Fallback behavior: Only supports basic Blob download mode, FFmpeg may fail to load


Mobile Browsers

FlowPick is primarily designed for desktop browsers. Mobile browser extension support is limited:

PlatformExtension SupportOnline Tools
Android ChromeNo extension supportPartially available
Android FirefoxLimited supportPartially available
iOS SafariNo extension supportPartially available
iOS ChromeNo extension supportPartially available

Mobile limitations:

  • Does not support File System Access API
  • Stricter memory limitations
  • Download management experience inferior to desktop
If you need to download streaming media on mobile, recommend using FlowPick on desktop to download then transfer to mobile device. Mobile browser memory and API limitations make large file download experience poor.

How to Choose Browser

Use CaseRecommended BrowserReason
Daily use, pursuing best experienceGoogle ChromeMost complete features, most thoroughly tested
Company computer, cannot install ChromeMicrosoft EdgeSame kernel as Chrome, pre-installed on Windows
Privacy-focusedBraveBased on Chromium, built-in privacy protection
Domestic users, accustomed to domestic browsers360 Speed Browser / QQ BrowserBased on Chromium, good compatibility
Only using online toolsChrome / Edge / FirefoxOnline tools have lower browser requirements
Need to download very large files (>2GB)Chrome / EdgeNeed File System Access API for streaming write
Regardless of which browser you choose, recommend keeping it updated to latest version. Older versions may lack key API support, causing feature degradation or unavailability.

FAQ

Why don't I see "Select Save Directory" button?

"Select Save Directory" relies on File System Access API, requires Chrome/Edge 86+. If your browser version meets requirements but still doesn't show it, enterprise policy may have disabled this API. Will automatically fall back to Blob download mode.

What if FFmpeg merge is very slow?

FFmpeg multi-threaded mode requires SharedArrayBuffer, which requires website to configure COEP/COOP security headers. If you deploy FlowPick yourself without configuring these headers, FFmpeg will automatically fall back to single-threaded mode, reducing speed by ~40-60%.

Solutions:

  1. Use FlowPick official website (security headers already configured)
  2. Select TS output format to skip FFmpeg merging
  3. Configure COEP/COOP headers when deploying yourself

Can I use FlowPick on mobile?

Mobile browsers don't support extensions, but can use Online Tools. However, mobile devices have memory limitations and missing APIs, making large file download experience poor. Recommend completing downloads on desktop.

When will Firefox have full support?

Firefox extension version is under development. Firefox's Manifest V3 support is still being improved, and File System Access API currently has no implementation plan in Firefox. Before extension release, Firefox users can use online tools.