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
    Send Text Messages with PHP

    Kids these days, I tell ya.  All they care about is the technology.  The video games.  The bottled water.  Oh, and the texting, always the texting.  Back in my day, all we had was...OK, I had all of these things too.  But I still don't get...

  • By
    Create a CSS Cube

    CSS cubes really showcase what CSS has become over the years, evolving from simple color and dimension directives to a language capable of creating deep, creative visuals.  Add animation and you've got something really neat.  Unfortunately each CSS cube tutorial I've read is a bit...

Incredible Demos

  • By
    MooTools Text Flipping

    There are lots and lots of useless but fun JavaScript techniques out there. This is another one of them. One popular April Fools joke I quickly got tired of was websites transforming their text upside down. I found a jQuery Plugin by Paul...

  • By
    CSS Text Overlap

    One of the important functions of CSS is to position elements. Margin, padding, top, left, right, bottom, position, and z-index are just a few of the major players in CSS positioning. By using the above spacing...

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!