aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClosedPort22 <44864697+ClosedPort22@users.noreply.github.com>2023-09-21 17:45:18 +0000
committerGitHub <noreply@github.com>2023-09-21 17:45:18 +0000
commitb84fda7388dd20d38921e23b469147f3957c1812 (patch)
tree3085fda7e6427c6ecff5ab68368e8b211e327c14
parent5fccabac27ca3c1165ade1b0df6fbadc24258dc2 (diff)
[ie/bilibili] Extract Dolby audio formats (#8142)
Closes #4050 Authored by: ClosedPort22
-rw-r--r--yt_dlp/extractor/bilibili.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/yt_dlp/extractor/bilibili.py b/yt_dlp/extractor/bilibili.py
index 5e7042dbb..9119f396b 100644
--- a/yt_dlp/extractor/bilibili.py
+++ b/yt_dlp/extractor/bilibili.py
@@ -49,14 +49,14 @@ class BilibiliBaseIE(InfoExtractor):
for r in traverse_obj(play_info, ('support_formats', lambda _, v: v['quality']))
}
- audios = traverse_obj(play_info, ('dash', 'audio', ...))
+ audios = traverse_obj(play_info, ('dash', (None, 'dolby'), 'audio', ..., {dict}))
flac_audio = traverse_obj(play_info, ('dash', 'flac', 'audio'))
if flac_audio:
audios.append(flac_audio)
formats = [{
'url': traverse_obj(audio, 'baseUrl', 'base_url', 'url'),
'ext': mimetype2ext(traverse_obj(audio, 'mimeType', 'mime_type')),
- 'acodec': audio.get('codecs'),
+ 'acodec': traverse_obj(audio, ('codecs', {str.lower})),
'vcodec': 'none',
'tbr': float_or_none(audio.get('bandwidth'), scale=1000),
'filesize': int_or_none(audio.get('size')),
@@ -71,6 +71,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'))),
'tbr': float_or_none(video.get('bandwidth'), scale=1000),
'filesize': int_or_none(video.get('size')),
'quality': int_or_none(video.get('id')),