An extendable commandline video downloader for flash video sites like vimeo, youtube, ...
Switch branches/tags
Nothing to show
Pull request Compare This branch is 40 commits ahead, 357 commits behind rb2k:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
helper
lib
plugins
spec
viddl-rb
.gitignore
.travis.yml
CHANGELOG.txt
Gemfile
README.md
Rakefile
viddl-rb.gemspec

README.md

viddl-rb:
Created by Marc Seeger (@rb2k)
Repo: http://github.com/rb2k/viddl-rb
Build Status Dependency Status

Installation:
gem install viddl-rb

Usage:

Download a video:
viddl-rb http://www.youtube.com/watch?v=QH2-TGUlwu4

Download a video and extract the audio:
viddl-rb http://www.youtube.com/watch?v=QH2-TGUlwu4 --extract-audio

In both cases we'll name the output file according to the video title.

Youtube plugin specifics:

Download all videos on a playlist:
viddl-rb http://www.youtube.com/playlist?list=PL7E8DA0A515924126

Download all videos from a user:
viddl-rb http://www.youtube.com/user/tedtalksdirector

Filter videos to download from a user/playlist:
viddl-rb http://www.youtube.com/user/tedtalksdirector --filter=internet/i

The --filter argument accepts a regular expression and will only download videos where the title matches the regex. The /i option does a case-insensitive search.

Library Usage:

require 'viddl-rb'

download_urls = ViddlRb.get_urls("http://www.youtube.com/watch?v=QH2-TGUlwu4")
download_urls.first 	# => "http://o-o.preferred.arn06s04.v3.lscac ..."

The ViddlRb module has the following module public methods:

  • get_urls_and_filenames(url) -- Returns an array of one or more hashes that has the keys :url which points to the download url and :name which points to the filename. Returns nil if the url is not recognized by any plugins. Throws ViddlRb::PluginError if the plugin fails to extract the download url.

  • get_urls(url) -- Returns an array of download urls for the specified video url. Returns nil if the url is not recognized by any plugins. Throws ViddlRb::PluginError if the plugin fails to extract the download url.

  • get_filenames(url) -- Returns an array of filenames for the specified video url. Returns nil if the url is not recognized by any plugins. Throws ViddlRb::PluginError if the plugin fails to extract the download url.

  • io=(io_object) -- By default all plugin output to stdout will be suppressed when the library is used. If you are interested in the output of a plugin, you can set an IO object that will receive all plugin output using this method. For example:

require 'viddl-rb'

ViddlRb.io = $stdout 	# plugins will now write their output to $stdout

Requirements:

Contributors:

  • kl: Windows support (who knew!), bug fixes, veoh plugin, metacafe plugin
  • divout aka Ivan K: blip.tv plugin, bugfixes
  • Sniper: bugfixes
  • Serabe aka Sergio Arbeo: packaging viddl as a binary
  • laserlemon: Adding gemnasium images to readme