Code Climate

Test Coverage

A rubygem to download the audio stream of any kind of youtube video without constraint. It will bypass copyright restrictions, VEVO accounts...

Install

gem install ytsongdw

Commands

Download a song by name into folder '~/Music/'
ytsongdw 'Titanic Song'
Download from a youtube link into folder '~/songs/'
ytsongdw https://www.youtube.com/watch?v=bM7SZ5SBzyY ~/songs/

Download all songs in a youtube playlist
ytsongdw https://www.youtube.com/playlist?list=PL9B23A78D3D249A74
Download multiple songs from a file containing several youtube urls, song names or playlist urls (one per line). Basically all the above options in a .txt file
ytsongdw songs.txt

By default all the .m4a files will be stored into the folder named "~/Music/" (will be created if it doesn't exist). You can change the folder name by passing a second argument to the command line as shown in the second example above. DO NOT FORGET the endind '/' on the folder name, or else it will be treated as a filename prefix instead of a folder path.

Original Author

Based on https://github.com/ggouzi/Youtube-Download-Songs, but added the following changes:

  • allow song download by name
  • download in m4a format instead of mp3
  • added playlists support
  • made it into a rubygem
  • added test coverage and improved code quality

Licence

This project is licensed under the GNU GPL 2.0. See LICENSE.txt for details.