[youtube] Ignore yt:stretch with zero width/height

This commit is contained in:
Lukáš Lalinský 2015-11-28 01:07:07 +01:00
parent 78a55d7a28
commit 313dfc45f5

View file

@ -714,6 +714,22 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
'url': 'https://www.youtube.com/watch?v=Ms7iBXnlUO8', 'url': 'https://www.youtube.com/watch?v=Ms7iBXnlUO8',
'only_matching': True, 'only_matching': True,
}, },
{
# Video with yt:stretch=17:0
'url': 'https://www.youtube.com/watch?v=Q39EVAstoRM',
'info_dict': {
'id': 'Q39EVAstoRM',
'ext': 'mp4',
'title': 'Clash Of Clans#14 Dicas De Ataque Para CV 4',
'description': 'md5:ee18a25c350637c8faff806845bddee9',
'upload_date': '20151107',
'uploader_id': 'UCCr7TALkRbo3EtFzETQF1LA',
'uploader': 'CH GAMER DROID',
},
'params': {
'skip_download': True,
},
},
] ]
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
@ -1496,10 +1512,13 @@ def _map_to_format_list(urlmap):
r'<meta\s+property="og:video:tag".*?content="yt:stretch=(?P<w>[0-9]+):(?P<h>[0-9]+)">', r'<meta\s+property="og:video:tag".*?content="yt:stretch=(?P<w>[0-9]+):(?P<h>[0-9]+)">',
video_webpage) video_webpage)
if stretched_m: if stretched_m:
ratio = float(stretched_m.group('w')) / float(stretched_m.group('h')) w = float(stretched_m.group('w'))
for f in formats: h = float(stretched_m.group('h'))
if f.get('vcodec') != 'none': if w > 0 and h > 0:
f['stretched_ratio'] = ratio ratio = float(stretched_m.group('w')) / float(stretched_m.group('h'))
for f in formats:
if f.get('vcodec') != 'none':
f['stretched_ratio'] = ratio
self._sort_formats(formats) self._sort_formats(formats)