Preview
Download
Windows
Download M3U8 Downloader Desktop for WindowsmacOS
Coming soon…Linux
Coming soon…What It Does
M3U8 Downloader Desktop helps you download or record video streams on desktop.- Paste an M3U8, MP4, or page URL
- Capture hidden stream URLs from the built-in browser
- Download normal videos or record live streams
- Inspect failed tasks and retry with the right headers
Quick Start
Most users only need one of these two methods.Method 1: Paste a URL
Use this when you already have an M3U8, MP4, or page URL.
Best for:
- Known media URLs
- Page URLs handled by yt-dlp
- Fast one-off downloads
Method 2: Capture from the built-in browser
Use this when the real media URL is hidden.
Best for:
- Pages that load the stream only after playback
- Sites with hidden M3U8 URLs
- Cases where desktop and mobile User-Agent return different results
Which Method Should You Use?
| Situation | Recommended method |
|---|---|
| You already have an M3U8 or MP4 URL | Paste a URL |
| You only have a page URL | Paste a URL first |
| The page hides the real stream URL | Capture view |
| The site needs login or session data | Capture view or add Cookie |
| You want to record a live stream | Paste the live M3U8 URL |
Real Examples
These examples show the most common ways people use the app.Check yt-dlp Supported Sites
If you want to know which websites yt-dlp may support, check the official list: https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md Important:- This list is maintained by yt-dlp, not by this app.
- A site being listed does not guarantee it will work normally.
- Site updates, login requirements, region limits, or anti-bot checks may still cause failures.
Example 1: You already have an M3U8 URL
If you already extracted the stream URL from another tool or from page source, use the direct method. Example URL:- Click Add download.
- Paste the M3U8 URL.
- Click Add to queue.
- The task usually goes to Downloading quickly.
- After it finishes, you can open the file from the queue.
Example 2: The page plays video, but you cannot find the real stream URL
If the site only requests the media after playback starts, use the built-in browser. Example page:- Open Capture view.
- Open the page and start playback.
- Wait for the stream to appear in the capture list.
- Add the detected stream to the queue.
- The app captures the real media request for you.
- This is the easiest way to handle hidden M3U8 URLs.
Example 3: You want to record a live stream
If the stream is live, the app can keep saving it until you stop the task. Example URL:- Click Add download.
- Paste the live M3U8 URL.
- Start the task and let it run.
- Stop it when you want to finish recording.
- The task shows Recording or LIVE.
- When you stop it, the app finalizes the output file.
Example 4: You only have a page URL and want yt-dlp to extract it
If you do not have the real media URL, you can paste a supported page URL and let the app hand it to yt-dlp. Example URLs:- Click Add download.
- Paste the page URL.
- If the site requires login, add Cookie first.
- Click Add to queue.
- The task usually starts with Extracting.
- If extraction succeeds, it continues to Downloading.
- Some sites, especially Instagram, may require a valid login session.
- Even if a site appears in the yt-dlp supported list, it may not always work normally.
Download Queue
The queue is where you manage all tasks. It shows progress, errors, and actions. Common states:- Queued: waiting to start
- Extracting: reading a page URL or preparing the stream
- Downloading: saving a normal file
- Recording: saving a live stream
- Merging / Finalizing: finishing the output file
- Completed: finished successfully
- Failed: stopped with an error
- Pause or continue
- Retry the download
- Open the output file
- Reveal the file in its folder
- Open the recovery page
- Debug request headers
If a Download Fails
Start with these checks:- Read the full error message in the queue.
- Check whether the site needs Cookie, Referer, or User-Agent.
- If the URL came from a web page, try adding it again from Capture view.
- If it is a live stream, make sure the page session is still valid.
Settings
The main setting is FFmpeg M3U8 threads.- Range:
1 - 32 - Default:
1 - Increase it slowly if a source supports faster downloading
Notes
- The update button opens the changelog page.
- In-app auto update is not available yet.
- Download success depends on the source site.
- yt-dlp support depends on the target site and may break after site updates.
- Not every site in the yt-dlp supported list will work correctly at all times.
- Only download content you are allowed to access and save.