X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=src%2Fwebsites%2Fvimeo.rb;h=c259b7c602e1cc5c8bf709a8444efbaa426d868f;hb=f22161788b6fe999ed977aca6157248153d2c229;hp=b3dfe74c16f2630df10ac4c8ea07d0ae2e7ada0d;hpb=174589cd65cf32d4a54b9298953228f6094c7128;p=dead%2Fwhatever-dl.git diff --git a/src/websites/vimeo.rb b/src/websites/vimeo.rb index b3dfe74..c259b7c 100644 --- a/src/websites/vimeo.rb +++ b/src/websites/vimeo.rb @@ -18,12 +18,6 @@ require 'src/website' -# Needed to download the video XML file, which is in turn -# needed because it contains the junk we need to construct -# the video URL. -require 'net/http' -require 'uri' - class Vimeo < Website @@ -44,13 +38,20 @@ class Vimeo < Website details_url = "http://www.vimeo.com/moogaloop/load/clip:#{video_id}/local" details_data = get_page_data(details_url) - request_signature = parse_request_signature(details_data) request_signature_expires = parse_request_signature_expires(details_data) quality = parse_quality(details_data) + + referer = "http://a.vimeocdn.com/p/flash/moogaloop/5.1.15/moogaloop.swf" + referer += "?v=1.0.0" + referer += "&time=#{request_signature_expires}" + self.headers['Referer'] = referer - # Being slightly explicit about what we're doing here... - video_url = "http://www.vimeo.com/moogaloop/play/clip:#{video_id}/#{request_signature}/#{request_signature_expires}/?q=#{quality}" + video_url = "http://player.vimeo.com/play_redirect?clip_id=#{video_id}" + video_url += "&sig=#{request_signature}" + video_url += "&time=#{request_signature_expires}" + video_url += "&quality=#{quality}" + video_url += "&codecs=H264,VP8,VP6" return video_url end