I'm only speaking for myself here, when I say the following things... for me, I'm my own worst enemy when it comes to learning.
This happens first and foremost by getting distracted with social media (Facebook, Twitter, HN).
To quote Cal Newport (an author who speaks on this very thing) from his book Deep Work. "To learn hard things quickly you must focus intensely without distraction."*
So let's say you're not aiming to be quick about learning to code, necessarily. It still follows that not being distracted is key.
I think covering both books and video helps you get information from multiple inputs, and covers different learning styles. ANYTHING to get the concepts cemented in your head.
Most of all, do what you can to learn in an environment where you're not bombarded by many things designed to distract you.
I recommend this book. I'm in the process of reading it now, myself. I feel like he's talking directly to me, and that I could have been MUCH more effective in both learning and work, had I discovered this MUCH sooner.
Good luck. I'd be curious to hear how you're making progress on your learning journey.
*Newport, C. (Grand Central, 2016). Deep Work: Rules for Focused Success in a Distracted World [Kindle version, page 36]. Retrieved from Amazon.com
Speaking for myself... I start with video. It is easier to find, easier to follow and easier to implement. Now when you finish with video course, search for "best" or "amazing" book for that particular language or framework.
Because of video course introduction, most part of the book will be like "seen somewhere" or "read somewhere". so the reading of book becomes tolerable and more understanding.
Bottom line, (I believe ) Video courses are never enough and books are long and difficult. So, start with video course and finish it with a book.
IMP point : practice while going through the whole process.
I like videos that give me a conceptual overview, or tell me the thinking behind why they coded something in a certain way. For details and reference I use books (unless it's a fast-changing technology, in which case the language/tool's docs are where I go), or I need a deeper dive on something that's not just code.
But either way, to internalize the learnings requires doing many coding exercises.