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
# the junk we need to construct the video URL. Note that the file
# URL given in the XML is *not* valid.
video_id = self.parse_video_id()
- details_url = "http://www.vimeo.com/moogaloop/load/clip:#{video_id}/local"
+ details_url = "http://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