Necessity is the mother of invention.
When you're stuck on a tough problem with a tight deadline you can learn pretty quickly. Though it's a tightwalk, especially if you don't have a lot of help from others, since you might really get stuck or so out of your depth that you miss obvious solutions sitting right in front of you.
Still there's nothing quite like a good project to focus the mind and the lessons you learn that way tend to stick. I find this is especially true when working with source code. You will accidentally learn a codebase from constantly having to refer back to it.
I also find trying to teach things to others is a good way to learn. If you like to write, try putting together a few paragraphs or some slides to explain a concept. It will stick with you a lot better after going through the effort. (and it's real effort... it takes hours to produce a seemingly miniscule amount of content when building tutorials)
This assumes of course that the chief problem is not so much content as it is holding onto it for more than a day and achieving real depth with it.
Videos aren't ideal in this respect. They can introduce a concept and point you in the right direction, but you really need to get your hands dirty to understand it.
Maybe try your hand at fixing a bug in an open source codebase you want to learn. (or even just reviewing a pull request and trying to understand it)