实现了懒加载urls

This commit is contained in:
ivan 2017-02-15 17:43:17 +08:00
parent f2532b1a94
commit 200cbba6c8

View File

@ -180,8 +180,14 @@ class QQ(VideoExtractor):
# url_prefix = urlparse(url_prefix)._replace(netloc='vmind.qqvideo.tc.qq.com').geturl() # fast # url_prefix = urlparse(url_prefix)._replace(netloc='vmind.qqvideo.tc.qq.com').geturl() # fast
fi = video_json['fl']['fi'] # streams fi = video_json['fl']['fi'] # streams
self.streams = {} self.streams = {}
def lazy_urls(fid):
for idx in range(1, vi0['cl']['fc']+1):
yield '{prefix}/{vid}.p{format1000}.{idx}.mp4?vkey={vkey}'.format(prefix=url_prefix, vid=vid, format1000=fid%1000, idx=idx, vkey=self._getvkey(vid, fid, idx))
for f in fi: for f in fi:
urls = ['{prefix}/{vid}.p{format1000}.{idx}.mp4?vkey={vkey}'.format(prefix=url_prefix, vid=vid, format1000=f['id']%1000, idx=idx, vkey=self._getvkey(vid, f['id'], idx)) for idx in range(1, vi0['cl']['fc']+1)]
# urls = ['{prefix}/{vid}.p{format1000}.{idx}.mp4?vkey={vkey}'.format(prefix=url_prefix, vid=vid, format1000=f['id']%1000, idx=idx, vkey=self._getvkey(vid, f['id'], idx)) for idx in range(1, vi0['cl']['fc']+1)]
# print(vi0['ul']['ui']) # print(vi0['ul']['ui'])
# vkey = self._getvkey(vid, f['id'], 1) # vkey = self._getvkey(vid, f['id'], 1)
@ -193,7 +199,7 @@ class QQ(VideoExtractor):
'video_profile': f['cname'], 'video_profile': f['cname'],
'size': f['fs'], 'size': f['fs'],
'container': 'mp4', 'container': 'mp4',
'src': urls, 'src': lazy_urls(f['id']),
} }