What this page does
Streaming video almost never arrives as a single file. A player reads a
playlist — .m3u8 for HLS or .mpd for DASH — and
downloads the video as a long sequence of short numbered pieces. Paste that
playlist here, and the pieces are fetched and joined back into a single file
you can keep and watch offline.
It runs on your own machine
The joining is done by FFmpeg compiled to WebAssembly and running inside this tab. Your video is never uploaded to us, and the link you paste is not stored. The only traffic that can touch a server of ours is the fetching of the pieces themselves, and only when you choose one of the CORS proxies under the URL box. Those simply relay the request and keep nothing.
Four steps
- Paste a playlist URL ending in
.m3u8or.mpd. - Choose a quality, if the stream offers more than one.
- Press Start Download and wait for the pieces to arrive.
- Save the file once the preview appears.
Source refusing the request? Open Headers, add the
Referer that the site expects, then select a CORS proxy. A browser
silently drops that header on a direct request, so it can only be sent through
a relay.
More than one at once
The Batch tab accepts several playlists in one run, one per line. Without signing in, you can process 3 at a time; a free account raises that to 5.
Where it stops
- Streams under DRM (Widevine, PlayReady, FairPlay) stay encrypted and cannot be assembled by anything running in a browser tab.
- Signed CDN links frequently authorise only the playlist, not the media segments it lists. The tool detects that response and stops straight away rather than retrying against a request that will keep failing.
-
Very large videos are returned as raw
.tsfiles instead of MP4, because repackaging them in the browser would exhaust its memory. VLC, mpv and QuickTime all play the result.