Introduction
FlowPick is a media download tool that runs in your browser, helping you detect, preview, and download video, audio, and image resources from any webpage. It provides two usage methods: Browser Extension and Online Tool, with all processing completed locally—no file uploads to any server.
What FlowPick Does
FlowPick addresses a common pain point: videos and audio on webpages cannot be directly saved. Whether it's streaming protocols (HLS/DASH) or regular media files, FlowPick can detect and download them.
| Scenario | Solution | Reference |
|---|---|---|
| Online course videos cannot be downloaded | Detect HLS streams and auto-merge fragments | Online Courses |
| Live replay files are too large | Streaming write, supports 20GB+ files | Live Replays |
| Saving images one by one from gallery sites is too slow | Batch detection + one-click select-all download | Gallery Batch Download |
| Offline podcast listening | Audio detection + batch queue management | Podcast Audio |
| Downloaded TS files cannot play | Browser-side FFmpeg remuxing to MP4 | Format Conversion |
| Corporate training video archiving | Intranet environment support + Token authentication | Corporate Training |
Two Usage Methods
FlowPick provides two product forms to adapt to different scenarios:
| Browser Extension | Online Tool | |
|---|---|---|
| Usage | Install extension, one-click detect | Open webpage, paste URL |
| Media Detection | Auto-monitor network requests | Manually obtain stream URL |
| CORS Restrictions | Unrestricted | Subject to same-origin policy |
| Best For | Daily high-frequency use | Temporary use, unable to install extension |
| Installation | Chrome/Edge extension store | No installation required |
| Access Point | Toolbar icon | /m3u8-downloader /dash-downloader |
Core Capabilities
Streaming Protocol Support
FlowPick fully supports two mainstream streaming protocols:
| Protocol | Manifest Format | Fragment Format | Encryption Support | Typical Platforms |
|---|---|---|---|---|
| HLS | .m3u8 | TS | AES-128 | Bilibili, Tencent Classroom, Huya |
| DASH | .mpd | MP4/FMP4 | AES-128 | YouTube, Bilibili |
For encrypted streams, FlowPick uses the browser's built-in Web Crypto API for AES-128 decryption. Keys and fragment data are never uploaded to servers.
Download Engine
The download engine is the core of FlowPick, with the following capabilities:
- Concurrent Downloads: Configurable 1-8 threads, Worker Pool mode for dynamic task allocation
- Smart Retry: Exponential backoff strategy, up to 3 automatic retries
- Streaming Write: File System Access API writes directly to disk, constant memory footprint (~16MB), supports files of any size
- Three-tier Fallback: FSA → StreamSaver → Blob, ensuring compatibility across different browsers
- Format Conversion: Integrated FFmpeg WASM, supports TS→MP4 remuxing and audio-video merging
Supported Media Formats
Streaming Formats
| Content-Type | Extension | Description |
|---|---|---|
application/x-mpegurl | .m3u8 | HLS Playlist |
application/vnd.apple.mpegurl | .m3u8 | HLS (Apple) |
application/dash+xml | .mpd | DASH Manifest |
Video Formats
| Content-Type | Extension |
|---|---|
video/mp4 | .mp4 |
video/x-m4v | .mp4 |
video/webm | .webm |
video/ogg | .ogv |
video/x-flv | .flv |
video/x-matroska | .mkv |
video/quicktime | .mov |
video/x-msvideo | .avi |
video/3gpp | .3gp |
video/3gpp2 | .3g2 |
video/mpeg | .mpeg |
Audio Formats
| Content-Type | Extension |
|---|---|
audio/mpeg | .mp3 |
audio/ogg | .oga |
audio/webm | .weba |
audio/x-wav / audio/wav | .wav |
audio/x-flac / audio/flac | .flac |
audio/aac / audio/x-aac | .aac |
Image Formats
| Content-Type | Extension |
|---|---|
image/gif | .gif |
image/jpeg | .jpg |
image/png | .png |
image/webp | .webp |
image/svg+xml | .svg |
Privacy & Security
FlowPick is designed following the local-first principle:
- All media detection is completed locally in the browser
- Downloaded data transfers directly from source servers to your disk
- FFmpeg remuxing runs in the browser WASM sandbox
- No backend servers, no user account system
- No collection or upload of any personal data
Browser Compatibility
| Browser | Extension Support | Online Tool | Recommendation |
|---|---|---|---|
| Google Chrome 86+ | Full support | Full support | Recommended |
| Microsoft Edge 86+ | Full support | Full support | Recommended |
| Brave 86+ | Full support | Full support | Recommended |
| Firefox | In development | Partial support | Coming soon |
| Safari | Not supported | Partial support | Not recommended |
Documentation Navigation
Choose your starting point based on your needs:
New Users
- Installation — Install the browser extension
- Basic Usage — Get started quickly
- Configuration Reference — Learn about all configuration options
Find by Use Case
- Online Course Download — Save course videos for offline learning
- Video Platform Download — Bilibili, YouTube, and other platforms
- Live Replay Saving — Large file streaming downloads
- Podcast Audio Download — Commuting listening, language learning
- Gallery Batch Download — Wallpaper, design asset collection
- Corporate Training Archiving — Intranet environment support
- Personal Media Archiving — Build your personal media library
Troubleshooting
- Common Issues Troubleshooting — Diagnose and resolve common problems
- Known Limitations — Technical limitations of the current version
- FAQ — Answers to frequently asked questions
Deep Dive
- Format Conversion — TS→MP4 remuxing explained
- Batch Download — Queue management and concurrency control
- Download Engine Architecture — Technical implementation details
- Project Architecture — System design and module breakdown
Contributing
- Contributing Guide — How to participate in project development