Documentation Index
Fetch the complete documentation index at: https://mintlify.com/puemos/hls-downloader/llms.txt
Use this file to discover all available pages before exploring further.
Common issues
No playlists detected
If the extension doesn’t capture any streams:Verify HLS content
Verify HLS content
.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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
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
- Go to
about:addons - Click HLS Downloader
- Enable “Run in Private Windows” if needed
Chrome / Chromium
Developer mode required
Developer mode required
- 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
- 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
- Install from the Edge Add-ons store
- Manual installations work but may trigger warnings
Brave
Shield settings
Shield settings
- 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
- 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
- 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
- Go to Settings
- Decrease Fragment concurrency to 2-3
- Downloads will be slower but use less RAM
Clear completed jobs
Clear completed jobs
- 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
Gather information
- 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