Downloading an .m3u8 (HLS) video
You found a link ending in .m3u8, downloaded it, and received a text file of a couple of kilobytes. That is expected: the file is not the video, it is its index.
What an .m3u8 contains
HLS (HTTP Live Streaming) splits a video into hundreds or thousands of pieces a few seconds long. The .m3u8 is a plain-text list saying what order they go in and where each one lives. That is why it weighs almost nothing: it is only addresses.
There are usually two levels. The first one you find is normally a master playlist that lists not segments but other playlists, one per quality (1080p, 720p, 480p…). What you pick there decides the final resolution.
Why doing it by hand rarely works
Even if you fetch every piece, three problems remain. Order and joining: they must be concatenated and remuxed to MP4, or you cannot seek through the result. AES-128 encryption: many streams are encrypted with a key served separately, and without applying it you get noise. Links expire: plenty of servers sign addresses with a short validity, so 403 errors start halfway through.
Do not confuse that AES-128 with DRM. HLS AES-128 is part of the format itself and the key travels to the player; DRM (Widevine, PlayReady) is a different thing and is a genuine wall.
How the extension handles it
YDownloadNow detects the manifest the moment the player requests it, reads it, shows you the real qualities with estimated sizes, and downloads the segments in parallel, applying the AES key where needed. It then joins them into an ordinary MP4 with the audio in sync.
If the stream carries separate audio tracks — common with multi-language content — those are downloaded and muxed too, instead of leaving you a silent video.
Step by step
- Install the extensionAvailable for Chrome, Edge and Firefox.
- Play the videoAs soon as the player requests the manifest, the extension detects it. No need to hunt for the .m3u8 by hand.
- Choose the qualityThe dropdown lists the master playlist variants with resolution and estimated size.
- DownloadSegments are fetched in parallel, decrypted if needed, and joined into an MP4 that plays anywhere.
Frequently asked questions
I downloaded the .m3u8 and it is 2 KB — is it broken?
No, that is correct: the file only holds the list of the video's pieces. The real content is in the segments it points to.
Can I choose the resolution?
Yes, whenever the stream offers more than one. The extension reads the master playlist and shows each variant with its resolution and approximate size.
What if the video is encrypted?
If it is standard HLS AES-128, it decrypts fine: the key is part of the stream. If it is DRM (Widevine, PlayReady, FairPlay), it does not — we do not bypass that, and the extension marks it as not downloadable.
The download fails halfway with a 403
That is usually an expired signed link. Reload the video page and use the retry button: the extension fetches a fresh manifest with new addresses.