Common issues
No playlists detected
If the extension doesn’t capture any streams:Verify HLS content
Verify HLS content
Not all videos use HLS. Check if the page uses
.m3u8 playlists:- Open browser DevTools (F12)
- Go to the Network tab
- Play the video
- Filter requests by “m3u8”
- If you see
.m3u8files, the stream uses HLS
.m3u8 files appear, the video uses a different streaming protocol (DASH, progressive download, etc.) and this extension cannot capture it.Reload the page
Reload the page
The extension must be running when the page loads:
- Ensure the extension is installed and enabled
- Refresh the page completely (Ctrl+R or Cmd+R)
- Start video playback
- Check the extension popup for detected playlists
Check browser permissions
Check browser permissions
Verify the extension has necessary permissions:
- Open browser extension settings (e.g.,
chrome://extensions) - Find HLS Downloader
- Ensure it has permissions for:
- Web requests
- Downloads
- Storage
- Tabs
- Re-enable if any permissions were disabled
Try direct URL input
Try direct URL input
If automatic detection fails, add the playlist manually:
- Copy the
.m3u8URL from DevTools Network tab - Open the extension popup
- Go to the Sniffer tab
- Paste the URL in the input field
- Click Add
Download fails or stops
Check network connection
Check network connection
Fragment downloads require stable connectivity:
- Ensure you have a stable internet connection
- Avoid switching networks mid-download
- Increase Fetch attempts in Settings for unreliable connections
- Try downloading during off-peak hours if server is slow
Reduce concurrency
Reduce concurrency
Too many parallel requests can overwhelm servers:
- Open the extension popup
- Go to Settings
- Decrease Fragment concurrency to 2 or 3
- Click Retry download on the failed job
Check error message
Check error message
Expand the job card in the Downloads tab to see detailed error messages:
- Decryption errors: The stream uses unsupported encryption (e.g., DRM)
- 403 Forbidden: Server blocks requests (try manual download or check access)
- 404 Not Found: Fragments expired or URL invalid
- Network error: Connection lost during download
Try different quality
Try different quality
Some quality levels may have issues:
- Go back to the playlist selection
- Choose a different video quality or audio track
- Start a new download
Extension icon doesn’t update
Wait for parsing
Wait for parsing
Icon updates only after successful playlist parsing:
- Parsing can take a few seconds for large manifests
- Check the Sniffer tab manually to see if playlists are listed
- The icon updates per-tab, so ensure you’re looking at the correct tab
Restart the extension
Restart the extension
Sometimes the background script needs a refresh:
- Go to browser extension settings
- Find HLS Downloader
- Click the reload/refresh button
- Reload the page with the video
- Check again
Muxing takes forever
Be patient with large files
Be patient with large files
FFmpeg processing is CPU-intensive:
- Muxing a 2-hour 1080p video can take 5-10 minutes
- Progress is shown in the Downloads tab
- Do not close the browser tab or popup during muxing
- Consider downloading lower quality for faster processing
Check system resources
Check system resources
FFmpeg runs in your browser and uses CPU/memory:
- Close unnecessary browser tabs
- Free up system RAM
- Ensure your computer isn’t thermal throttling
- Desktop browsers generally perform better than mobile
Encrypted content fails
Check encryption type
Check encryption type
The extension supports AES-128 only:
- View the playlist in the Sniffer tab
- Click Open to see encryption details
- If the message says “unsupported encryption,” the stream uses DRM or another method
- AES-128 streams with keys in the manifest are supported
Verify key access
Verify key access
Some AES-128 keys are access-restricted:
- The extension must be able to fetch decryption keys from the URLs in the manifest
- If keys are behind authentication or expire quickly, decryption may fail
- Check the Downloads tab for specific decryption error messages
Save dialog doesn’t appear
Check save dialog setting
Check save dialog setting
You may have disabled the save prompt:
- Open the extension popup
- Go to Settings
- Check the Save dialog toggle
- If disabled, files save directly to your default download folder
- Enable it if you want to choose a location each time
Check browser download settings
Check browser download settings
Your browser may be set to always download to a specific folder:
- Open browser settings
- Search for “Downloads”
- Ensure “Ask where to save each file before downloading” is enabled
- Restart the browser if you change this setting
Jobs disappear after reload
Complete downloads before closing
Complete downloads before closing
To avoid losing jobs:
- Wait for active downloads to finish before closing the browser
- Use the Save as button to re-save completed jobs before reloading
- Keep the browser open until muxing completes
Feature request
Feature request
Persistence of jobs is a known limitation. If you’d like to see this improved:
- Visit the GitHub issues page
- Search for existing persistence requests
- Add a comment or upvote to express interest
Browser-specific issues
Firefox
Temporary add-on limitations
Temporary add-on limitations
If you installed via
about:debugging:- The extension is removed when Firefox restarts
- Reinstall as a temporary add-on each session
- Or install from Firefox Add-ons for persistence
Private browsing
Private browsing
Extensions may not work in private windows:
- Go to
about:addons - Click HLS Downloader
- Enable “Run in Private Windows” if needed
Chrome / Chromium
Developer mode required
Developer mode required
Manual installations require Developer mode:
- Go to
chrome://extensions/ - Enable Developer mode toggle (top right)
- Restart Chrome if the extension doesn’t appear
Extension disabled on restart
Extension disabled on restart
Unpacked extensions may be disabled:
- Chrome warns about developer mode extensions on startup
- Click “Enable” or dismiss the warning
- Alternatively, package the extension as a .crx (not recommended for security)
Edge
Install from Edge Add-ons
Install from Edge Add-ons
For the best experience on Edge:
- Install from the Edge Add-ons store
- Manual installations work but may trigger warnings
Brave
Shield settings
Shield settings
Brave’s shields may interfere:
- Click the Brave icon in the address bar
- Disable shields for the specific site if downloads fail
- Re-enable after capturing the playlist
Performance optimization
Speed up downloads
Increase concurrency
Increase concurrency
For faster downloads on stable connections:
- Go to Settings
- Increase Fragment concurrency to 6-10
- Monitor for failed fragments
- Reduce if you see frequent failures
Adjust active downloads
Adjust active downloads
Process multiple jobs simultaneously:
- Go to Settings
- Increase Active downloads or set to Unlimited
- Be aware that multiple jobs use more CPU and memory
Reduce memory usage
Lower concurrency
Lower concurrency
Fewer parallel requests reduce memory footprint:
- Go to Settings
- Decrease Fragment concurrency to 2-3
- Downloads will be slower but use less RAM
Clear completed jobs
Clear completed jobs
Delete finished jobs to free up memory:
- Go to the Downloads tab
- Click the chevron on completed jobs
- Click Delete
- IndexedDB buckets are cleaned up automatically
Reporting issues
If you encounter a bug or unexpected behavior:Check existing issues
Visit the GitHub issues page and search for similar reports.
Gather information
Collect details to help diagnose:
- Browser name and version
- Extension version (visible in the About tab)
- Page URL (if not sensitive)
- Steps to reproduce
- Error messages from the Downloads tab or browser console
Getting help
For questions or assistance:- Check the README for general usage
- Review this documentation for common solutions
- Open a GitHub Discussion for questions
- Report bugs via GitHub Issues
The project is open source and maintained by the community. Response times may vary.