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

Incredible Demos

  • By
    Build a Toggling Announcement Slider Using MooTools 1.2

    A few of my customer have asked for me to create a subtle but dynamic (...I know...) way for them to advertise different specials on their website. Not something that would display on every page, but periodically or only the homepage. Using a trick...

  • By
    Animated AJAX Record Deletion Using jQuery

    I'm a huge fan of WordPress' method of individual article deletion. You click the delete link, the menu item animates red, and the item disappears. Here's how to achieve that functionality with jQuery JavaScript. The PHP - Content & Header The following snippet goes at the...

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!