if you're on a mac and need to use yt-dlp for archiving videos, the current implementation and documentation just outright sucks.

youtube now requires cookie validation to "prove" that you're not a bot, so after a couple of video downloads it will error out.

here's how to use yt-dlp on your mac *with* cookie validation (instructions assume you've already got yt-dlp installed):

1. login to youtube.com with safari
2. in Finder, Command-Shift-G to ~/Library/Containers/com.apple.Safari/Data/Library/Cookies
3. copy Cookies.binarycookies to your home folder.
4. download CookiesTool here: https://github.com/Lessica/CookiesTool/releases/download/v0.1-2/CookiesTool_0.1-2.zip
5. convert apple's binary cookies to netscape formatted cookies by running this in terminal: ~/Downloads/CookiesTool_0.1-2/Products/usr/local/bin/CookiesTool ~/Cookies.binarycookies -c netscape -o ~/cookies.txt
6. now you can run your yt-dlp job: yt-dlp --cookies ~/cookies.txt https://youtube.com/watch?v=whateveryourvideoIDis

#macOS

@vga256 I think you can also install some JS deps to have it solve these bot challenges on its own without cookies? https://github.com/yt-dlp/yt-dlp/wiki/EJS
EJS

A feature-rich command-line audio/video downloader - yt-dlp/yt-dlp

GitHub

@samedwards @vga256

Yes, the latest yt-dlp looks for an external javascript runtime. I can say deno works for me, I expect others are fine too.