So there are times when we all need / want to download a web video for later viewing (like on a tablet), but there’s no link to do it. The file is in .m3u8 format. (Well, it’s not really a format, but a playlist).
.m3u8 is nothing more than a larger file that has been chunked. The player will then download the pieces and play them in the proper order. This is done for many reasons, but from a reliability standpoint, it’s definitely preferred as the chunks can be downloaded in parallel (depending on how the player wants to handle it) and video integrity is greatly improved.
The question is how do you get all the chunks into a format that would be playable / transferable to your tablet / phone / video server? (Yes.. I run Plex at home).
Here’s the easy way to do it.
1. Install Chrome Cache View (or any other browser cache viewer)
2. Install ffmpeg.
3. Fire up your browser and clear your chrome cache (or browser cache)
4. Fire up Chrome Cache View (or whatever browser you want)
5. In your browser visit and play the video on your browser. You don’t have to play the whole thing. Just a few seconds of it.
6. Look in your Chrome Cache View window and search for the .m3u8 link. Write this down or copy this to your clipboard. I do the latter.
7. Open up a command prompt and navigate to your ffmpeg directory.
8. Issue the following command: ffmpeg -i http://link.to.your.file/file.m3u8 -c copy whatever.filename.you.would.like.mkv
This will download, assemble, and encapsulate the stream into an .mkv container. After the command is done, your file should be playable. I make it a point to play the highest resolution video available to get the proper .m3u8 file for a high-def download if it’s available.