未验证 提交 a3b15279 编写于 作者: L lcjh 提交者: GitHub

fix bilibili

update xml-url to get all format of video
上级 b28d78f7
......@@ -28,7 +28,8 @@ class Bilibili(VideoExtractor):
live_room_init_api_url = 'https://api.live.bilibili.com/room/v1/Room/room_init?id={}'
live_room_info_api_url = 'https://api.live.bilibili.com/room/v1/Room/get_info?room_id={}'
SEC1 = '1c15888dc316e05a15fdd0a02ed6584f'
#SEC1 = '1c15888dc316e05a15fdd0a02ed6584f'
SEC1 = '94aba54af9065f71de72f5508f1cd42e'
SEC2 = '9b288147e5474dd2aa67085f716c560d'
stream_types = [
{'id': 'hdflv'},
......@@ -44,7 +45,7 @@ class Bilibili(VideoExtractor):
@staticmethod
def bilibili_stream_type(urls):
url = urls[0]
if 'hd.flv' in url or '-112.flv' in url:
if 'hd.flv' in url or '-80.flv' in url:
return 'hdflv', 'flv'
if '-64.flv' in url:
return 'flv720', 'flv'
......@@ -59,7 +60,8 @@ class Bilibili(VideoExtractor):
def api_req(self, cid, quality, bangumi, bangumi_movie=False, **kwargs):
ts = str(int(time.time()))
if not bangumi:
params_str = 'cid={}&player=1&quality={}&ts={}'.format(cid, quality, ts)
#params_str = 'cid={}&player=1&quality={}&ts={}'.format(cid, quality, ts)
params_str = 'appkey=84956560bc028eb7&cid={}&otype=xml&qn={}&quality={}&type='.format(cid, quality, quality)
chksum = hashlib.md5(bytes(params_str+self.SEC1, 'utf8')).hexdigest()
api_url = self.api_url + params_str + '&sign=' + chksum
else:
......@@ -97,7 +99,7 @@ class Bilibili(VideoExtractor):
quality = 'hdflv' if bangumi else 'flv'
info_only = kwargs.get('info_only')
for qlt in range(4, -1, -1):
for qlt in [116,112,80,74,64,32,16,15]:
api_xml = self.api_req(cid, qlt, bangumi, **kwargs)
self.parse_bili_xml(api_xml)
if not info_only or stream_id:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册