Explorar el Código

[vimeo/generic] Add support for embedded SWF vimeo videos

Philipp Hagemeister hace 11 años
padre
commit
7115ca84aa
Se han modificado 2 ficheros con 9 adiciones y 3 borrados
  1. 7 1
      youtube_dl/extractor/generic.py
  2. 2 2
      youtube_dl/extractor/vimeo.py

+ 7 - 1
youtube_dl/extractor/generic.py

@@ -222,7 +222,7 @@ class GenericIE(InfoExtractor):
             self.to_screen(u'Brightcove video detected.')
             return self.url_result(bc_url, 'Brightcove')
 
-        # Look for embedded Vimeo player
+        # Look for embedded (iframe) Vimeo player
         mobj = re.search(
             r'<iframe[^>]+?src="(https?://player.vimeo.com/video/.+?)"', webpage)
         if mobj:
@@ -230,6 +230,12 @@ class GenericIE(InfoExtractor):
             surl = smuggle_url(player_url, {'Referer': url})
             return self.url_result(surl, 'Vimeo')
 
+        # Look for embedded (swf embed) Vimeo player
+        mobj = re.search(
+            r'<embed[^>]+?src="(https?://(?:www\.)?vimeo.com/moogaloop.swf.+?)"', webpage)
+        if mobj:
+            return self.url_result(mobj.group(1), 'Vimeo')
+
         # Look for embedded YouTube player
         matches = re.findall(r'''(?x)
             (?:<iframe[^>]+?src=|embedSWF\(\s*)

+ 2 - 2
youtube_dl/extractor/vimeo.py

@@ -26,10 +26,10 @@ class VimeoIE(InfoExtractor):
         (?:(?:www|(?P<player>player))\.)?
         vimeo(?P<pro>pro)?\.com/
         (?:.*?/)?
-        (?P<direct_link>play_redirect_hls\?clip_id=)?
+        (?:(?:play_redirect_hls|moogaloop\.swf)\?clip_id=)?
         (?:videos?/)?
         (?P<id>[0-9]+)
-        /?(?:[?].*)?(?:[#].*)?$'''
+        /?(?:[?&].*)?(?:[#].*)?$'''
     _NETRC_MACHINE = 'vimeo'
     IE_NAME = u'vimeo'
     _TESTS = [