From 3acbec98cedcfecd6631f50f0f6f6fdffd265f0c Mon Sep 17 00:00:00 2001 From: lcjh <120989324@qq.com> Date: Wed, 20 Feb 2019 13:45:29 +0100 Subject: [PATCH] [bilibili] cache DASH audio size --- src/you_get/extractors/bilibili.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/you_get/extractors/bilibili.py b/src/you_get/extractors/bilibili.py index e926a07..a256421 100644 --- a/src/you_get/extractors/bilibili.py +++ b/src/you_get/extractors/bilibili.py @@ -235,6 +235,7 @@ class Bilibili(VideoExtractor): # DASH formats if 'dash' in playinfo['data']: + audio_size_cache = {} for video in playinfo['data']['dash']['video']: # prefer the latter codecs! s = self.stream_qualities[video['id']] @@ -251,7 +252,9 @@ class Bilibili(VideoExtractor): if int(audio['id']) == audio_quality: audio_baseurl = audio['baseUrl'] break - size += url_size(audio_baseurl, headers=self.bilibili_headers(referer=self.url)) + if not audio_size_cache.get(audio_quality, False): + audio_size_cache[audio_quality] = url_size(audio_baseurl, headers=self.bilibili_headers(referer=self.url)) + size += audio_size_cache[audio_quality] self.dash_streams[format_id] = {'container': container, 'quality': desc, 'src': [[baseurl], [audio_baseurl]], 'size': size} -- GitLab