diff options
author | Lukáš Lalinský <lukas@oxygene.sk> | 2015-11-28 01:07:07 +0100 |
---|---|---|
committer | Lukáš Lalinský <lukas@oxygene.sk> | 2015-11-28 01:07:07 +0100 |
commit | 313dfc45f500db3acc348d58f431197ce7c153a3 (patch) | |
tree | 32e907f4d4f4cc02c4cc29f108fbf688d76f0ef3 | |
parent | 78a55d7a28662a65cba36c48eb69ecc4b150b336 (diff) | |
download | youtube-dl-313dfc45f500db3acc348d58f431197ce7c153a3.tar.xz |
[youtube] Ignore yt:stretch with zero width/height
-rw-r--r-- | youtube_dl/extractor/youtube.py | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/youtube_dl/extractor/youtube.py b/youtube_dl/extractor/youtube.py index cfe9eed55..726b5ba0a 100644 --- a/youtube_dl/extractor/youtube.py +++ b/youtube_dl/extractor/youtube.py @@ -714,6 +714,22 @@ class YoutubeIE(YoutubeBaseInfoExtractor): 'url': 'https://www.youtube.com/watch?v=Ms7iBXnlUO8', '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): @@ -1496,10 +1512,13 @@ class YoutubeIE(YoutubeBaseInfoExtractor): r'<meta\s+property="og:video:tag".*?content="yt:stretch=(?P<w>[0-9]+):(?P<h>[0-9]+)">', video_webpage) if stretched_m: - ratio = float(stretched_m.group('w')) / float(stretched_m.group('h')) - for f in formats: - if f.get('vcodec') != 'none': - f['stretched_ratio'] = ratio + w = float(stretched_m.group('w')) + h = float(stretched_m.group('h')) + if w > 0 and h > 0: + 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) |