mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-11-12 18:31:25 +01:00
Compare commits
No commits in common. "4a93df504302701c7025b1d2b9e3462d684d8415" and "2d2a73b9989fcfe25f54413e04e536e5b9bc7cce" have entirely different histories.
4a93df5043
...
2d2a73b998
|
@ -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')),
|
||||
|
|
Loading…
Reference in New Issue
Block a user