Skip to content

Commit

Permalink
[ie/bilibili] Fix HD formats extraction (#11734)
Browse files Browse the repository at this point in the history
Fixes dc16876

Closes #10554
Authored by: grqz
  • Loading branch information
grqz authored Dec 4, 2024
1 parent 2e49c78 commit fca3eb5
Showing 1 changed file with 7 additions and 6 deletions.
13 changes: 7 additions & 6 deletions yt_dlp/extractor/bilibili.py
Original file line number Diff line number Diff line change
Expand Up @@ -681,12 +681,6 @@ def _real_extract(self, url):
old_video_id = format_field(aid, None, f'%s_part{part_id or 1}')
cid = traverse_obj(video_data, ('pages', part_id - 1, 'cid')) if part_id else video_data.get('cid')

play_info = (
traverse_obj(
self._search_json(r'window\.__playinfo__\s*=', webpage, 'play info', video_id, default=None),
('data', {dict}))
or self._download_playinfo(video_id, cid, headers=headers, query={'try_look': 1}))

festival_info = {}
if is_festival:
festival_info = traverse_obj(initial_state, {
Expand Down Expand Up @@ -724,6 +718,13 @@ def _real_extract(self, url):
duration=traverse_obj(initial_state, ('videoData', 'duration', {int_or_none})),
__post_extractor=self.extract_comments(aid))

play_info = None
if self.is_logged_in:
play_info = traverse_obj(
self._search_json(r'window\.__playinfo__\s*=', webpage, 'play info', video_id, default=None),
('data', {dict}))
if not play_info:
play_info = self._download_playinfo(video_id, cid, headers=headers, query={'try_look': 1})
formats = self.extract_formats(play_info)

if video_data.get('is_upower_exclusive'):
Expand Down

0 comments on commit fca3eb5

Please sign in to comment.