|
|
|
@ -79,12 +79,15 @@ class MTVServicesInfoExtractor(SubtitlesInfoExtractor):
|
|
|
|
|
try:
|
|
|
|
|
_, _, ext = rendition.attrib['type'].partition('/')
|
|
|
|
|
rtmp_video_url = rendition.find('./src').text
|
|
|
|
|
formats.append({'ext': ext,
|
|
|
|
|
'url': self._transform_rtmp_url(rtmp_video_url),
|
|
|
|
|
'format_id': rendition.get('bitrate'),
|
|
|
|
|
'width': int(rendition.get('width')),
|
|
|
|
|
'height': int(rendition.get('height')),
|
|
|
|
|
})
|
|
|
|
|
if rtmp_video_url.endswith('siteunavail.png'):
|
|
|
|
|
continue
|
|
|
|
|
formats.append({
|
|
|
|
|
'ext': ext,
|
|
|
|
|
'url': self._transform_rtmp_url(rtmp_video_url),
|
|
|
|
|
'format_id': rendition.get('bitrate'),
|
|
|
|
|
'width': int(rendition.get('width')),
|
|
|
|
|
'height': int(rendition.get('height')),
|
|
|
|
|
})
|
|
|
|
|
except (KeyError, TypeError):
|
|
|
|
|
raise ExtractorError('Invalid rendition field.')
|
|
|
|
|
self._sort_formats(formats)
|
|
|
|
@ -240,25 +243,14 @@ class MTVIE(MTVServicesInfoExtractor):
|
|
|
|
|
_TESTS = [
|
|
|
|
|
{
|
|
|
|
|
'url': 'http://www.mtv.com/videos/misc/853555/ours-vh1-storytellers.jhtml',
|
|
|
|
|
'file': '853555.mp4',
|
|
|
|
|
'md5': '850f3f143316b1e71fa56a4edfd6e0f8',
|
|
|
|
|
'info_dict': {
|
|
|
|
|
'id': '853555',
|
|
|
|
|
'ext': 'mp4',
|
|
|
|
|
'title': 'Taylor Swift - "Ours (VH1 Storytellers)"',
|
|
|
|
|
'description': 'Album: Taylor Swift performs "Ours" for VH1 Storytellers at Harvey Mudd College.',
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
'add_ie': ['Vevo'],
|
|
|
|
|
'url': 'http://www.mtv.com/videos/taylor-swift/916187/everything-has-changed-ft-ed-sheeran.jhtml',
|
|
|
|
|
'file': 'USCJY1331283.mp4',
|
|
|
|
|
'md5': '73b4e7fcadd88929292fe52c3ced8caf',
|
|
|
|
|
'info_dict': {
|
|
|
|
|
'title': 'Everything Has Changed',
|
|
|
|
|
'upload_date': '20130606',
|
|
|
|
|
'uploader': 'Taylor Swift',
|
|
|
|
|
},
|
|
|
|
|
'skip': 'VEVO is only available in some countries',
|
|
|
|
|
},
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
def _get_thumbnail_url(self, uri, itemdoc):
|
|
|
|
@ -272,8 +264,8 @@ class MTVIE(MTVServicesInfoExtractor):
|
|
|
|
|
webpage = self._download_webpage(url, video_id)
|
|
|
|
|
|
|
|
|
|
# Some videos come from Vevo.com
|
|
|
|
|
m_vevo = re.search(r'isVevoVideo = true;.*?vevoVideoId = "(.*?)";',
|
|
|
|
|
webpage, re.DOTALL)
|
|
|
|
|
m_vevo = re.search(
|
|
|
|
|
r'(?s)isVevoVideo = true;.*?vevoVideoId = "(.*?)";', webpage)
|
|
|
|
|
if m_vevo:
|
|
|
|
|
vevo_id = m_vevo.group(1)
|
|
|
|
|
self.to_screen('Vevo video detected: %s' % vevo_id)
|
|
|
|
|