About HLSMate
HLSMate is a free browser extension for Chrome and Edge that saves video a web page is already playing. It detects HLS/M3U8 streams and MP4, WebM and FLV files, downloads the segments, and merges them into a single MP4 file inside your browser. There is no account, no upload, and no server-side processing.
Product facts
| Name | HLSMate |
|---|---|
| Type | Browser extension (Manifest V3) |
| Platforms | Google Chrome and Microsoft Edge, desktop only. There is no mobile browser build. |
| Price | Free. No account, no subscription, no in-app purchase. |
| Current version | v0.2.0 |
| Permissions | storage, tabs, webRequest, and host access to all sites |
| Languages | 16: Chinese (Simplified, Traditional), English, Japanese, Korean, Spanish, German, Portuguese (Brazil), French, Russian, Turkish, Vietnamese, Italian, Polish, Arabic, Dutch |
| Where processing happens | Entirely in your browser. Video is never uploaded. |
| Data stored locally | The per-tab resource list, your minimum-size filter, and one pending download task |
| Publisher | 向阳小院 (an independent developer) |
| Contact | Feedback form |
What it can do
- Detect HLS/M3U8 playlists, including master playlists with several quality variants, and merge the segments into one MP4.
- Merge a separately delivered audio track into the video, preferring the highest available bitrate.
- Save MP4, WebM and FLV files directly, without re-encoding.
- Capture a thumbnail for each detected resource, so you can tell them apart.
- Save live streams, as far as the stream window is still reachable when you start.
What it cannot do
- It does not bypass DRM. Protected streams such as Widevine are out of scope.
- It does not decrypt playlists encrypted with AES-128 or SAMPLE-AES.
- It does not work on sites that never expose a plain playlist, such as YouTube.
- It does not record the screen, so it cannot capture a video that is only rendered, never transferred.
- It cannot re-download a part of a stream that has already been dropped by a live window.
Why the permissions are needed
webRequestobserves media response headers read-only, so a playlist can be recognised. No request is blocked, modified or redirected.tabsreads the active tab address so the popup lists only the resources of that page.storagekeeps the per-tab list and your size filter on your device.- Host access to all sites is required because media can be served from any domain; narrowing it would break detection on most sites.