How to Download Embedded Videos from (Almost) Any Website
7 min readby downloadxAI Team
You found a great video on some website, you right-click it, and... nothing. No "Save video as" option, or the option exists but saves a useless 2 KB file. If you've hit this wall, you're in the right place. This guide covers how to download embedded videos using methods that actually work today — browser DevTools, yt-dlp, and a couple of solid extensions.
The reason right-click saving usually fails is simple: most modern embedded players don't serve a single video file. They stream the video in small chunks using protocols called HLS or DASH, and the player assembles those chunks as you watch. There is no one file to save — but there is a URL that describes the whole stream, and once you have it, downloading is easy.
Before anything else, a quick compliance note: only download videos you own, videos you're authorized to download, or videos the copyright holder allows you to save. Respect the site's terms of service and your local laws. This tutorial won't help you crack DRM or paywalls — more on that below.
First, figure out what you're dealing with
Embedded videos come in four flavors, and the download method depends on which one you have. Open your browser's developer tools (F12 on most browsers), go to the Network tab, press play on the video, and watch what loads.
Direct MP4 or WebM file. The simplest case. You'll see a single request ending in .mp4 or .webm that keeps growing as the video plays. This is a plain file — you can just open that URL in a new tab and save it.
HLS stream (m3u8). The most common setup today. You'll see a request ending in .m3u8 followed by lots of small segment requests (often .ts or .m4s files). The m3u8 is a playlist that lists all the segments. Filter the Network tab by typing m3u8 to spot it quickly.
DASH stream (mpd). Same idea as HLS, different format. Look for a request ending in .mpd. YouTube and many European broadcasters use DASH.
DRM-protected stream. If you see m3u8 or mpd requests but also requests mentioning widevine, playready, or fairplay, the stream is encrypted. Stop here — this guide won't help, and that's intentional.
Method 1: The Network tab (works everywhere)
This is the foundation skill. It works in Chrome, Edge, Firefox, and Brave, and once you've done it twice it takes about 30 seconds.
- Open the page with the video and press F12 to open DevTools.
- Click the Network tab.
- Click the Media filter button. If your DevTools version doesn't have it, type
m3u8into the filter box (ormp4if you suspect a direct file). - Press play on the video. Streams only load when the video is actually playing, so an idle player shows nothing.
- Watch the request list. You're looking for one request ending in
.mp4,.webm, or.m3u8. - Right-click that request and choose Copy → Copy URL.
What you do next depends on what you copied:
- A direct MP4/WebM URL: paste it into a new browser tab, wait for it to load, then press Ctrl+S to save. Done.
- An m3u8 or mpd URL: that's a playlist, not a video. Saving it gives you a tiny text file. You need a tool that reads the playlist and stitches the segments together — that's the next two methods.
One gotcha: some sites require specific headers (like a Referer) to serve the media URL. If opening the copied URL gives you a 403 error, keep reading — Method 2 handles that.
Method 2: yt-dlp — the universal key
yt-dlp is a free, open-source command-line tool that downloads video from thousands of sites. It's the single most useful piece of software for this job, and it's actively maintained, which matters because streaming sites change constantly.
Install it with whatever package manager you have:
winget install yt-dlpbrew install yt-dlppip install yt-dlpHere's the part that surprises people: you often don't need the DevTools dance at all. yt-dlp has hundreds of built-in site extractors, so feeding it the page URL frequently just works:
yt-dlp "https://example.com/page-with-the-video"If yt-dlp doesn't recognize the site, fall back to the m3u8 URL you copied in Method 1:
yt-dlp "https://cdn.example.com/stream/abc123/playlist.m3u8"yt-dlp downloads all the segments and merges them into one file. For the merging step it needs ffmpeg — if you see a warning about it, install ffmpeg the same way (winget install ffmpeg, brew install ffmpeg, or your distro's package manager) and run the command again.
If the download fails with a 403 error, the CDN is checking where the request came from. Pass the page URL as the referer:
yt-dlp --referer "https://example.com/page-with-the-video" "https://cdn.example.com/stream/abc123/playlist.m3u8"That covers the vast majority of non-DRM embedded videos on the web.
Method 3: Browser extensions
If the command line isn't your thing, extensions do the same job with clicks instead of commands.
Video DownloadHelper (Chrome, Firefox, Edge) is the long-standing option. It watches network traffic, detects HLS and DASH streams automatically, and puts them in a dropdown list when you click its toolbar icon. For HLS streams it needs a small companion app installed on your computer to do the merging — the extension walks you through that setup the first time.
FetchV (Chrome, Edge) is a newer alternative focused specifically on m3u8/HLS downloads. It merges segments inside the browser tab, so no companion app is needed. Handy for quick one-offs.
The honest trade-offs:
- Pros: no terminal, no typing URLs, great for people who download a video once a month.
- Cons: they break more often than yt-dlp, they only work on sites the extension's detection logic understands, and you're trusting a third-party extension with your browsing traffic. Stick to well-known extensions with large user bases, and check the permissions they ask for.
Worked example: a VTurb-hosted video
VTurb is a popular video hosting platform for marketers and course creators, and it's a textbook HLS setup. If you open the Network tab on a page with a VTurb player, you'll see requests to hosts like vturb.com, vturb.net, or cdn.vturb... domains — first a .m3u8 playlist, then a stream of segment files.
Everything above applies directly: find the m3u8 request while the video plays, copy the URL, and hand it to yt-dlp. VTurb doesn't use DRM on standard videos, so the generic method works fine.
For the full VTurb walkthrough — including the exact request names to look for and what to do when the player lazy-loads the stream — see our dedicated guide on how to download VTurb videos. If you want to understand what the m3u8 playlist actually contains and why VTurb splits streams the way it does, that's covered in VTurb m3u8 download explained.
When you should stop
Sometimes the right answer is "don't download this," and it's worth saying plainly:
- DRM-protected streams. If the site uses Widevine, PlayReady, or FairPlay, the video segments are encrypted. Tools that strip that encryption exist, but using them is illegal in many places — in the US it violates the DMCA's anti-circumvention rules. We won't walk you through it.
- Paywalled content. If the video sits behind a purchase or subscription, downloading it outside the platform's own offline feature is almost certainly against the terms you agreed to, and likely copyright infringement too.
- Anything you're not authorized to keep. The boring rule is the right one: download what you own, what you're licensed to download, or what the rights holder explicitly allows. When in doubt, ask the creator — most will happily send you a file if you bought their product.
This isn't legal boilerplate we bolted on. It's the line that keeps a useful skill from becoming piracy, and no tutorial from us will cross it.
The easy button for VTurb (launching soon)
Everything in this guide works today, and for a one-off download the Network tab plus yt-dlp is honestly fast once you've done it once. But if you download VTurb videos regularly, we're building downloadxAI: a free, web-based downloader where you paste a VTurb link and get your video in one click — no DevTools, no command line, no installs.
It's launching soon. You can check the downloadxAI VTurb downloader page for the current status.
Until then, the methods above have you covered: figure out whether you're looking at a file, an HLS playlist, or a DASH manifest; grab the URL from the Network tab; let yt-dlp or an extension do the assembly. That workflow handles the overwhelming majority of embedded videos on the web — VTurb included.
FAQ
Why can't I right-click and save an embedded video?
Most embedded players stream video in small chunks using HLS or DASH instead of serving one downloadable file. The player stitches the chunks together on the fly, so there is no single file for your browser to save. You need to grab the stream URL and use a tool like yt-dlp to assemble it.
Is it legal to download embedded videos?
It depends on the video and where you live. As a rule, only download videos you own, videos you are authorized to download, or videos the copyright holder explicitly permits you to save. Respect the site's terms of service and your local copyright laws. This guide does not cover bypassing DRM or paywalls.
What is an m3u8 file and why does it keep showing up?
An m3u8 file is an HLS playlist — a small text file that lists the URLs of the video segments in order. It is not the video itself, which is why saving it directly gives you nothing playable. Tools like yt-dlp read the playlist, download every segment, and merge them into one MP4 or MKV file.
Can I download a video that is DRM-protected?
No, and you should not try. DRM systems like Widevine, PlayReady, and FairPlay encrypt the stream, and circumventing them is illegal in many jurisdictions, including under the DMCA in the US. If a video is DRM-protected or behind a paywall, the honest answer is to buy or rent it.
The one-click VTurb downloader is launching soon.
Paste a link, pick a quality, done — no DevTools required.
Try it on the homepage ↓