Browse Source

[extractor/generic] Add support for webcaster.pro embeds

totalwebcasting
Sergey M․ 8 years ago
parent
commit
83f1481baa
No known key found for this signature in database GPG Key ID: 2C393E0F18A9236D
2 changed files with 23 additions and 0 deletions
  1. +6
    -0
      youtube_dl/extractor/generic.py
  2. +17
    -0
      youtube_dl/extractor/webcaster.py

+ 6
- 0
youtube_dl/extractor/generic.py View File

@ -60,6 +60,7 @@ from .screenwavemedia import ScreenwaveMediaIE
from .mtv import MTVServicesEmbeddedIE
from .pladform import PladformIE
from .videomore import VideomoreIE
from .webcaster import WebcasterFeedIE
from .googledrive import GoogleDriveIE
from .jwplatform import JWPlatformIE
from .digiteka import DigitekaIE
@ -2140,6 +2141,11 @@ class GenericIE(InfoExtractor):
if videomore_url:
return self.url_result(videomore_url)
# Look for Webcaster embeds
webcaster_url = WebcasterFeedIE._extract_url(self, webpage)
if webcaster_url:
return self.url_result(webcaster_url, ie=WebcasterFeedIE.ie_key())
# Look for Playwire embeds
mobj = re.search(
r'<script[^>]+data-config=(["\'])(?P<url>(?:https?:)?//config\.playwire\.com/.+?)\1', webpage)


+ 17
- 0
youtube_dl/extractor/webcaster.py View File

@ -74,6 +74,23 @@ class WebcasterFeedIE(InfoExtractor):
'only_matching': True,
}
@staticmethod
def _extract_url(ie, webpage):
mobj = re.search(
r'<(?:object|a[^>]+class=["\']webcaster-player["\'])[^>]+data(?:-config)?=(["\']).*?config=(?P<url>https?://bl\.webcaster\.pro/feed/start/free_.*?)(?:[?&]|\1)',
webpage)
if mobj:
return mobj.group('url')
for secure in (True, False):
video_url = ie._og_search_video_url(
webpage, secure=secure, default=None)
if video_url:
mobj = re.search(
r'config=(?P<url>https?://bl\.webcaster\.pro/feed/start/free_[^?&=]+)',
video_url)
if mobj:
return mobj.group('url')
def _real_extract(self, url):
video_id = self._match_id(url)


Loading…
Cancel
Save