aboutsummaryrefslogtreecommitdiff
path: root/youtube_dl
diff options
context:
space:
mode:
authorYen Chi Hsuan <yan12125@gmail.com>2016-12-20 18:45:52 +0800
committerYen Chi Hsuan <yan12125@gmail.com>2016-12-20 18:45:52 +0800
commit8ab7e6c4cc93d998a39fda9733587b58f5252999 (patch)
tree6ced34cc5a805e820a2f48bb21d4928bd10525be /youtube_dl
parentc80db5d3988b31a1f17b2e894099ff16b6b777c4 (diff)
downloadyoutube-dl-8ab7e6c4cc93d998a39fda9733587b58f5252999.tar.xz
[kaltura] Improve widget ID extraction (closes #11480)
Diffstat (limited to 'youtube_dl')
-rw-r--r--youtube_dl/extractor/generic.py14
-rw-r--r--youtube_dl/extractor/kaltura.py5
2 files changed, 18 insertions, 1 deletions
diff --git a/youtube_dl/extractor/generic.py b/youtube_dl/extractor/generic.py
index 3949c8bf7..a6a5f193e 100644
--- a/youtube_dl/extractor/generic.py
+++ b/youtube_dl/extractor/generic.py
@@ -972,6 +972,20 @@ class GenericIE(InfoExtractor):
'skip_download': True,
}
},
+ {
+ # Kaltura embedded, some fileExt broken (#11480)
+ 'url': 'http://www.cornell.edu/video/nima-arkani-hamed-standard-models-of-particle-physics',
+ 'info_dict': {
+ 'id': '1_sgtvehim',
+ 'ext': 'mp4',
+ 'title': 'Our "Standard Models" of particle physics and cosmology',
+ 'description': 'md5:67ea74807b8c4fea92a6f38d6d323861',
+ 'timestamp': 1321158993,
+ 'upload_date': '20111113',
+ 'uploader_id': 'kps1',
+ },
+ 'add_ie': ['Kaltura'],
+ },
# Eagle.Platform embed (generic URL)
{
'url': 'http://lenta.ru/news/2015/03/06/navalny/',
diff --git a/youtube_dl/extractor/kaltura.py b/youtube_dl/extractor/kaltura.py
index 91bc3a0a7..c0ddad6f9 100644
--- a/youtube_dl/extractor/kaltura.py
+++ b/youtube_dl/extractor/kaltura.py
@@ -107,7 +107,7 @@ class KalturaIE(InfoExtractor):
(?P<q1>['\"])wid(?P=q1)\s*:\s*
(?P<q2>['\"])_?(?P<partner_id>(?:(?!(?P=q2)).)+)(?P=q2),.*?
(?P<q3>['\"])entry_?[Ii]d(?P=q3)\s*:\s*
- (?P<q4>['\"])(?P<id>(?:(?!(?P=q4)).)+)(?P=q4),
+ (?P<q4>['\"])(?P<id>(?:(?!(?P=q4)).)+)(?P=q4)(?:,|\s*\})
""", webpage) or
re.search(
r'''(?xs)
@@ -266,6 +266,9 @@ class KalturaIE(InfoExtractor):
# skip for now.
if f.get('fileExt') == 'chun':
continue
+ if not f.get('fileExt') and f.get('containerFormat') == 'qt':
+ # QT indicates QuickTime; some videos have broken fileExt
+ f['fileExt'] = 'mov'
video_url = sign_url(
'%s/flavorId/%s' % (data_url, f['id']))
# audio-only has no videoCodecId (e.g. kaltura:1926081:0_c03e1b5g