Can I directly download audio from a YouTube video instead of first downloading audio+video and then extracting the audio?
Here is a recent article in webupd8.org that explains how to use
youtube-dl to directly download audio instead of first downloading video+audio and then extracting audio using
-x. Unfortunately, the search facility that Maythux asked for here isn't offered. But it is still worth a look:
youtube-dl Gets Support For Separate Audio And Video YouTube DASH Streams
Basically, download the latest version of youtube-dl from source or from the ppa offered in the link above but not from the Software Center.
Then, if you already have the video link ...
Run, as example:
youtube-dl -F http://www.youtube.com/watch?v=HRIF4_WzU1w
This will list the various download formats available for this url (audio and video).
$ youtube-dl -F http://www.youtube.com/watch?v=HRIF4_WzU1w [youtube] Setting language [youtube] HRIF4_WzU1w: Downloading webpage [youtube] HRIF4_WzU1w: Downloading video info webpage [youtube] HRIF4_WzU1w: Extracting video information [info] Available formats for HRIF4_WzU1w: format code extension resolution note 171 webm audio only DASH webm audio , audio@ 48k (worst) 140 m4a audio only DASH audio , audio@128k 160 mp4 192p DASH video 133 mp4 240p DASH video 134 mp4 360p DASH video 135 mp4 480p DASH video 17 3gp 176x144 36 3gp 320x240 5 flv 400x240 43 webm 640x360 18 mp4 640x360 (best)
Now, choose desired audio format. I went for
youtube-dl -f 140 http://www.youtube.com/watch?v=HRIF4_WzU1w $ youtube-dl -f 140 http://www.youtube.com/watch?v=HRIF4_WzU1w [youtube] Setting language [youtube] HRIF4_WzU1w: Downloading webpage [youtube] HRIF4_WzU1w: Downloading video info webpage [youtube] HRIF4_WzU1w: Extracting video information [download] Destination: Martin Luther King - I Have a Dream on August 28, 1963 [Sous-titres & Subtitles] [FULL SPEECH]-HRIF4_WzU1w.m4a [download] 100% of 15.19MiB in 00:04
From @xiota's comment, to download the best audio in m4a format:
$ youtube-dl -f 'bestaudio[ext=m4a]' 'http://youtu.be/hTvJoYnpeRQ'
I've missed it on the first reading, so I've decided to post the comment as an answer to make it more visible.
I have this alias to easily download any audio with better filenames:
$ alias | grep audio alias youtube-dl-audio='youtube-dl --ignore-errors --output "%(title)s.%(ext)s" --extract-audio --audio-format mp3'
Audio quality: From the documentation: "By default youtube-dl tries to download the best available quality, i.e. if you want the best quality you don't need to pass any special options, youtube-dl will guess it for you by default.". So there's no need for
--audio-quality 0 or
Updates: Download last version of youtube-dl. Avoid repo or PPA version so you can upgrade with
youtube-dl -U (necessary quite often).
Currently our dev repository is taken down due to DMCA takedown notice by RIAA. Downloads still work as usual
To install it right away for all UNIX users (Linux, OS X, etc.), type:
sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl sudo chmod a+rx /usr/local/bin/youtube-dl
Albums: You can split the file into chunks/tracks with
Error 403?: Add
ytmdl: A simple script to get songs from YouTube in mp3 format with all tags from iTunes
MP3 Tagging: I’m still trying to find a reliable CLI tool to fix and tag all the generated mp3: