1. right-click -> "Copy Link Location"
2. middle click to paste the link into you shell
3. run "youtube-dl" on the URL(s)
4. watch the videos in whatever video player you want
One of these days I should make a quick firefox extension that adds a context-menu option to collapse it down to one step.You will have to update youtube-dl every time (see the "-U" option) Google decides to change the obfuscation. Also, you may want to try the --list-extractors and --extractor-descriptions options, to see the long list of sites that are supported, which includes support for things like youtube playlists searches.
Depending on what you're watching, youtube-dl can suck up a lot of space.
Mind the -F and -f options -- these list and select video quality. I find '43' for YouTube (640x360) is usually sufficient for instructional materials (lectures/presentations).
These days I'll get to uploading it to GitHub, maybe even turn it into a Firefox extension/Android app. Though it's a little specific to my use case: I have a quality sound system attached to my desktop computer so it doesn't feel right to listen to stuff on my laptop/phone when there is such a great setup lying around. And setting up SBCL and Shelly just to run Common Lisp scripts is a little bit of an overkill.
Sorry for the off-topic, just felt like sharing this bit of my computer-aided laziness :)
mkfifo FIFO
youtube-dl -o - $SOME_URL > FIFO &
mplayer FIFO
youtube-dl quits:youtube-dl: error: using output template conflicts with using title, video ID or auto number
$ mkfifo FIFO
$ youtube-dl -f best -o - 6h9vr_xwTj4 > FIFO &
$ vlc - < FIFO
And VLC plays the video just fine. youtube-dl downloads it from YouTube as the bytes are read() by VLC, so the D/L speed is around 25KiB/s.Though I assume you can also stream this at full speed by doing a `mktemp` and dumping the data into the file. In my experience, VLC handles files which are still being appended data just fine, but it'll freak out if it reaches EOF before the end of the stream. If your /tmp is tmpfs, which it is everywhere AFAIK, the only difference is that the video is being downloaded in full speed. Alternatively, if your downlink is fast (for instance, 4MiB/s) and you don't mind the slight delay, you can as well download the file wholly as mentioned in one of the ancestor comments.
It also happens that my /tmp is physically allocated.
And named pipes really and truly work differently (though there can still be buffering).
That said, no joy (though I tracked down the issue above -- configfile setting conflicting with commandline parameters, somewhat annoyingly).