|
|
@ -11,6 +11,8 @@ from ..utils import ( |
|
|
|
compat_urlparse, |
|
|
|
|
|
|
|
ExtractorError, |
|
|
|
smuggle_url, |
|
|
|
unescapeHTML, |
|
|
|
) |
|
|
|
from .brightcove import BrightcoveIE |
|
|
|
|
|
|
@ -29,6 +31,17 @@ class GenericIE(InfoExtractor): |
|
|
|
u"title": u"R\u00e9gis plante sa Jeep" |
|
|
|
} |
|
|
|
}, |
|
|
|
# embedded vimeo video |
|
|
|
{ |
|
|
|
u'url': u'http://skillsmatter.com/podcast/home/move-semanticsperfect-forwarding-and-rvalue-references', |
|
|
|
u'file': u'22444065.mp4', |
|
|
|
u'md5': u'2903896e23df39722c33f015af0666e2', |
|
|
|
u'info_dict': { |
|
|
|
u'title': u'ACCU 2011: Move Semantics,Perfect Forwarding, and Rvalue references- Scott Meyers- 13/04/2011', |
|
|
|
u"uploader_id": u"skillsmatter", |
|
|
|
u"uploader": u"Skills Matter", |
|
|
|
} |
|
|
|
} |
|
|
|
] |
|
|
|
|
|
|
|
def report_download_webpage(self, video_id): |
|
|
@ -127,6 +140,14 @@ class GenericIE(InfoExtractor): |
|
|
|
bc_url = BrightcoveIE._build_brighcove_url(m_brightcove.group()) |
|
|
|
return self.url_result(bc_url, 'Brightcove') |
|
|
|
|
|
|
|
# Look for embedded Vimeo player |
|
|
|
mobj = re.search( |
|
|
|
r'<iframe\s+src="(https?://player.vimeo.com/video/.*?)"', webpage) |
|
|
|
if mobj: |
|
|
|
player_url = unescapeHTML(mobj.group(1)) |
|
|
|
surl = smuggle_url(player_url, {'Referer': url}) |
|
|
|
return self.url_result(surl, 'Vimeo') |
|
|
|
|
|
|
|
# Start with something easy: JW Player in SWFObject |
|
|
|
mobj = re.search(r'flashvars: [\'"](?:.*&)?file=(http[^\'"&]*)', webpage) |
|
|
|
if mobj is None: |
|
|
|