Compare commits

..

No commits in common. "4a93df504302701c7025b1d2b9e3462d684d8415" and "2d2a73b9989fcfe25f54413e04e536e5b9bc7cce" have entirely different histories.

View File

@ -47,20 +47,25 @@ class BilibiliBaseIE(InfoExtractor):
for r in traverse_obj(play_info, ('support_formats', lambda _, v: v['quality']))
}
audios = traverse_obj(play_info, ('dash', (None, 'dolby'), 'audio', ..., {dict}))
audios = traverse_obj(play_info, ('dash', 'audio', ...))
flac_audio = traverse_obj(play_info, ('dash', 'flac', 'audio'))
if flac_audio:
audios.append(flac_audio)
# dolby audio (if exists)
audios.extend(traverse_obj(play_info, ('dash', 'dolby', 'audio', ...)))
formats = [{
'url': traverse_obj(audio, 'baseUrl', 'base_url', 'url'),
'ext': mimetype2ext(traverse_obj(audio, 'mimeType', 'mime_type')),
'acodec': traverse_obj(audio, ('codecs', {str.lower})),
'acodec': (audio.get('codecs') or '').lower() or None,
'vcodec': 'none',
'tbr': float_or_none(audio.get('bandwidth'), scale=1000),
'filesize': int_or_none(audio.get('size')),
'format_id': str_or_none(audio.get('id')),
} for audio in audios]
# ref: https://github.com/SocialSisterYi/bilibili-API-collect/blob/92b30f354ab21b97fe52357161fd04e2ca687c97/docs/video/videostream_url.md
id_to_dr = {126: 'DV', 125: 'HDR10'}.get
formats.extend({
'url': traverse_obj(video, 'baseUrl', 'base_url', 'url'),
'ext': mimetype2ext(traverse_obj(video, 'mimeType', 'mime_type')),
@ -69,7 +74,7 @@ class BilibiliBaseIE(InfoExtractor):
'height': int_or_none(video.get('height')),
'vcodec': video.get('codecs'),
'acodec': 'none' if audios else None,
'dynamic_range': {126: 'DV', 125: 'HDR10'}.get(int_or_none(video.get('id'))),
'dynamic_range': id_to_dr(video.get('id')) or 'SDR',
'tbr': float_or_none(video.get('bandwidth'), scale=1000),
'filesize': int_or_none(video.get('size')),
'quality': int_or_none(video.get('id')),