A friend and I split the cost of an expensive course on Hotmart. The problem? Only one of us could watch at a time. I needed a way to download the videos so we could both access them whenever we wanted.
After trying several methods (including wrestling with ffmpeg commands that never quite worked), I stumbled upon yt-dlp combined with a Chrome extension called The Stream Detector. This combo changed everything — not just for courses, but for archiving any video content I care about.
Later, when I started a house construction project and needed to download hundreds of inspiration images from Pinterest, I discovered gallery-dl. These two tools have become essential in my media archiving workflow.
yt-dlp: The Video Download Swiss Army Knife
yt-dlp is a powerful command-line tool that can download videos from YouTube and over 1,000 other platforms. It’s a fork of the original youtube-dl with more features and active maintenance.
I started using yt-dlp because ffmpeg commands were too complex and didn’t always work. With yt-dlp, downloading is straightforward.
Installation
On macOS, I recommend using Homebrew — it keeps everything updated automatically:
brew install yt-dlpKeep it UpdatedUsing
brewmeans you can runbrew upgrade yt-dlpperiodically to get the latest version. This is important because streaming sites change frequently, and yt-dlp updates to match.
For other platforms:
# Using pippip install -U yt-dlp
# Windows: Download from releases# https://github.com/yt-dlp/yt-dlp/releasesBasic Usage
Download a YouTube video:
yt-dlp https://www.youtube.com/watch?v=VIDEO_IDDownload best quality:
yt-dlp -f bestvideo+bestaudio https://www.youtube.com/watch?v=VIDEO_IDExtract audio only (great for music or podcasts):
yt-dlp -x --audio-format mp3 https://www.youtube.com/watch?v=VIDEO_IDThe Stream Detector: My Secret Weapon
Here’s where it gets interesting. For platforms like Hotmart (or any course platform), you can’t just paste the URL into yt-dlp. The video streams are hidden behind authentication and dynamic URLs.
The Stream Detector is a browser extension that detects media streams on any webpage and generates ready-to-use download commands.
Firefox Has More OptionsThe Firefox version of The Stream Detector has more features. If you’re serious about downloading streams, consider using a Firefox-based browser like Zen Browser.
My Workflow for Downloading Courses
Here’s exactly how I download course videos from platforms like Hotmart:
- Open the course in your browser (make sure you’re logged in)
- Start playing the video you want to download
- Click The Stream Detector icon — it will show detected streams
- Look for the highest quality option (usually the one with the largest resolution)
- Copy the generated command and paste it in your terminal
The extension generates something like:
yt-dlp "https://streaming-platform.com/video.m3u8"You can add options for better organization:
yt-dlp -o "~/Videos/Course/%(title)s.%(ext)s" "https://streaming-platform.com/video.m3u8"The Tedious Part (Being Honest)
I won’t lie — downloading an entire course is tedious. You have to:
- Open each video one by one
- Wait for the stream to be detected
- Copy and run the command
- Potentially rename files to keep them in order
There’s no magic “download all” button. But for an expensive course you want to keep forever, it’s worth the effort.
Pro TipI usually rename files with a number prefix like
01-introduction.mp4,02-getting-started.mp4to keep them organized for later viewing.
gallery-dl: For Image Galleries and Collections
gallery-dl downloads image galleries from over 300 websites including Pinterest, Instagram, DeviantArt, Twitter, and many more.
I discovered this tool while working on a house construction project. I had a massive Pinterest board with hundreds (maybe thousands) of inspiration images — kitchen designs, floor plans, furniture ideas. I needed to download them all to review offline and create a mood board.
Installation
Again, Homebrew is my go-to:
brew install gallery-dlOr with pip:
pip install -U gallery-dlThe Cookie Trick (This Was My “Aha” Moment)
When I first tried gallery-dl with Pinterest, it barely worked. It only downloaded a few images, and they were all low resolution. Frustrating.
The solution? Use your browser’s cookies.
gallery-dl --cookies-from-browser chrome https://www.pinterest.com/username/board-name/This Changes EverythingThe
--cookies-from-browseroption lets gallery-dl use your logged-in browser session. This means:
- Access to your private boards
- Full resolution images
- No rate limiting issues
- Access to age-restricted content
After enabling cookies, gallery-dl downloaded everything in full quality. Game changer.
Supported Browsers
# Use cookies from different browsersgallery-dl --cookies-from-browser chrome URLgallery-dl --cookies-from-browser firefox URLgallery-dl --cookies-from-browser safari URLgallery-dl --cookies-from-browser brave URLMy Pinterest Workflow
Here’s how I downloaded my house inspiration board:
gallery-dl --cookies-from-browser chrome \ -D ~/Pictures/House-Project \ https://www.pinterest.com/myusername/house-ideas/After downloading, I went through the images manually, deleted the ones that didn’t fit my vision, and kept the best ones for my mood board. It saved me hours compared to saving images one by one.
A Trip Down Memory Lane
Using gallery-dl reminded me of my university days. Back then, I was obsessed with collecting images — anime wallpapers, character art, references for drawing. I had entire CDs filled with collections.
My “downloading tools” back then were primitive: either saving images one by one, or using sketchy scrapers that would crawl pages and download files based on extension or file size. gallery-dl is the modern, reliable version of what I wished I had back then.
Using yt-dlp with Browser Cookies Too
The cookie trick works for yt-dlp as well. This is useful for:
- Age-restricted YouTube videos
- Members-only content
- Subscription-based platforms
yt-dlp --cookies-from-browser chrome https://www.youtube.com/watch?v=VIDEO_IDConfiguration Files (Optional)
Both tools support configuration files if you want persistent settings. I don’t use them personally — this post serves as my reference — but here’s how they work:
yt-dlp Configuration
Create ~/.config/yt-dlp/config:
# Default output template-o ~/Videos/%(uploader)s/%(title)s.%(ext)s
# Always use best quality-f bestvideo+bestaudio
# Use Chrome cookies by default--cookies-from-browser chromegallery-dl Configuration
Create ~/.config/gallery-dl/config.json:
{ "extractor": { "base-directory": "~/Downloads/gallery-dl", "cookies-from-browser": "chrome" }}Tips I’ve Learned Along the Way
1. Keep Tools Updated
brew upgrade yt-dlp gallery-dlStreaming sites change constantly. Updated tools = fewer errors.
2. When Stuck, Ask AI
Both tools have extensive documentation, but it can be overwhelming. What works for me: copy the README into an AI chat and ask how to do something specific.
For example: “I have the gallery-dl README. How do I download only images larger than 1MB?“
3. Firefox/Zen for More Options
The Stream Detector has more features on Firefox. If you’re doing this regularly, consider using Zen Browser or Firefox for your downloading sessions.
4. Respect the Content
I use these tools to:
- Archive courses I’ve legitimately purchased
- Download my own content and collections
- Save things I’m afraid might disappear
Always respect copyright and terms of service.
Quick Reference
yt-dlp Commands
# Basic downloadyt-dlp URL
# Best qualityyt-dlp -f bestvideo+bestaudio URL
# Audio onlyyt-dlp -x --audio-format mp3 URL
# With cookiesyt-dlp --cookies-from-browser chrome URL
# Custom output pathyt-dlp -o "~/Videos/%(title)s.%(ext)s" URLgallery-dl Commands
# Basic downloadgallery-dl URL
# With browser cookies (recommended)gallery-dl --cookies-from-browser chrome URL
# Custom output directorygallery-dl -D ~/Pictures/MyDownloads URL
# With metadatagallery-dl --write-metadata --cookies-from-browser chrome URLTroubleshooting
“Unable to extract” errors: Update the tool (brew upgrade yt-dlp)
Low resolution or few images: Use --cookies-from-browser
403 Forbidden errors: Try adding cookies or updating the tool
Slow downloads: Normal for some sites. Be patient.
Conclusion
These two tools have saved me countless hours:
- yt-dlp + The Stream Detector: For archiving courses and videos from any platform
- gallery-dl + browser cookies: For downloading image collections in full quality
The key insight that took me a while to figure out: always use browser cookies. It solves most authentication and quality issues.
Whether you’re archiving educational content you’ve paid for, saving inspiration for a project, or just building a personal media library, these tools get the job done.