YouTube, FFMPEG, and MP3 Conversion

By  on  
Rod Stewart and Ron Wood

Yesterday I published a quick post about a basic MPEG -> FLV video conversion method using FFMPEG. Today I want to share another great usage of FFMPEG: stripping a video's audio and creating an MP3. As an added bonus, I'll be ripping the audio from a great YouTube video using youtube-dl, a python script with loads of options for downloading YouTube videos.

The youtube-dl Shell Script

#command
davidwalsh83$ youtube-dl.py http://www.youtube.com/watch?v=tlWpnLdPwvk

#output
[youtube] Setting language
[youtube] tlWpnLdPwvk: Downloading video webpage
[youtube] tlWpnLdPwvk: Extracting video information
[youtube] tlWpnLdPwvk: URL: http://www.youtube.com/get_video?video_id=tlWpnLdPwvk&t=vjVQa1PpcFMZ4TkTSYXamGxmLZq-ot2l8Jx-HiNAf0I=&el=detailpage&ps=
[download] Destination: tlWpnLdPwvk.flv
[download] 100.0% of 18.78M at   53.98k/s ETA 00:00

The initial install of youtube-dl was tough but only because I'm not well-versed with the permissions side of Unix. I eventually figured it out but if you have trouble installing youtube-dl or simply want to use its advanced options, check out youtube-dl's documentation. youtube-dl also provides an option to read a text file with a list of videos and will do a batch download. Note: youtube-dl allows you to set an output file name but it didn't appear to be working. If you'd like a more simple method, Mark Sanborn wrote a great post on ripping YouTube videos using wget.

The FFMPEG Shell Script

davidwalsh83$ ffmpeg -i tlWpnLdPwvk.flv RodStewartMaggieMay.mp3

As I did with youtube-dl, I chose the most basic usage of FFMPEG. FFMPEG's documentation provides you a list of all of the possible conversion options if you need them.

The Result

[audio:RodStewartMaggieMay.mp3]

Use the video player above to listen to the result. The video I chose is a live version of Maggie May by Rod Stewart recorded at Royal Albert Hall in the Knightsbridge area of the City of Westminster, London, England. The video is from Rod's One Night Only DVD which I HIGHLY recommend. This is the best version of Maggie May that exists (my opinion but, as you know, when is my opinion not correct?) Enjoy!

Recent Features

  • By
    Write Better JavaScript with Promises

    You've probably heard the talk around the water cooler about how promises are the future. All of the cool kids are using them, but you don't see what makes them so special. Can't you just use a callback? What's the big deal? In this article, we'll...

  • By
    Regular Expressions for the Rest of Us

    Sooner or later you'll run across a regular expression. With their cryptic syntax, confusing documentation and massive learning curve, most developers settle for copying and pasting them from StackOverflow and hoping they work. But what if you could decode regular expressions and harness their power? In...

Incredible Demos

  • By
    jQuery Comment Preview

    I released a MooTools comment preview script yesterday and got numerous requests for a jQuery version. Ask and you shall receive! I'll use the exact same CSS and HTML as yesterday. The XHTML The CSS The jQuery JavaScript On the keypress and blur events, we validate and...

  • By
    MooTools 1.3 Browser Object

    MooTools 1.3 was just released and one of the big additions is the Browser object.  The Browser object is very helpful in that not only do you get information about browser type and browser versions, you can gain information about the user's OS, browser plugins, and...

Discussion

  1. Fabian

    Python ftw.

  2. Your FFmpeg code needs the -vn option so it doesn’t render the video. I believe it will be faster with the following code:

    $ ffmpeg -i tlWpnLdPwvk.flv -vn -acodec copy RodStewartMaggieMay.mp3

    All youtube flv audios are encoded in mp3 format, so a simple copy will reduce some unneeded tasks..

  3. Cool..working !!

  4. Of course it works!

  5. down my app http://www.bytesdesign.com.br/YouRiper.exe

    it’s is open source and coded in PHP

    …down the video files and convert into mp3

  6. Thanks for your work on these tools. I use them a lot and they work great!

  7. Juan Maia

    GREAT STUFF!

  8. Hey david,

    Very cool tips here…

    Great! very helpful…

    Thanks

  9. Thanks…this works for me

  10. David I would like to thank you personally for posting these great tools, they helped me a lot to grow my ringtones community and continue to do so!

  11. Did youtube modify their FLV files so that ffmpeg gives a “Unknown Format” Error ?

  12. Thanks, it worked for me. ;)

  13. How can i use this script with php?

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