M3U8 to MP4: how to turn a stream link into one video file
An .m3u8 file is not a video. It is a playlist: a small text file that lists the pieces a stream has been cut into. To convert M3U8 to MP4, a program has to fetch every piece and join them into one file.
OpenDownloader does this in a browser tab. Paste the .m3u8 address, press Download (and Start, if the stream comes in several qualities), and you get a single .mp4. It works on most plain streams, though not on every stream. The limits are listed further down.
Use it only for video you have the right to save: your own streams, or content published under a licence that allows copies.
What an .m3u8 file is
Most streaming video is delivered with HLS, short for HTTP Live Streaming. The video is cut into segments a few seconds long, usually MPEG-TS files ending in .ts. The .m3u8 playlist lists them in order, and a player fetches them one after another.
There are two kinds of playlist. A media playlist lists the segments of one version of the video. A master playlist lists several versions at different sizes and bitrates, and points to a media playlist for each. You can paste either kind.
The playlist holds addresses, not video. That is why saving the .m3u8 file gives you a few kilobytes of text, and why renaming it to .mp4 does nothing.
Convert M3U8 to MP4, step by step
- Open opendownloader.app and find the box labelled Paste a link.
- Paste the address that ends in .m3u8 and press Download.
- Chrome and Edge ask where to save the file: straight away for a stream with one quality, or after you press Start for a stream with several (see below). The suggested name comes from the playlist, so
master.m3u8becomesmaster.mp4. Give it a name you will recognise. - The download appears under Downloads with an HLS tag. The status line counts the segments as they arrive, for example "segment 19 of 64", and then reads "verifying checksum…".
- When the line reads "complete" followed by the file size, the MP4 is saved. The line below it is the SHA-256 hash of the file.
- Play the file. Skip to the end, check the length, and make sure there is sound.
Firefox does not ask where to save. The download starts when you press Download, or Start for a stream with several qualities, and the finished file is handed to the browser's own downloads.
The segments are joined, not re-encoded. The picture size, frame rate and codecs in the MP4 are the ones the stream had, so nothing is compressed a second time. You do not need an account.
Choosing a quality and an audio track
When a master playlist offers several qualities, the download waits in the list until you press Start. The Quality list already shows the highest one, and that is the one you get if you leave it. For a long video that can be a large file.
To choose a different one:
- Press Download. The download stays in the list, marked "queued", with the note "This stream comes in several qualities. Choose one, then press Start."
- Under it is a Quality list, with entries such as "432p · 0.7 Mbps". The entry it shows is the one you will get.
- Pick an entry.
- If the stream has more than one audio track, for example in different languages, pick one under Audio track.
- To keep only the sound, tick Audio only. The file is then saved as .m4a.
- Press Start. Chrome and Edge then ask where to save; Firefox does not.
A playlist with a single version has nothing to choose, so its download starts as soon as you press Download. Firefox shows the same Quality list and waits for Start in the same way.
Where the stream is fetched from
By default your browser does not contact the stream's server. The playlist and every segment are requested through OpenDownloader's relay server, which passes the data on to the page. The address you paste is therefore sent to that server. Joining the segments into an MP4 happens in the browser tab.
To have your browser fetch the stream itself, open Settings and untick Fetch through a relay before you paste the link. The browser then requests the playlist and the segments from the stream's own server, and the saved file is the same. This only works when that server allows web pages to read from it.
Turning .ts files into MP4
If the .ts segments are already on your computer, the same page has a tool for them under Local tools.
- Open Remux .ts segments into MP4.
- Press Choose .ts segments and select all the pieces at once. They are ordered by the numbers in their names, so
seg2comes beforeseg10. - One MP4 is saved, named after the first segment. The page shows its size and SHA-256 hash.
This tool reads the files from your disk and makes no network requests. Once the page has loaded, it works with the connection switched off.
Pasting the web address of a single .ts file does not work. The page answers "That link does not look like a media file."
Why some streams will not convert
- Encrypted or DRM-protected streams. If the playlist declares an encryption key, the download stops with "this stream is encrypted; opendownloader does not download protected streams". Subscription services protect their video with DRM, and those streams cannot be converted.
- Live streams. A broadcast that is still running has no last segment. The page answers "live streams have no end to download to".
- Audio in .mp3 pieces. A playlist made of .mp3 segments stops with "not an MPEG-TS stream (no sync byte)".
- A file that came out incomplete. After saving, the page reads the file back and checks it. If something is missing, the status line reads "saved, but not complete", the download is tagged check the file, and the reason is listed underneath. Try a different quality, or play the file to see whether it is usable.
FAQ
Is an .m3u8 file a video?
No. It is a text playlist that says where the segments of a video are. The video itself is in the segments.
Does converting M3U8 to MP4 lower the quality?
No. The segments are joined as they are, and nothing is re-encoded.
Why is my file called master.mp4?
The name is taken from the playlist's file name. Change it in the save dialog, or rename the file afterwards.
Can I choose the audio language?
Yes, when the stream offers more than one audio track. Press Download, pick one under Audio track, then press Start.
Can I convert a .ts file to MP4?
Yes, when the segments are on your computer. Use Remux .ts segments into MP4 under Local tools.
Do I need an account?
No. Everything described here works without signing in.