Common Issues Troubleshooting

Systematic troubleshooting guide covering media detection, download failures, merge errors, and browser compatibility issues.

This document summarizes various issues you may encounter while using FlowPick, providing diagnostic steps and solutions organized by symptom.


Quick Issue Index

If you already know the issue type, jump directly to the corresponding section:

SymptomJump To
Extension detects no mediaMedia Detection Issues
No response when clicking downloadDownload Won't Start
Slow download speedSlow Download Speed
Error during downloadDownload Fails Midway
Downloaded file won't playFile Won't Play After Download
Browser freezes during large file downloadLarge File Download Failure
Video and audio out of sync after mergingAudio/Video Desync After Merge
Merge progress bar stuckMerge Process Stuck
No "Select Save Directory" buttonFile System Access API Unavailable
Extension icon missingExtension Icon Not Showing
Keyboard shortcuts not workingKeyboard Shortcut Conflicts
If the above index doesn't cover your issue, please check Known Limitations first to confirm if it's a known limitation, or refer to FAQ for more help.

Diagnostic Tools & Tips

Before diving into troubleshooting, mastering these diagnostic tools can significantly improve efficiency.

Browser Developer Tools

Press F12 or Ctrl+Shift+I to open Developer Tools, focusing on these panels:

PanelPurposeKey Information
ConsoleView error logsJavaScript errors, CORS warnings, network failures
NetworkMonitor network requestsSegment request status codes, response times, request headers
ApplicationCheck storage statusConfiguration in localStorage, IndexedDB data

Common Error Message Quick Reference

When seeing these errors in Console, quickly locate the issue:

Error MessageMeaningReference Section
Failed to fetchNetwork request failedDownload Fails Midway
has been blocked by CORS policyCross-origin request blockedDownload Fails Midway — CORS Error
QuotaExceededErrorInsufficient storage spaceLarge File Download Failure
SharedArrayBuffer is not definedMultithreading unavailableSharedArrayBuffer Unavailable
showDirectoryPicker is not a functionFSA API unavailableFile System Access API Unavailable
AbortErrorUser cancelled operationNormal behavior, no action needed

Generate Diagnostic Report

For complex issues, run this code in Console to generate a diagnostic report for submitting issues:

// FlowPick Diagnostic Report Generator
const report = {
  userAgent: navigator.userAgent,
  platform: navigator.platform,
  language: navigator.language,
  fsaAvailable: 'showDirectoryPicker' in window,
  fsaSaveAvailable: 'showSaveFilePicker' in window,
  sharedArrayBuffer: typeof SharedArrayBuffer !== 'undefined',
  crossOriginIsolated: self.crossOriginIsolated,
  serviceWorker: 'serviceWorker' in navigator,
  storage: {
    quota: await navigator.storage?.estimate().catch(() => null),
  },
  timestamp: new Date().toISOString(),
}
console.log('FlowPick Diagnostic Report:', JSON.stringify(report, null, 2))
The diagnostic report only contains browser environment information; it does not include any personal data or browsing history. For more details on privacy protection, see Privacy & Security.

Media Detection Issues

Extension Cannot Detect Any Media

Symptom: After opening a page containing video/audio, clicking the FlowPick icon shows "No media resources detected" in the popup.

Diagnostic Steps:

  1. Confirm media has loaded on page
    Before opening FlowPick, play video or audio for a few seconds first. Many websites use lazy loading strategies that only start loading media streams after user interaction.
  2. Refresh page and retry
    The extension's media detection relies on monitoring network requests. If the extension was installed or activated after the page loaded, it may have missed initial requests. Refreshing triggers new network requests.
  3. Check if extension is activated
    When clicking the extension icon, confirm the popup displays normally. If the popup cannot open, the extension may not be correctly installed or has been disabled.
  4. Check if page uses non-standard protocols
    Some websites transmit media via WebSocket, WebRTC, or custom encryption protocols, which are outside FlowPick's detection scope.

Common Causes & Solutions:

CauseSolution
Media hasn't started loading yetPlay video/audio for a few seconds before opening FlowPick
Page loaded before extension installationRefresh page
Media rendered via <canvas> or WebGLUndetectable, this is a browser-level limitation
Media in cross-origin iframeTry opening the iframe's source page directly
Website uses DRM-encrypted streamsProtected content cannot be detected or downloaded
For a complete list of DRM-protected content and detection methods, see Known Limitations — DRM Protected Content. For extension installation and activation steps, see Installation Guide. For video detection technical principles, see Video Sniffing.

Some Media Not Detected

Symptom: FlowPick detects some resources but is missing certain expected videos or audio files.

Possible Causes:

  • Dynamic loading timing: Some media only loads when users scroll or click. Try interacting with the page before opening FlowPick
  • Filter settings: Check if minimum file size filter is set, causing small files to be excluded. For filter configuration, see Configuration Reference — Filter Settings
  • Non-standard MIME type: Server returns Content-Type not in FlowPick's recognition list. FlowPick currently recognizes 25+ MIME types, but some CDNs may use non-standard types

Incomplete Image Detection

Symptom: Not all images on the page appear in detection results.

Cause Analysis:

  • Images in CSS background-image require full page rendering before detection
  • Lazy-loaded images (loading="lazy") only load when scrolled into viewport
  • <img> elements dynamically created via JavaScript may be inserted into DOM after extension scanning
  • Canvas-rendered image content cannot be obtained through DOM detection

Recommendation: Scroll through the entire page before opening FlowPick to ensure all lazy-loaded content has been triggered.

For complete image download feature documentation and filtering tips, see Image Download. For batch image download scenarios, see Image Gallery Batch Download.

Download Issues

Download Won't Start

Symptom: No response after clicking download button, or error appears immediately.

Diagnostic Steps:

  1. Check browser download settings
    Confirm browser isn't blocking automatic downloads. In Chrome: Settings → Privacy and security → Site settings → Automatic downloads.
  2. Check disk space
    Ensure sufficient free space on system disk. Video files can be large (several GB); confirm adequate space before downloading.
  3. Check for conflicts with other download extensions
    Some download manager extensions may intercept or modify download requests. Try temporarily disabling other download-related extensions.
  4. Check browser console for errors
    Press F12 to open Developer Tools, check Console panel for errors. Common errors include:
    • Failed to fetch: Network request failed
    • CORS error: Cross-origin request blocked
    • QuotaExceededError: Insufficient storage space
For the complete download engine workflow (from click to file write), see Download Engine Architecture — Data Flow Overview. For write strategy selection logic, see Download Engine Architecture — File Write Module.

Slow Download Speed

Symptom: Download progress is slow, speed far below network bandwidth.

Influencing Factors & Optimization Suggestions:

FactorDescriptionOptimization Suggestion
Concurrent thread countDefault 2 threads may not fully utilize bandwidthIncrease to 4-6 threads
CDN throttlingSome streaming CDNs limit per-connection speedIncreasing concurrency improves total speed
Segment sizeSmall segments cause high request overheadNot adjustable, determined by streaming server
Network latencyHigh RTT per request significantly impacts high-latency connectionsIncrease concurrency to hide latency
Encryption/decryptionAES-128 decryption consumes CPU timeUnavoidable, modern CPUs usually fast enough

Diagnostic Flow:

Slow download speed
    │
    ├── Concurrency < 4?
    │   └── Yes → Increase concurrency to 4-6, observe speed change
    │
    ├── Large speed fluctuations?
    │   └── Yes → May be CDN throttling, try reducing concurrency to 2-3
    │
    ├── All downloads slow?
    │   └── Yes → Check network bandwidth, close other bandwidth-consuming apps
    │
    └── Only specific sites slow?
        └── Yes → That site's CDN may throttle, try different quality
For concurrency configuration methods, see Configuration Reference. For relationship between concurrency and performance analysis, see Download Engine Architecture — Concurrency vs Performance. For concurrency recommendations by scenario, see Batch Download — Concurrency Selection Guide.

Download Fails Midway

Symptom: Download stops with error after reaching certain percentage.

Common Errors & Handling:

HTTP 403 Forbidden

Segment URLs may contain time-sensitive tokens; server rejects access after expiration. Solutions:

  • Refresh page to get new stream address
  • Complete download promptly to avoid token expiration
  • For HLS streams, token is usually in M3U8 manifest; re-fetching manifest suffices

HTTP 404 Not Found

Segment deleted from server (common with live replays). Solutions:

  • Confirm stream is still available
  • Try selecting different quality (different qualities may use different segment files)

Network connection interruption

Automatic retry mechanism handles temporary network fluctuations. If persistently failing:

  • Check network connection stability
  • Reduce concurrent thread count to reduce simultaneous connections
  • Check firewall or proxy settings

CORS Error

Online tool version restricted by browser same-origin policy. Solutions:

  • Use browser extension version (extensions have broader network permissions)
  • If using online tools, confirm stream URL's server allows cross-origin requests
For download engine retry mechanism (exponential backoff strategy), see Download Engine Architecture — Retry Mechanism. For error classification and user prompt mapping, see Download Engine Architecture — Error Classification. For CORS technical principles, see Known Limitations — Browser Restrictions.

File Won't Play After Download

Symptom: Download complete, but video/audio file cannot be opened in player.

Diagnosis & Repair:

  1. Try different players
    Some players have limited support for specific codecs or containers. Recommended players for testing:
    • VLC Media Player (best compatibility)
    • MPC-HC
    • PotPlayer
  2. Check file size
    If file size significantly smaller than expected (e.g., only few KB), may have downloaded M3U8 manifest instead of actual video. Confirm correct resource selected.
  3. Try different quality
    Segments of certain qualities may have encoding issues. Try downloading lower or higher quality version.
  4. Use VLC repair feature
    VLC provides built-in AVI/MP4 repair:
    • Open VLC → Media → Convert/Save
    • Add file → Convert/Save
    • Select output format → Start
  5. Check if merge complete
    If browser crashed or network interrupted during download, merge may be incomplete. Re-downloading usually resolves this.
For differences between TS and MP4 formats and player compatibility, see Format Conversion — Output Format Selection. For encrypted stream playback failure after download, see Video Sniffing — Encrypted Streams.

Large File Download Failure

Symptom: Browser freezes or crashes when downloading large files (>1GB).

Cause: In Blob mode, entire file must be loaded into memory before triggering download. For very large files, this may cause memory exhaustion.

Solutions:

  • Use File System Access API save directory feature; files written directly to disk without consuming memory
  • If browser doesn't support FSA API, FlowPick automatically uses StreamSaver.js streaming write
  • If both streaming writes unavailable, Blob mode has 1.5GB hard limit; files exceeding this size will be rejected
For detailed comparison of three-tier write strategy (FSA → StreamSaver → Blob), see Download Engine Architecture — Strategy Comparison Summary. For complete memory safety management mechanism, see Download Engine Architecture — Memory Safety Management. For large file download practical scenarios, see Live Replay Download.

Merge Issues

Audio/Video Desync After Merge

Symptom: Time offset exists between video and audio tracks.

Cause: This typically occurs with DASH streams where video and audio segment timestamps are not perfectly aligned. FlowPick uses -c copy mode for merging without re-encoding, so cannot fix timestamp offset.

Solutions:

  • Try selecting different quality (A/V sync may differ across qualities)
  • Use FFmpeg command-line tool for manual re-encoding:
ffmpeg -i output.mp4 -c:v libx264 -c:a aac -async 1 fixed.mp4
For DASH stream A/V separation handling process, see Download Engine Architecture — DASH Stream Special Handling. For FFmpeg WASM merge implementation, see Format Conversion — FFmpeg WASM Engine.

Merge Process Stuck

Symptom: Progress bar stays at "Merging" stage for extended time.

Cause Analysis:

  • FFmpeg WASM requires longer time when processing many segments
  • When SharedArrayBuffer unavailable in multithreaded mode, FFmpeg falls back to single-thread, significantly reducing speed
  • Insufficient memory causes WASM to run slowly

Recommendations:

  • Wait for merge completion; large file merges may take several minutes
  • Selecting TS output format skips FFmpeg transcoding, using direct binary concatenation (completes in seconds)
  • Close other tabs consuming memory
For performance difference between FFmpeg WASM multi-thread and single-thread modes, see Format Conversion — Multithreading Mode. For SharedArrayBuffer configuration requirements, see Browser Compatibility — SharedArrayBuffer.

Browser Compatibility Issues

SharedArrayBuffer Unavailable

Symptom: Console shows SharedArrayBuffer is not defined or FFmpeg running in single-thread mode.

Cause: SharedArrayBuffer requires correct security headers on page. FlowPick website already configured:

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

If your deployment environment lacks these headers, FFmpeg automatically falls back to single-thread mode; functionality unaffected but slower.

For SharedArrayBuffer support status across browsers, see Browser Compatibility — Advanced APIs. For server-side configuration during self-deployment, see Installation Guide — Self-Deployment.

File System Access API Unavailable

Symptom: No "Select Save Directory" button, or no response when clicked.

Support Status:

BrowserMinimum Version
Chrome86
Edge86
Opera72
FirefoxNot Supported
SafariNot Supported

On unsupported browsers, FlowPick automatically uses browser default download method.

For complete feature support matrix across browsers, see Browser Compatibility — Feature Support Matrix. For detailed feature degradation strategy explanation, see Browser Compatibility — Feature Degradation Strategy.

StreamSaver.js Not Working

Symptom: Console shows StreamSaver-related errors.

Possible Causes:

  • Service Worker registration failed (some browser policies prohibit)
  • mitm.html page cannot load
  • Browser doesn't support WritableStream

FlowPick automatically degrades to Blob mode; functionality unaffected.

For StreamSaver.js working principles and deployment requirements, see Online Tools — Write Strategy Priority.

Extension-Specific Issues

Extension Icon Not Showing

  1. Click puzzle icon in browser toolbar (extension management)
  2. Find FlowPick
  3. Click pin icon to pin it to toolbar

Extension Automatically Disabled

Chrome may disable extensions under these circumstances:

  • Extension update requires new permissions
  • Browser detects suspicious behavior
  • Developer mode extensions disabled after browser restart

Solution: Re-enable FlowPick on chrome://extensions page.

For extension installation and permission details, see Installation Guide. For permissions requested by extension and their purposes, see Privacy & Security — Permission Explanation.

Keyboard Shortcut Conflicts

Default shortcuts Alt+Shift+F and Alt+Shift+D may conflict with other extensions or system shortcuts.

How to modify:

  1. Open chrome://extensions/shortcuts
  2. Find FlowPick
  3. Set new shortcut combination
For complete list of all available shortcuts and customization methods, see Keyboard Shortcuts. For shortcut scope (Global vs In Chrome), see Keyboard Shortcuts — Scope Explanation.

Network Troubleshooting

Proxy/VPN Environment

If using proxy or VPN, downloads may be affected:

IssueCauseSolution
Extremely slow download speedLimited proxy bandwidthTemporarily disable proxy, or use split routing rules
Connection timeoutProxy doesn't support streaming CDNAdd CDN domain to proxy whitelist
Certificate errorsProxy performing HTTPS MITM decryptionCheck proxy certificate configuration

Corporate Network Environment

Corporate networks typically have stricter security policies, potentially causing these issues:

  • Firewall blocking non-standard ports: Some streaming uses non-80/443 ports, may be blocked by corporate firewall
  • Service Worker disabled: Some enterprise management policies prohibit Service Workers, causing StreamSaver.js unavailability
  • Extension installation restricted: Enterprise-managed browsers may prohibit installing non-whitelisted extensions

Recommendation: In corporate network environments, prioritize online tool version (if accessible), or contact IT department about network policies.

For functional differences between online tools and extension, see Online Tools. For complete browser compatibility documentation, see Browser Compatibility.

Getting Help

If above solutions don't resolve your issue:

  1. Check GitHub Issues for similar problems
  2. Submit new issue with following information:
    • Browser and version
    • FlowPick version
    • Issue description and reproduction steps
    • Browser console error log (F12 → Console)
    • Problem page URL (if publicly accessible)
    • Output from diagnostic report