77

Can I directly download audio from a YouTube video instead of first downloading audio+video and then extracting the audio?

  • 5
    I don't think its a duplicate because that question clearly required the search facility. This question does not. I have also mentioned that in the answer. This question is useflu to people who already know what has to be downloaded. – DK Bose Feb 22 '14 at 4:45
  • The same answer there is applicable her – Maythux Feb 22 '14 at 4:46
  • 2
    That answer has to download the video first. This question and answer (1) does not want downloading of the video (2) does not want to search YouTube. I hope you understand. – DK Bose Feb 22 '14 at 5:35
  • 2
    That does not use youtube-dl. It uses another program called mps-youtube. Correct? This question is about using youtube-dl and not about using mps-youtube. I always try my answers myself before posting. If I don't, I will make it clear that it is only a suggestion :) – DK Bose Feb 22 '14 at 5:58
  • 3
    This is not a duplicate. You can use youtube-dl to do this, but I can't answer this question because people have marked this as a duplicate. – palswim Sep 8 '16 at 22:12
119

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:
Video Downloader 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 140

Run:

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

That's it.

  • 2
    Some audio players do not support DASH audio. For m4a, I had to demux it to make it a 'regular' m4a using ffmpeg. For example: ffmpeg -i input.m4a -vn -c:a copy output.m4a – Sun Nov 7 '14 at 8:14
  • 8
    @sunk818 and just a public announcement that: youtube-dl 2015.01.23.4 and newer will automatically correct the header of the m4a file if ffmpeg is present on the system. So, if ffmpeg is installed before youtube-dl is called now it will automatically fix the DASH container and you won't need to run sunk818's fix. – tsujp Apr 21 '15 at 16:15
  • 21
    youtube-dl -f bestaudio http://... if you don't want to select best audio manually. – Seppo Erviälä Nov 19 '15 at 13:27
  • 8
    be careful with -f bestaudio as best audio could be .webm and not .m4a Use -f m4a if you want best m4a quality audio. – Sun Apr 13 '16 at 23:31
  • 6
    youtube-dl -f 'bestaudio[ext=m4a]' "http://youtu.be/hTvJoYnpeRQ" – xiota May 9 '18 at 8:19
6

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.

  • This gives 2 errors, one for format not available and the other for failing to parse the url, – Atte Juvonen Oct 24 '18 at 19:08
  • @AtteJuvonen the command works as is. – jfs Oct 24 '18 at 19:25
  • No it doesn't. WARNING: The url doesn't specify the protocol, trying with http ... Warning: Could not send HEAD request to http://'youtu.be/hTvJoYnpeRQ'. If I fix the url by removing the ' characters, then it gives ERROR: requested format not available. – Atte Juvonen Nov 21 '18 at 21:42
  • @AtteJuvonen try to copy the command as is If it is still failing for you, provide your OS, youtube-dl version. – jfs Nov 22 '18 at 4:33
  • 1
    @AtteJuvonen the site is "Ask Ubuntu". I tested the command on Ubuntu. Ubuntu is different from Windows. The command in the answer expects a bash-like shell. On Windows, for cmd.exe you could try to replace single quotes with doubles quotes (there could be other Windows related issues). – jfs Nov 23 '18 at 16:34

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.