which kinda sucks, as this requires downloading the entire video before you can watch, so you cannot decide _not_ to watch it quickly (it takes at least the time to download, which, if the video is long, might take a while).
A while ago, I found the need to stream directly from yt-dlp instead of downloading full videos[1]. You can have yt-dlp write to stdout and pipe that stream into your player of choice.
[1] "Using Unix Pipes to Improve Chromecast Playback": https://alexdelorenzo.dev/linux/2020/03/14/pipes
I also really like having the resultant archive.