X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=youtube_dl%2Fextractor%2Fkaltura.py;h=bdac2df3e52ffeafa55d4d6f05af18edcaf9e0dd;hb=c9bd503e7de28e9d4ba9ebee5e509a8abb90fc72;hp=c6efdea933bcf1f894cf159d2911f86dde41220a;hpb=a01825a5416174de56625a6ef202311e2d6c8cb1;p=youtube-dl diff --git a/youtube_dl/extractor/kaltura.py b/youtube_dl/extractor/kaltura.py index c6efdea93..bdac2df3e 100644 --- a/youtube_dl/extractor/kaltura.py +++ b/youtube_dl/extractor/kaltura.py @@ -108,34 +108,34 @@ class KalturaIE(InfoExtractor): @staticmethod def _extract_url(webpage): + # Embed codes: https://knowledge.kaltura.com/embedding-kaltura-media-players-your-site mobj = ( - # Embed codes: https://knowledge.kaltura.com/embedding-kaltura-media-players-your-site re.search( r"""(?xs) kWidget\.(?:thumb)?[Ee]mbed\( \{.*? - (?P['\"])wid(?P=q1)\s*:\s* - (?P['\"])_?(?P(?:(?!(?P=q2)).)+)(?P=q2),.*? - (?P['\"])entry_?[Ii]d(?P=q3)\s*:\s* - (?P['\"])(?P(?:(?!(?P=q4)).)+)(?P=q4)(?:,|\s*\}) + (?P['"])wid(?P=q1)\s*:\s* + (?P['"])_?(?P(?:(?!(?P=q2)).)+)(?P=q2),.*? + (?P['"])entry_?[Ii]d(?P=q3)\s*:\s* + (?P['"])(?P(?:(?!(?P=q4)).)+)(?P=q4)(?:,|\s*\}) """, webpage) or re.search( r'''(?xs) - (?P["\']) + (?P["']) (?:https?:)?//cdnapi(?:sec)?\.kaltura\.com(?::\d+)?/(?:(?!(?P=q1)).)*\b(?:p|partner_id)/(?P\d+)(?:(?!(?P=q1)).)* (?P=q1).*? (?: entry_?[Ii]d| - (?P["\'])entry_?[Ii]d(?P=q2) + (?P["'])entry_?[Ii]d(?P=q2) )\s*:\s* - (?P["\'])(?P(?:(?!(?P=q3)).)+)(?P=q3) + (?P["'])(?P(?:(?!(?P=q3)).)+)(?P=q3) ''', webpage) or re.search( r'''(?xs) - ]+src=(?P["\']) - (?:https?:)?//(?:www\.)?kaltura\.com/p/(?P\d+)/ + ]+src=(?P["']) + (?:https?:)?//(?:www\.)?kaltura\.com/(?:(?!(?P=q1)).)*\b(?:p|partner_id)/(?P\d+) (?:(?!(?P=q1)).)* - [\?&]entry_id=(?P(?:(?!(?P=q1))[^&])+) + [?&]entry_id=(?P(?:(?!(?P=q1))[^&])+) (?P=q1) ''', webpage) ) @@ -287,6 +287,9 @@ class KalturaIE(InfoExtractor): # skip for now. if f.get('fileExt') == 'chun': continue + # DRM-protected video, cannot be decrypted + if f.get('fileExt') == 'wvm': + continue if not f.get('fileExt'): # QT indicates QuickTime; some videos have broken fileExt if f.get('containerFormat') == 'qt': @@ -324,7 +327,7 @@ class KalturaIE(InfoExtractor): if captions: for caption in captions.get('objects', []): # Continue if caption is not ready - if f.get('status') != 2: + if caption.get('status') != 2: continue if not caption.get('id'): continue