Download YouTube Videos with youtube-dl

By  on  

When preparing for the 8 hour flights to and from London, I knew I couldn't just code the whole time -- I needed some decent entertainment.  One source of free, excellent entertainment is YouTube, but I had no desire to pay for internet on the flight.  With all of this in mind, I installed youtube-dl -- a utility for downloading YouTube videos to your local drive.

To install youtube-dl, run the following from command line:

brew install youtube-dl

With youtube-dl available, simply run the utility with a URL:

# Download a video!
youtube-dl https://www.youtube.com/watch?v=bS5P_LAqiVg

# Download a video as audio
youtube-dl -x https://www.youtube.com/watch?v=--HaFAtC17U

Executing that will download the given YouTube video to your machine.  youtube-dl has more capabilities than just downloading videos such as: thumbnail retrieval, conversion to mp3 or other formats (assuming you have ffmpeg available), logging in, getting subtitles, and more.

Grab youtube-dl if you're looking for music or video from YouTube -- it's the best application available to do the job!

Recent Features

  • By
    5 Ways that CSS and JavaScript Interact That You May Not Know About

    CSS and JavaScript:  the lines seemingly get blurred by each browser release.  They have always done a very different job but in the end they are both front-end technologies so they need do need to work closely.  We have our .js files and our .css, but...

  • By
    7 Essential JavaScript Functions

    I remember the early days of JavaScript where you needed a simple function for just about everything because the browser vendors implemented features differently, and not just edge features, basic features, like addEventListener and attachEvent.  Times have changed but there are still a few functions each developer should...

Incredible Demos

Discussion

  1. youtube-dl is the best tool to download audio and video from YouTube. Ubuntu users can install youtube-dl with:

    sudo apt-get install youtube-dl
  2. is there a way to choose which quality you’ll be downloading?

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!