How to Download Videos from Any Website Using yt-dlp + Stream Detector
yt-dlp is great most of the time, but there's one enhancement you'll need
As of Mar 29, 2025, the best tool I’ve found to download videos is yt-dlp. Back in the good old days, the internet was very open and as long as you knew how to open chrome tools, you pretty much could save what you wanted.
Luckily yt-dlp mostly does the job, but you’ll also need a handy Chrome extension the stream detector to handle some edge cases.
Step 1: Install yt-dlp Using Homebrew
First, you'll need to install yt-dlp
via Homebrew. Open your terminal and run:
brew install yt-dlp
✅ Once installed, you're ready to download supported videos.
Step 2: Download a Video with yt-dlp
Here’s an example:
~ » yt-dlp -o "scotland-4k.mp4" https://www.dailymotion.com/video/x82r9zl 07:26:52
[dailymotion] Extracting URL: https://www.dailymotion.com/video/x82r9zl
[dailymotion] Downloading Access Token
[dailymotion] x82r9zl: Downloading media JSON metadata
[dailymotion] x82r9zl: Downloading metadata JSON
[dailymotion] x82r9zl: Downloading m3u8 information
[info] x82r9zl: Downloading 1 format(s): hls-1080@60
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 201
[download] Destination: scotland-4k.mp4
[download] 100% of 541.08MiB in 00:01:44 at 5.18MiB/s
[FixupM3u8] Fixing MPEG-TS in MP4 container of "scotland-4k.mp4"
That means success. Pretty simple, but what happens if you try a less common video site and get this error?
ERROR: Unsupported URL: https://9gag.com/
Answer: Use the Stream Detector addon & yt-dlp
Install the extension from the Chrome Web Store:
The Stream Detector on Chrome Web StoreOnce installed, open the webpage with the video you want to download.
Click the extension icon, and you’ll see a list of urls.
click on the ‘master’ link.
⚠️ It won’t give you a confirmation when you click, but don’t worry—it’s already copied to your clipboard.
Go back to your terminal and run:
yt-dlp -o "video-name.mp4" <master-url>
And that’ll get you the video you wanted. I usually leave the video in my browser playing while it downloads, but that may not be needed.
Note: I tried at first writing a script using python and playwright to automatically collect the right streaming urls. But using the stream detector (or your network tab) seems to be more reliable.